Вы находитесь на странице: 1из 25

Introduccin

Se tiene planteado la construccin, configuracin y levantamiento de una red de servicios


integrados para la Coordinacin de Ingeniera en Telecomunicaciones y para la Divisin de
Servicios Sociales que maneje la posibilidad de unir al personal de manera efectiva, orientada a
las comunicaciones conjuntas para mejorar la productividad y ayudar a digitalizar actividades.
Se contempla el uso de servidores que puedan ofrecer de manera efectiva servicios digitales
orientados a las comunicaciones, a la centralizacin de sistemas y al almacenamiento de datos
dentro del espacio delimitado por los servidores que los van a conformar.
En este manual de configuraciones se tratara de explicar la estructura fsica de la red, los
servidores y los servicios que ofrece cada uno. Se expondr la distribucin de los servicios en
los servidores y mas importante aun, una lista de pasos seguidos para el levantamiento de cada
servicio.
Las configuraciones usadas aqu son iniciales y bsicas, dejando libre la posibilidad de mejorar
en mira a la seguridad, eficiencia, alcance y efectividad cada servicio dependiendo de las
necesidades tanto de la intranet para la Coordinacin de Ingeniera en Telecomunicaciones
como para la Divisin de Asuntos Sociales.
Inicialmente voy a exponer lo planteado para la red de servicios, para empezar con la intranet
de la Coordinacin de Ingeniera en Telecomunicaciones, con el cual este manual har
referencia.

Red de Servicios
Para la red de servicios se requiere de servidores que puedan ofrecer conexiones seguras a
travs de consolas remotas, acceso web, acceso a archivos y correo electrnico.
Los servicios ofrecidos son los siguientes teniendo en cuenta que para cada servicio se tendrn
que configurar de uno a mas sistemas:
Servicio Secure Shell
Servicio DHCP
Servicio DNS
Servicio Web y Webmail
Servicio FTP
Servicio Correo Electrnico
Servicio comparticin de datos

SSH
DHCPd
Bind
Apache, Squirrelmail
ProFTPd
Exim, SASL, Spamassassin, Courier
Samba, NFS

Se trabajara en base a direccionamiento IP de clase C; los parmetros sern los siguientes:


IP C class:
Network address:
192.168.0.0
Network mask
255.255.255.0
(24 bits)
Broadcast
192.168.0.255
Valid Hosts
192.168.0.1 192.168.0.254

DHCP range
Static range
Servers range
Gateway address
FQDN intranetwork

192.168.0.1 192.168.0.100
192.168.0.101 192.168.0.240
192.168.0.241 192.168.0.253
192.168.0.254
itel.unefamcy.net

Servidores
Para lograr los objetivos planteados se usaran 2 servidores; uno de comunicaciones, el principal
que marca las pautas de conectividad de los equipos clientes con la red y que adems
contendr los servicios crticos de comunicaciones de la red. Un servidor de datos, secundario
que se encargara en mayor medida para el alojamiento y resguardo de archivos y respaldos.
Los servidores son efectivos mientras mas sencilla sea su interfaz, ligero el arranque del nucleo,
estable los paquetes de software y mejor manejo de los recursos del hardware. Una vez
configurado el acceso remoto no necesitara monitor, teclado o mouse.
Una seleccin acertada es el uso de sistemas operativos especializados en redes de datos, que
sea libre, sencillo y amigable pero a la vez estable, robusto y confiable; una excelente seleccin
un sistema que este basado en UNIX system V. Un sistema libre como GNU/Linux, del cual se
toma en consideracin la distribucin Debian; el cual junto con Slackware y RedHat han
demostrado ser los sistemas mas estables y confiables para la construccin de servidores
fiables para trabajos pesados y de seguridad.
De la distro seleccionada, Debian GNU/Linux se decide utilizar la versin 5.0 Lenny la cual a
probado ser muy ligera adems de estable y amigable para los servidores contemplados para
este proyecto.
Se establecen los parmetros de configuracin para los servidores de la intranet de la
Coordinacin de Ingeniera en Telecomunicaciones como se pueden apreciar a continuacion:
Servidor de comunicaciones:
IP address
Services

comm
comm.itel.unefamcy.net
192.168.0.253/24
SSH, DHCP, DNS, HTTP, HTTPS, FTP, SMTP, IMAP

Servidor de datos:
IP address
Services

data
data.itel.unefamcy.net
192.168.0.252/24
SMB, NFS, FTP

Administracin del sistema


Para efectos administrativos del sistema desde la consola inicial del servidor se trabajara con el
superusuario o root. El superusuario es la mayor jerarqua en todo sistema basado en UNIX
system V. Esto quiere decir que el trabajo de consola realizado bajo el superusuario es
realmente delicada y se requiere que el usuario que lo use sepa realmente lo que esta haciendo.

El prompt de usuario del superusuario se diferencia de un usuario normal en que se presenta


con el smbolo del numeral:
comm:~# _
Un segundo usuario administrativo pero de menor jerarqua fue creado durante la instalacin del
sistema operativo por mi, a mi criterio, y ese usuario es iadmin (de intranet administrator). Es el
usuario con el cual se lograra acceso remoto a traves del ssh y que cuenta con privilegios
heredados por medio del servicio sudo (superuser do), para lo cual debe ser previamente
configurado (este tema se tratara en la instalacin de herramientas bsicas). El prompt del
usuario -y de cualquier usuario que no sea root- se diferencia de root en que se presenta con el
smbolo del dolar:
iadmin@comm:~$ _
Como ya lo he mencionado, el acceso remoto se realiza con el usuario iadmin para tareas
administrativas como indico a continuacin:
lmolina@hostlocal:~$ ssh iadmin@comm
iadmin@comm's password:
Linux comm 2.6.26-2-686 #1 SMP Sun Mar 4 22:19:19 UTC 2012 i686

Last login: Sun Jan 25 10:44:22 2015 from 192.168.0.4


iadmin@comm:~$ _
Desde este usuario se puede, una vez ingresado en el host remoto, convertirse en superusuario:
iadmin@comm:~$ su
Contrasea:
comm:/home/iadmin#
Mientras el usuario iadmin pertenezca al grupo sudo, se le permite emular al superusuario al
ejecutar aplicaciones y comandos estratgicos:
iadmin@comm:~$ sudo bash
comm:/home/iadmin#

iadmin@comm:~$ sudo apt-get install -y mc zip unzip ssh


iadmin@comm:~$ sudo nano /etc/apt
/sources.list
iadmin@comm:~$ sudo /sbin/halt

El primer comando carga el prompt de superusuario ejecutando el bash (bourne again shell) con
privilegios de root. El siguiente manda a instalar con apt-get los paquetes mc, zip, unzip y ssh.
Con el tercero manda a editar el archivo de configuracion de bases de datos de repositorios del
sistema. Y con el ultimo se manda a apagar el sistema. Todo esto como si se tratara del root
quien llamara estos comandos.
Con ssh tambin se puede trasladar archivos de un host al server por medio de scp (secure
copy) tal como se indica a continuacin:
lmolina@hostlocal:~$ scp jan2015.tar.gz iadmin@comm:/home/iadmin/temp
iadmin@comm's password:
jan2015.tar.gz

100%

753

0.7KB/s

00:00

lmolina@hostlocal:~$ _
Ahora cuando se manejan archivos comprimidos para la elaboracion de respaldos, lo mas
recomendable es usar el comando tar para comprimir:
iadmin@comm:~$ tar czvf jan2015.tar.gz backup/*
Y para descomprimir:
iadmin@comm:~$ tar xzvf jan2015.tar.gz

Instalacin de Herramientas Bsicas


Para poder trabajar con fluidez a travs del prompt (consola), se requiere que cada sistema
este previamente configurado para realizar tareas de instalacin de paquetes de software:
Para la edicin de archivos de texto se usara el editor nano, el cual ya se encuentra instalado
por defecto con el sistema base:
comm:~# nano /etc/motd
Con este ejemplo comando estoy editando el archivo motd contenido en /etc.
Todos los archivos de configuracin de servicios instalados en el sistema se encuentran en el
directorio /etc. Todo servicio a configurar tiene su base en este directorio. Para todo
administrador y configurador, /etc es el directorio mas importante del sistema.
Para la visualizacin de directorios y sus contenidos utilizo como herramienta comn el midnight
commander o mc, una aplicacin que me permite de una manera visual examinar directorios tal
como lo hacia el clasico Norton Commander de los 80's, y se instala como:
comm:~# apt-get install mc
comm:~# mc /etc/apt
Con esto estoy iniciando la interfaz de mc en el directorio /etc/apt.

Una herramienta que se instalara entre las primeras es el sudo (superuser do):
comm:~# apt-get install sudo
Verificamos con el editor nano la siguiente linea en el archivo /etc/sudoers:
comm:~# nano /etc/sudoers
%sudo

ALL=NOPASSWD: ALL

Y se agrega al usuario iadmin al grupo sudo:


comm:~# adduser iadmin sudo
En resumen, una vez configurado los repositorios, la primera instalacion despues de haber
obtenido el sistema base instalado, son los siguientes:
comm:~# apt-get install -y mc zip unzip sudo ssh

Instalacin de Servicios (Daemons)


Una vez instaladas las herramientas iniciales, se procede a instalar y configurar los servicios
necesarios para cada servidor. Empezaremos con el servidor de comunicaciones comm
(comm.itel.unefamcy.net)

comm.itel.unefamcy.net:
Servicio Secure Shell (ssh):
Se instala el servicio ssh con la herramienta apt:
comm:~# apt-get install ssh
Una vez instalado se procede a limitar el acceso al root editando el archivo de configuracin del
servicio con el editor nano:
comm:~# nano /etc/ssh/sshd-config
Y se configura el acceso al root como sigue:
PermitRootLogin no
Listo se sale guardando los cambios con ctrl+X y se reinicia el servicio:
/etc/init.d/ssh restart

Servicio DHCP (dhcp3-server):


Se instala el servicio dhcp3-server:

comm:~# apt-get install dhcp3-server


Se establecen las interfaces de red al cual el servicio alquilara direcciones IP:
comm:~# nano /etc/default/dhcp3-server
Y en el parmetro INTERFACES se coloca la NIC conectada a la intranet:
INTERFACES=eth0
Se reinicia el servicio:
/etc/init.d/dhcp3-server restart
De aqu se procede a configurar el servicio editando el archivo de configuracin:
comm:~# nano /etc/dhcp3/dhcpd.conf
Los parmetros del archivo dhcpd.conf son los siguientes:
ddns-update-style none;
option domain-name "itel.unefamcy.net";
option domain-name-servers comm.itel.unefamcy.net;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.100;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
}
Guarda y sale con ctrl+X y reiniciamos el servicio nuevamente para dar fin a la configuracin del
servicio:
/etc/init.d/dhcp3-server restart

Servicio DNS (bind9):


Se instala el servicio bind9 con apt:
comm:~# apt-get install bind9
Una vez terminada la instalacin, nos movemos al directorio base del bind y se procede a
realizar una copia de las bases de datos existentes de las zonas de recursos principales y

reversos para tener una base desde la cual empezar a trabajar:


comm:~# cd /etc/bind/
comm:~# cp db.local db.itel.unefamcy.net
comm:~# cp db.127 db.192
Una vez realizadas las copias de las zonas principal y reverso de nuestro dominio se procede a
editar cada archivo de recursos comenzando con:
comm:~# nano db.itel.unefamcy.net
Para la zona de recursos directa o principal cuyo contenido es el siguiente:
$TTL 86400
@
IN

;
@
@
comm
intratel
webmail
data

SOA

itel.unefamcy.net. root.itel.unefamcy.net. (
1
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
86400 )
; Negative Cache TTL

IN
NS
IN
A
IN
A
IN MX 10
IN
A
IN
A
IN
A

comm.
192.168.0.253
192.168.0.253
comm.
192.168.0.253
192.168.0.253
192.168.0.252

Seguidamente con la zona reversa de nuestro dominio:


comm:~# nano db.192
Cuyo contenido debe ser el siguiente:
$TTL 604800
@

IN

SOA

itel.unefamcy.net. root.itel.unefamcy.net. (
1
604800
86400
2419200
604800 )

;
@

IN

NS

comm.

; Serial
; Refresh
; Retry
; Expire
; Negative Cache TTL

253

IN

PTR

comm.

253

IN

PTR

intratel.

253

IN

PTR

webmail.

252

IN

PTR

data.

Seguidamente se asignan las zonas creadas atribuyendo los nobres de cada base de datos a
tal fin en named.conf.local:
comm:~# nano named.conf.local
Cuyo contenido se debe definir dependiendo de los archivos creados:
zone "itel.unefamcy.net" {
type master;
file "/etc/bind/db.itel.unefamcy.net";
allow-transfer { none; };
allow-query { any; };
};

zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
allow-transfer { none; };
allow-query { any; };
};
Seguidamente se configuran las opciones generales del servicio:
comm:~# nano named.conf.options
Donde se definen los siguientes parmetros:
options {
directory "/var/cache/bind";
forwarders {
200.44.32.12;

};

auth-nxdomain no;
listen-on-v6 { any; };
};

Una vez realizados los cambios se finaliza la tarea reiniciando el servicio:


/etc/init.d/bind9 restart

Servicio FTP (proftpd):


Se instala el servicio proftpd con apt:
comm:~# apt-get install proftpd
Y se edita el archivo de configuracin del servicio ubicado en /etc/proftpd/:
comm:~# nano /etc/proftpd/proftpd.conf
Cuyo contenido para el comm debe ser limitado por la autenticacin del usuario intratel para el
acceso al contenedor del sitio web de intratel:
Include /etc/proftpd/modules.conf

IdentLookups

off

ServerName

"comm"

ServerType

standalone

DeferWelcome

off

MultilineRFC2228

on

DefaultServer

on

ShowSymlinks

on

UseIPv6

off

TimeoutNoTransfer

600

TimeoutStalled

600

TimeoutIdle

1200

DisplayLogin

welcome.msg

DisplayChdir

.message true

ListOptions

"-l"

DenyFilter

\*.*/

Port

21

MaxInstances

30

MaxClients

10

MaxClientsPerHost

MaxClientsPerUser

AuthUserFile

"/etc/passwd"

AuthGroupFile

"/etc/group"

DefaultRoot

RequireValidShell

off

User

proftpd

Group

nogroup

Umask

022

AllowOverwrite

on

022

TransferLog

/var/log/proftpd/xferlog

SystemLog

/var/log/proftpd/proftpd.log

<IfModule mod_tls.c>
TLSEngine

off

</IfModule>

<IfModule mod_quotatab.c>
QuotaEngine

on

</IfModule>

<IfModule mod_ratio.c>
Ratios

on

</IfModule>

<IfModule mod_delay.c>
DelayEngine

on

</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine

off

ControlsMaxClients

ControlsLog

/var/log/proftpd/controls.log

ControlsInterval

ControlsSocket

/var/run/proftpd/proftpd.sock

</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine

off

</IfModule>

<Directory /*>
Umask

022

AllowOverwrite

on

AllowRetrieveRestart

on

AllowStoreRestart

on

022

<Limit READ>
AllowAll
</Limit>

<Limit WRITE>
AllowAll
</Limit>

<Limit STOR>
AllowAll
</Limit>
</Directory>

Terminado de editar la configuracin, se guarda y se reinicia el servicio finalizando la


configuracion del servicio:
/etc/init.d/proftpd restart

Hay que tener en cuenta que el servicio FTP esta directamente enlazado a las labores
del servicio web, lo que lo hace necesario en funcin al contenido que pueda alojar el
servidor web.

Servicio web (apache2):


Se instala el servicio apache2 junto con el paquete php5 con apt:
comm:~# apt-get install apache2 php5
Una vez instalado el servicio nos posicionamos en el directorio base de los sitios ejemplos
disponibles del apache y copiamos el que se necesita para establecer una base desde donde
se creara un nuevo sitio:
comm:~# cd /etc/apache2/sites-available
comm:~# cp default intratel
Se edita el nuevo archivo creado:
comm:~# nano intratel
Cuyo contenido debe depender del directorio casa en donde se va a alojar el nuevo sitio web,
en este caso en /home/intratel/:
<VirtualHost *:80>
ServerName intratel.itel.unefamcy.net
ServerAdmin webmaster@itel.unefamcy.net

DocumentRoot /home/intratel/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/intratel/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/access.log combined


ServerSignature On

</VirtualHost>
Una vez terminada la edicion y guardado el archivo, nos movemos al directorio hermano de
sitios activos:
comm:~# cd ../sites-enabled
Y se procede a crear el enlace simblico que apunta al archivo de configuracin del sitio recin
creado borrando cualquier enlace que exista anterior al que se va a configurar:
comm:~# ln -s ../sites-available/intratel intratel
comm:~# rm 000-*
Se aade el registro intratel en la base de datos principal del DNS en db.inet.unefamcy.net:
intratel

IN

192.168.0.253

Y en la base de datos de reversos del DNS en db.192:


253

IN

PTR

intratel.

Se reinicia el servicio bind y se procede a aadir un usuario que coincida con el directorio casa
del sitio recien creado; /home/intratel:
comm:~# adduser intratel
Se aaden los datos, contrasea y se procede a agregar al usuario al grupo www-data:
comm:~# adduser intratel www-data
Se elimina todo el contenido del directorio casa de intratel:
comm:~# rm -r /home/intratel/*
Se deshabilita la propiedad de inicio de sesion para el usuario intratel de manera que el
directorio casa de intratel sea solo un contenedor accesible solo por ftp o sftp:
comm:~# usermod -s /bin/false intratel

Una vez llegado hasta aqui se prueba el acceso desde un cliente ftp (yo uso gFTP) contra el
servidor usando el usuario intratel y su contrasea para entrar al contenedor y alojar un archivo
de prueba creado como index.html (en /home/intratel/) que podra contener:
<html>
<head>
<title>Intratel</title>
</head>
<body>
<h1>Pagina de prueba de intratel</h1>
<p>La pagina y el sitio se encuentran en construccion</p>
</body>
</html>
Alojado el archivo de prueba se reinicia el servicio de apache:
/etc/init.d/apache2 restart
Y por ultimo se prueba la carga de la pagina web recin alojada en el servidor desde cualquier
navegador web al alcance (Internet Explorer, Firefox, Iceweasel, Cunaguaro, Chrome, Opera,
etc) de manera que al llamar a intratel, se pueda ver algo parecido a esto:
http://intratel

Pagina de prueba de Intratel

La pagina y el sitio se encuentran en construccion

Servicio SMTP o de correo electrnico (exim4+saslauthd+spamassassin+courier-imap)


Se reemplaza el servicio ligero de exim4 instalado por defecto por una versin mas completa
del mismo:
comm:~# apt-get install exim4-daemon-heavy
Instalado el servicio reemplazante se edita el archivo principal de configuracin del servicio
ubicado en /etc/exim4/ por lo que es recomendable movernos hacia el directorio base del
mismo:
comm:~# cd /etc/exim4
comm:~# nano update-exim4.conf.conf
El contenido del mismo debe ser como se observa a continuacin:
dc_eximconfig_configtype='internet'
dc_other_hostnames='comm.itel.unefamcy.net;itel.unefamcy.net'
dc_local_interfaces='192.168.0.253;127.0.0.1'
dc_readhost=''

dc_relay_domains='itel.unefamcy.net'
dc_minimaldns='false'
dc_relay_nets='192.168.0.0/24;127.0.0.1'
dc_smarthost='itel.unefamcy.net'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
Sin reiniciar el servicio aun, se procede a instalar el sistema de autenticacin segura sasl con el
servicio saslauthd:
comm:~# apt-get install sasl2-bin libsasl2-modules
Se configura el arranque automtico del servicio:
comm:~# nano /etc/default/saslauthd
Y se configura la siguiente linea:
START=yes
Se reinicia el servicio saslauthd:
/etc/init.d/saslauthd restart
Y volvemos a la configuracin de exim4, pero esta vez de los archivos contenidos en
/etc/exim4/conf.d/ y asumiendo que seguimos posicionados en /etc/exim4/:
comm:~# nano conf.d/main/03_exim4-config_tlsoptions
Donde se aade lo siguiente casi al principio del archivo:
# TLS/SSL configuration for exim as an SMTP server.
# See /usr/share/doc/exim4-base/README.Debian.gz for explanations.

MAIN_TLS_ENABLE = 1

.ifdef MAIN_TLS_ENABLE
Luego se edita el siguiente archivo:

comm:~# nano conf.d/auth/30_exim4-config_examples


Donde se descomentan las lineas en la seccin login_saslauthd_server tal como se muestra a
continuacin:
login_saslauthd_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
# don't send system passwords over unencrypted connections
server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
server_set_id = $auth1
#

.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS

server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}

.endif

Ahora se genera un certificado de seguridad con lo que quedan creados exim.crt y exim.key
alojados en /etc/exim4/:
comm:~# /usr/share/doc/exim4-base/examples/exim-gencert
Country Code (2 letters) [US]:VE
State or Province Name (full name) []:Aragua
Locality Name (eg, city) []:Maracay
Organization Name (eg, company; recommended) []:UNEFA
Organizational Unit Name (eg, section) []:Coordinacion de Telecom
Server name (eg. ssl.domain.tld; required!) []:comm.itel.unefamcy.net
Email Address []:postmaster@itel.unefamcy.net
Se agrega al usuario Debian-exim al grupo sasl:
comm:~# addgroup Debian-exim sasl
Se reinicia el servicio de correo:
comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Se puede realizar una prueba de conexin smtp por telnet con el prompt del usuario iadmin:
iadmin@comm:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 comm.inet.unefamcy.net ESMTP Exim 4.69 Tue, 05 Jan 2015 11:42:31

-0430
EHLO comm.inet.unefamcy.net
250-comm.inet.unefamcy.net Hello iadmin at localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-AUTH LOGIN
250-STARTTLS
250 HELP
Se puede notar que al escribir EHLO comm.inet.unefamcy.net se obtiene una respuesta donde
las lineas 250-AUTH LOGIN y 250-STARTTLS indican que la autenticacin smtp con TLS esta
funcionando.
Ahora se aade la configuracin que permita el bloqueo de DNS con listas negras:
comm:~# nano conf.d/acl/30_exim4-config_check_rcpt
Se aade las siguientes listas justo despus de aceptar mensajes autenticados:
# Accept if the message arrived over an authenticated connection,
# from any host. Again, these messages are usually from MUAs, so
# recipient verification is omitted,and submission mode is set. And
# again, we do this
check before any black list tests.
accept
authenticated = *
control = submission/sender_retain

# DNS Whitelist
accept
domains = +local_domains
# whitelist only medium and high trust levels
dnslists = list.dnswl.org&0.0.0.2
logwrite = $sender_host_address is whitelisted

# DNS blacklist
drop

log_message = match DNS Block List


dnslists = zen.spamhaus.org : list.dsbl.org : dnsbl.sorbs.net

Las listas negras usadas aqu son de SpamHaus, Distributed Sender Blackhole (DSBL) y
SORBS, que aunque el equipo no se encuentre en este momento conectado a la red WAN, no
esta de mas dejarlo configurado para evitar futuras sorpresas en caso que en algn momento
se conecten a la internet y no tengan de respaldo una pared de fuego que la proteja. El correo
electrnico rechazado por una lista negra queda registrado en /var/log/exim4/mainlog.
Se reinicia nuevamente el servicio de correo:
comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Ahora se instalan los servicios spamassassin y spamc para aadirlo al servicio de correo
electrnico:
comm:~# apt-get install spamassassin spamc
Se configura el arranque automtico de spamassassin:
comm:~# nano /etc/default/spamassassin
Y se configura la siguiente linea:
ENABLED=1
Se reinicia el servicio spamassassin:
/etc/init.d/spamassassin restart
De vuelta a la configuracin de exim4, con los archivos de /etc/exim4/conf.d/ y asumiendo que
seguimos posicionados en /etc/exim4/:
comm:~# nano conf.d/main/02_exim4-config_options
Se descomenta la siguiente linea en el archivo:
spamd_address=127.0.0.1 783
Seguidamente en la siguiente direccin:
comm:~# nano conf.d/acl/40_exim4-config_check_data
Se aaden las siguientes lineas de contenido:
# Put headers in all messages (no matter if spam or not)
warn

spam = nobody:true
add_header = X-Spam_score: $spam_score ($spam_bar)
add_header = X-Spam-report: $spam_report

# Add second subject line with *SPAM* marker when message is over
# threshold.
warn
spam = nobody
add_header = Subject: ***SPAM (score:$spam_score)*** $h_subject:

Se reinicia nuevamente el servicio de correo:


comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Se instala ahora el servicio courier-imap:
comm:~# apt-get install courier-imap
Se construyen los directorios de almacenamiento de correos, por un lado en el molde que utiliza
el sistema para crear las carpetas de usuarios en /etc/skel/, de este modo cualquier usuario
creado en el sistema a partir de aqui tendra por defecto su carpeta personal de correo Maildir
alojado en su directorio casa:
comm:~# maildirmake /etc/skel/Maildir
Y a travs del inicio de sesin de cada usuario creado antes del momento de instalar courierimap se crea por cada uno el directorio de almacenamiento de correo:
iadmin@comm:~$ maildirmake Maildir
Por ultimo se edita la configuracion del nombre de correo general del sistema:
comm:~# nano /etc/mailname
Se prueba el enlace al maildir creado en cualquier usuario usando telnet contra el puerto imap2
y con AB LOGIN usuario y contrasea se inicia sesion en el servicio:
iadmin@comm:~$ telnet localhost imap2
Trying 127.0.0.1...
Connected to localhost.

Escape character is '^]'.


*
OK
[CAPABILITY
IMAP4rev1
UIDPLUS
CHILDREN
NAMESPACE
THREAD=ORDEREDSUBJECT
THREAD=REFERENCES
SORT
QUOTA
IDLE
ACL
ACL2=UNION] Courier-IMAP ready. Copyright 1998-2008 Double Precision,
Inc. See COPYING for distribution information.
AB LOGIN iadmin intraT3l2015
AB OK LOGIN Ok.
BC SELECT "Inbox"
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\* \Draft \Answered \Flagged \Deleted \Seen)]
Limited
* 54 EXISTS
* 41 RECENT
* OK [UIDVALIDITY 1421558877] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
BC OK [READ-WRITE] Ok
ZZZZ LOGOUT
* BYE Courier-IMAP server shutting down
ZZZZ OK LOGOUT completed
Connection closed by foreign host.
Como se puede notar al ejecutar BC SELECT Inbox podemos ver que con la respuesta BC
OK [READ-WRITE] Ok la lectura y escritura sobre el maildir es en efecto exitosa. Con ZZZZ
LOGOUT se sale del sistema.
Por ultimo se establece de manera que cualquier mensaje saliente a cualquier usuario sera
dirigido al siguiente FQDN:
itel.unefamcy.net
Se reinicia nuevamente el servicio de correo:
comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Se realiza una prueba final del envo y recibo de correo desde la consola:
comm:~# echo texto de prueba del cuerpo del mensaje | mail -s

test iadmin
Con esto se construye un mensaje de texto el cual se direcciona al comando mail cuyo subject
test sera enviado a iadmin. No se especifica el @FQDN al usuario ya que esa funcin le
concierne al mailname previamente configurado. Si se desea ver el movimiento continuo del
servicio se usa el siguiente comando:
comm:~# tail -f /var/log/exim4/mainlog
Con esto la consola queda ocupada mostrado en tiempo real las acciones del servicio de correo
electrnico. Para cerrar el proceso y volver al prompt basta con usar ctrl+C para resolverlo.
Una manera de ver que todo esta funcionando es que las acciones registradas en
/var/log/exim4/mainlog terminen con completed al final o con revisar con la consola el
/home/iadmin/Maildir/cur/ los mensajes de entrada para el usuario iadmin.

Servicio webmail (squirrelmail)


Se instala el paquete squirrelmail desde apt:
comm:~# apt-get install squirrelmail
Se activa el modulo ssl del servicio apache para ofrecer el webmail a travs del https o http
secure por medio del puerto 443.
comm:~# a2enmod ssl
Se reinicia el servicio web de apache:
comm:~# /etc/init.d/apache2 restart
Se genera el certificado ssl para el webmail:
comm:~# openssl req $@ -new -x509 -days 3650 -nodes -out
/etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
De igual manera como se solicitaron los datos para el certificado TLS del exim4 se va
respondiendo para obtener el certificado alojado en /etc/apache2/. Una vez hecho esto nos
situamos en el directorio /etc/apache2/sites-available tal como se hizo anteriormente con la
configuracion inicial del servicio web:
comm:~# cd /etc/apache2/sites-available
Copiamos el archivo ssl por defecto para iniciar desde all la configuracin de squirrelmail:
comm:~# cp ssl-default ssl
comm:~# nano ssl
El contenido de ssl depende de donde se ubiquen el certificado creado
(/etc/apache2/apache.pem) y los archivos web del squirrelmail, tal como se puede apreciar a

continuacin:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName webmail.itel.unefamcy.net
ServerAdmin webmaster@itel.unefamcy.net

DocumentRoot /usr/share/squirrelmail/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /usr/share/squirrelmail/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/ssl_access.log combined

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

<FilesMatch "\.(cgi|shtml|phtml|php)$">

SSLOptions +StdEnvVars
</FilesMatch>

BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

</VirtualHost>
</IfModule>
Cambiamos de posicin al directorio hermano sites-enabled para activar el site:
comm:~# cd ../sites-enabled
Aadimos un enlace simbolico al archivo de configuracion ssl recien creado:
comm:~# ln -s ../sites-available/ssl ssl
Se reinicia el servicio web de apache nuevamente:
comm:~# /etc/init.d/apache2 restart
Se aade el registro webmail en la base de datos principal del DNS en db.inet.unefamcy.net:
webmail

IN

192.168.0.253

Y en la base de datos de reversos del DNS en db.192:


253

IN

PTR

webmail.

Se reinicia el servicio bind y se procede a probar la conexion a traves de cualquier navegador


web al alcance (Internet Explorer, Firefox, Iceweasel, Cunaguaro, Chrome, Opera, etc). Al
llamar a webmail algo parecido a esto debe poder cargarse:
https://webmail

[logo squirrelmail]
Squirrelmail
Usuario:
Contrasea:

Вам также может понравиться