Seguridad en redes de
comunicaciones
Instalacin de una pasarela segura con
Debian Sarge
Francisco JosØ Calvo FernÆndez
[email protected]
Versin 0.2.1
(c) Glomedia Consulting
2
˝ndice general
I Pasarela de correo con Postx
1. Instalacin del servidor de correo
. . . .
. . . .
. . . .
. . . .
. . . .
1.1. Conguraciones previas .
. . .
1.2. Paquetes . .
1.3. TLS . . . .
. . .
. . . .
. . . .
. . . .
1.3.1. Creacin de los certicados
. .
1.3.2. Conguracin de Postx . . . .
. . . .
1.3.3. Uso del canal seguro . .
. . . .
1.4. Autenticacin con SASL . . . .
. . . .
. . . .
1.4.1. Pruebas . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
2. Integracin con Clamav
Instalacin de Clamav . .
. . . .
2.1.
Instalacin de Amavis-new . . .
2.2.
2.3. Conguracin de Postx . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3. El Spam
3.1. Sistema bÆsico de ltrado . . . .
3.1.1. Pasos a seguir . .
. . . .
3.1.2. Filtrado por asunto . . .
3.1.3. Filtrado por contenido .
. . . .
. . . .
3.2. Apache SpamAssassin .
3.3. Prueba del sistema
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. . .
. . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
4. Sistema de entrega segura
4.1.
4.2.
4.3.
. . . .
Instalacin y conguracin bÆsica . . .
. . . .
. . .
IMAP seguro mediante Cyrus IMAP . .
. . .
4.1.1.
4.1.2. Conexin con Postx . .
. . .
4.1.3. Conguracin de los buzones de correo . . .
. . .
4.1.4. Prueba
. . . .
Instalacin segura de Apache . .
. . .
. . .
. . . .
Instalacin del webmail .
4.3.1. Sistema base . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3
4
4
4
6
6
7
8
8
11
12
12
13
14
16
16
16
16
17
17
18
20
20
20
23
25
26
27
28
28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
˝NDICEGENERAL
II Proxy seguro con Squid
5. Squid
5.1.
5.2.
Instalacin de Squid . . .
. . . .
Instalacin de SquidClamAV . .
2
30
31
31
32
. . . .
. . . .
. . . .
. . . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
.
.
Parte I
Pasarela de correo con Postx
3
Captulo 1
Instalacin del servidor de
correo
1.1. Conguraciones previas
Es muy recomendable crear un usuario que reciba los avisos que genere el sistema
de correo:
adduser acorreo
1.2. Paquetes
Para realizar una instalacin bÆsica de Postx en Debian GNU/Linux Sarge hemos
de instalar los siguientes paquetes:
apt-get install postfix postfix-doc postfix-pcre mime-codecs
Reconguramos el sistema:
dpkg-reconfigure postfix
Podremos responder con las siguientes respuestas:
1. En primer lugar se nos pregunta por el tipo de servicio que deseamos ofrecer, si
somos un servidor que aceptarÆ correo de internet, hemos de seleccionar Internet
Site:
General type of configuration? Internet Site
2. Los correos que llegan al superusuario deberan de estar redirigidos a otro usuario
sin mÆs privilegios, Østo se congura mediante los alias que localizamos en
/etc/aliases, no obstante, se nos preguntarÆ por ello, redirigimos al usuario antes
creado.
4
CAP˝TULO1. INSTALACINDELSERVIDORDECORREO
5
Where should mail for root go? acorreo
3. El paso siguiente nos preguntarÆ por el Mail name, se trata del dominio que
gurarÆ tras el usuario y la clÆsica arroba (@).
Mail name? glomedia.net
4. A continuacin se nos pregunta por la lista de dominios que el servidor consid-
erarÆ como suyos, y en los que por tanto, atenderÆ el correo entrante. Los hosts
han de estar separados por comas.
Other destinations to accept mail for? glomedia.net,
gmfcentral.glomedia.net, localhost.glomedia.net, localhost
5. Se nos preguntarÆ si deseamos trabajar en modo sncrono, en este modo el proce-
sado del correo es mÆs lento, pero ofrece la garanta de que no se perderÆn datos
si el servidor muere de forma repentina (por ejemplo, un corte de luz). No ob-
stante, si utiliza un sistema de archivos tipo Journaling (ext3, reiserfs, xfs, jfs...)
en su Linux, esta tarea es redundante y no necesaria.
Force synchronous updates on mail queue? No
6. A continuacin se nos pregunta por las redes en las que el servidor de correo
podrÆ realizar relay, œnicamente hemos de introducir la red loopack:
Local networks? 127.0.0.0/8
Tenga en cuenta que si desea utilizar Postx como servidor de correo saliente
desde otras mÆquinas, serÆ necesario dar permiso a la red desde donde se desea
enviar el correo, tambiØn puede jar una simple direccin IP. Si desea jar mÆs de
una IP o direccin de red puede introducirlas separadas por espacios en blanco.
7. Se nos pregunta por el lmite de los buzones de los usuarios, si seleccionamos 0
no existirÆ lmite.
Mailbox size limit? 0
8. El œltimo paso nos pregunta por el carÆcter que dene una extensin a las direc-
ciones locales, lo dejamos tal cual por defecto.
Local address extension character? +
Toda la conguracin se almacena en cheros de texto que se encuentran en el di-
rectorio /etc/postx, resaltando main.cf y master.cf, en cualquier momento podremos
abrirlos (cuando aæada las lneas al archivo /etc/postx/master.cf, asegœrese de que al
nal de las lneas no existan espacios en blanco) y personalizarlos a nuestro gusto o
volver a lanzar el asistente.
Ahora podremos instalar algœn cliente de correo y probar si nuestro Postx fun-
ciona de forma correcta. Si desea enviar directamente usando Telnet:
CAP˝TULO1. INSTALACINDELSERVIDORDECORREO
6
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is ’^]’.
220 gmfcentral.glomedia.net ESMTP Postfix (gmfcentral.glomedia.net)
HELO localhost
250 gmfcentral.glomedia.net
MAIL FROM: <
[email protected]>
250 Ok
RCPT TO: <
[email protected]>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Este es un mensaje de pruebas enviado a traves de telnet.
.
250 Ok: queued as 5F496BEE9
QUIT
221 Bye
Connection closed by foreign host.
Es muy recomendable probar la secuencia anterior desde otras mÆquinas no autorizadas
y ver la respuesta del sistema.
1.3. TLS
Para poder cifrar el canal de comunicaciones se va a utilizar TLS, Postx no lo im-
plementa directamente sino va OpenSSL, lo primero que por tanto, hemos de realizar
es la instalacin de dicho paquete:
apt-get install openssl
Posteriormente hemos de instalar el mdulo que permite trabajar con TLS a Postx:
apt-get install postfix-tls
Ya lo tenemos todo listo para securizar nuestro canal SMTP.
1.3.1. Creacin de los certicados
Posteriormente hemos de generar los certicados, en este caso rmados por nosotros
mismos, mÆs que nada para ahorrar dinero (si desea obtener certicados gratuitos,
puede ir a http://www.cacert.org). Los pasos para generar el certifado consisten en:
Crear la autoridad certicadora:
/usr/lib/ssl/misc/CA.pl -newca
CAP˝TULO1. INSTALACINDELSERVIDORDECORREO
7
Respondemos a las cuestiones de forma adecuada (recomendamos no dejar en
blanco ningœn campo), por defecto, el certicado de la autoridad certicadora se
guarda en un directorio llamado demoCA dentro del directorio donde ejecutemos
el comando y se denomina cacert.pem.
Realizar la peticin de un certicado, responda a las preguntas y no aæada una
contraseæa al certicado para que el servidor no se quede bloqueado esperÆndola
al iniciarse:
/usr/lib/ssl/misc/CA.pl -newreq-nodes
El chero se generarÆ en el mismo directorio antes mencionado y se llamarÆ
newreq.pem (clave privada).
Firmar el certicado, lo que tambiØn generarÆ la clave pœblica almacenada en
newcert.pem, que se enviarÆ al cliente para establecer la comunicacin segura:
/usr/lib/ssl/misc/CA.pl -sign
Ahora hemos de copiar los tres cheros anteriores al directorio ssl de Postx y ajustar
permisos:
mkdir /etc/postfix/ssl
cp demoCA/cacert.pem /etc/postfix/ssl/
cp newcert.pem /etc/postfix/ssl/
cp newreq.pem /etc/postfix/ssl/
chown root /etc/postfix/ssl/newreq.pem
chmod 400 /etc/postfix/ssl/newreq.pem
1.3.2. Conguracin de Postx
Tan slo es necesario editar el chero /etc/postx/main.cf y agregar las siguientes
lneas, las cuales, como puede observar indican la ruta a los certicados generados:
# Deseamos activar TLS
smtpd_use_tls = yes
# Slo autenticacin va TLS
smtpd_tls_auth_only = yes
# Rutas a los certificados y entidades certificadoras
smtpd_tls_key_file = /etc/postfix/ssl/newreq.pem
smtpd_tls_cert_file = /etc/postfix/ssl/newcert.pem
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
# Nivel de registro, bajar a 1 en produccin
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
# Tiempo de espera para la cachØ de seiones
smtpd_tls_session_cache_timeout = 3600s
# Generador de entropa, para grandes
CAP˝TULO1. INSTALACINDELSERVIDORDECORREO
8
# cargas usar hardware especfico
tls_random_source = dev:/dev/urandom
De este modo restringimos que las autenticac
Comentarios de: Seguridad en redes de comunicaciones - Instalación de una pasarela segura con Debian Sarge (0)
No hay comentarios