Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Configuración de Dovecot con soporte SSL/TLS.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2016 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste, se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.

Introducción.

Este documento requiere la lectura y comprensión previa del documento titulado «Configuración básica de Sendmail».

Acerca de Dovecot.

Dovecot es un servidor de POP3 e IMAP, de código fuente abierto, que funciona en Linux y sistemas basados sobre Unix™ y diseñado con la seguridad como principal objetivo. Dovecot puede utilizar tanto el formato mbox como maildir y es compatible con las implementaciones de los servidores UW-IMAP y Courier IMAP.

Dovecot es una excelente y ligera solución de fácil administración. La configuración básica descrita en este documento sólo es apropiada para servidores que serán accedido sólo a través de POP3, con menos de 100 usuarios, o bien aacceder a través de IMAP hacia buzones de menos de 50 MB y baja a mediana carga de trabajo. Si el servidor de correo electrónico será accedido a través de POP3 e IMAP, tendrá una elevada carga de trabajo, más de 100 usuarios y si planea utilizar buzones de correo electrónico de más de 50 MB, por favor prefiera utilizar Cyrus IMAP. Si así fuese el caso, por favor consulte el documento titulado «Configuración de Cyrus IMAP y Sendmail con soporte SSL/TLS».

URL: http://dovecot.org/.

Procedimientos.

Elimine los certificados de prueba:

rm -f /etc/pki/dovecot/certs/dovecot.pem \
/etc/pki/dovecot/private/dovecot.pem

Durante los procedimientos del documento titulado «Introducción a los protocolos de correo electrónico» debió haberse creado el archivo /etc/pki/tls/certs/sendmail.pem. Copie con los mismos atributos el archivo /etc/pki/tls/certs/sendmail.pem como los archivos /etc/pki/dovecot/certs/dovecot.pem y /etc/pki/dovecot/private/dovecot.pem:

cp -a /etc/pki/tls/certs/sendmail.pem \
 /etc/pki/dovecot/certs/dovecot.pem

cp -a /etc/pki/tls/certs/sendmail.pem \
 /etc/pki/dovecot/private/dovecot.pem

Configuración de Dovecot en CentOS 6 y Red Hat Enterprise Linux 6.

CentOS 6 y Red Hat Enterprise Linux 6 utilizan la versión 2.0 de Dovecot y por lo cual cambia radicalmente la configuración respecto de la versión 1.0.x, utilizada en CentOS 5 y Red Hat Enterprise Linux 5.

De modo predeterminado Dovecot sólo permite autenticar utilizando contraseñas en texto simple sin SSL/TLS sólo desde el anfitrión local. La autenticación de usuarios desde anfitriones remotos sólo se permite a través de SSL/TLS. Si requiere permitir la autenticación de usuarios sin SSL/TLS —algo poco prudente en servidores en producción, pero perfecto para realizar pruebas simples de autenticación— edite el archivo /etc/dovecot/conf.d/10-auth.conf:

vi /etc/dovecot/conf.d/10-auth.conf

Localice la opción disable_plaintext_auth:

##
## Authentication processes
##

# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes

Si está plenamente consciente de las consecuencias que pueden repercutir en la seguridad del servidor, elimine la almohadilla y cambie el valor yes por el valor no:

##
## Authentication processes
##

# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
disable_plaintext_auth = no

Se recomienda dejar la opción disable_plaintext_auth con la opción yes a fin de obligar a los usuarios a autenticar sólo a través de conexiones seguras con SSL/TLS.

Edite el archivo /etc/dovecot/dovecot.conf:

vim /etc/dovecot/dovecot.conf

Habilite la opción protocols estableciendo como valores pop3 imap lmtp:

# Protocols we want to be serving.
protocols = imap pop3 lmtp

Edite el archivo /etc/dovecot/conf.d/10-mail.conf:

vim /etc/dovecot/conf.d/10-mail.conf

Alrededor de la línea 30 del archivo /etc/dovecot/conf.d/10-mail.conf, establezca mbox:~/mail:INBOX=/var/mail/%u como valor de la opción mail_location.

# See doc/wiki/Variables.txt for full list. Some examples:
#
#   mail_location = maildir:~/Maildir
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# <doc/wiki/MailLocation.txt>
#
mail_location = mbox:~/mail:INBOX=/var/mail/%u

En este mismo archivo, alrededor de la línea 115, localice la opción mail_privileged_group, descomente ésta y defina como valor el grupo mail:

# Group to enable temporarily for privileged operations. Currently this is
# used only with INBOX when either its initial creation or dotlocking fails.
# Typically this is set to "mail" to give access to /var/mail.
mail_privileged_group = mail

Alrededor de la línea 122 del archivo /etc/dovecot/conf.d/10-mail.conf, localice la opción mail_access_groups, habilite ésta y defina también como valor el grupo mail:

# Grant access to these supplementary groups for mail processes. Typically
# these are used to set up access to shared mailboxes. Note that it may be
# dangerous to set these if users can create symlinks (e.g. if "mail" group is
# set here, ln -s /var/mail ~/mail/var could allow a user to delete others'
# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).
mail_access_groups = mail

Se requiere que los usuarios locales pertenezcan al grupo mail para que lo anterior represente un problema de seguridad.

Edite el archivo /etc/dovecot/conf.d/10-ssl.conf:

vim /etc/dovecot/conf.d/10-ssl.conf

Verifique que estén habilitadas las siguientes líneas resaltadas:

# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = yes

# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

A fin de que surtan efecto los cambios, es necesario reinicie el servicio dovecot.

service dovecot restart

Configuración de Dovecot en CentOS 5 y Red Hat Enterprise Linux 5.

Edite el archivo /etc/dovecot.conf:

vim /etc/dovecot.conf

Verifique que estén establecidos como valores imap imaps pop3 pop3s en la opción protocols.

protocols = imap imaps pop3 pop3s

De modo predeterminado, el soporte SSL de Dovecot está activo. Verifique que la opción ssl_disable tenga el valor no o bien sólo esté comentado.

#ssl_disable = no

Busque y verifique que sean correctas las rutas del certificado y firma digital especificados en las opciones ssl_cert_file y ssl_key_file:

ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem

Para iniciar por primera vez el servicio dovecot, ejecute lo siguiente:

service dovecot start

Si el servicio dovecot ya estaba en ejecución, para poder aplicar cualquier cambio posterior a la configuración, ejecute lo siguiente:

service dovecot restart

Agregue el servicio dovecot al arranque del sistema ejecutando lo siguiente:

chkconfig dovecot on

Comprobaciones.

Ejecute todo lo siguiente para verificar el soporte SSL/TLS, estableciendo conexiones SSL y TLS hacia los puertos 110, 995, 143 y 993:

openssl s_client -connect 127.0.0.1:993
openssl s_client -connect 127.0.0.1:995
openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3
openssl s_client -crlf -connect 127.0.0.1:143 -starttls imap

La salida de todo lo anterior será muy extensa, mostrando la información de los certificados utilizados.

Realice los ejemplos de conexiones para POP3 e IMAP descritos en el documento titulado Introducción a los protocolos de correo electrónico para verificar el funcionamiento a través de SSL/TLS.

Si lo prefiere, utilice cualquier cliente de correo electrónico con soporte para SSL, TLS o STARTTLS y configure éste para conectarse hacia el sistema a través de IMAPS (puerto 993) o bien POP3S (puerto 995). Tras aceptar el certificado del servidor, el sistema deberá permitir autenticar, con nombre de usuario y clave de acceso y realizar la lectura del correo electrónico.

Modificaciones necesarias en el muro cortafuegos.

Como medida de seguridad, siempre abra los puertos del cortafuegos sólo hasta después de finalizar la configuración del servidor de correo electrónico y que sólo hasta que haya comprobado las configuraciones.

Se requiere haber abierto previamente los puertos 25 (smtp), 465 (smtps) y 587 (submission) utilizados por Sendmail y que debieron haber sido configurados siguiendo los procedimientos del documento titulado «Configuración básica de Sendmail».

Para el funcionamiento normal de un servicio de correo electrónico estándar, es necesario abrir también los puertos 110 (pop3), 143 (imap), 993 (imaps) y 995 (pop3s), todos por TCP.

Servicio iptables.

Puede utilizar iptables, ejecutando lo siguiente:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT

Ejecute lo siguiente para guardar los cambios:

service iptables save

O bien añada lo siguiente al archivo /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT

Reinicie el servicio para aplicar los cambios:

service iptables restart

Shorewall.

Edite el archivo /etc/shorewall/rules:

vi /etc/shorewall/rules

Las reglas corresponderían a algo similar a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	all	fw	tcp	25,465,587
ACCEPT	all	fw	tcp	110,143,993,995

Reinicie el servicio para aplicar los cambios:

service shorewall restart

Configuración de cliente de correo electrónico.

Configuración de GNOME Evolution.

Para GNOME Evolution la configuración de IMAP o POP3 se realiza seleccionando el tipo de servidor, definiendo el nombre del servidor utilizado para crear el certificado, nombre de usuario y usar encriptación segura TLS.

Configuración IMAP, en GNOME Evolution.
Configuración IMAP, en GNOME Evolution.

Se hace lo mismo para la configuración de SMTP (utilizar conexión segura TLS), pero considerando además que también se puede utilizar el puerto 587 (submission) en caso de que el proveedor de acceso a Internet del cliente haya restringido el uso del puerto 25 (smtp).

Configuración SMTP, GNOME Evolution.
Configuración SMTP, GNOME Evolution.

Configuración Mozilla Thunderbird.

Para Mozilla Thunderbird se define el nombre del servidor utilizado para crear el certificado, usuario y usar conexión segura TLS.

Configuración IMAP, Mozilla Thunderbird.
Configuración IMAP, Mozilla Thunderbird.

Se hace lo mismo para la configuración de SMTP (utilizar conexión segura TLS), pero considerando además que también se puede utilizar el puerto 587 (submission) en caso de que el proveedor de acceso a Internet del cliente haya restringido el uso del puerto 25 (smtp).

Configuración SMTP, Mozilla Thunderbird.
Configuración SMTP, Mozilla Thunderbird.

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 22/07/2016, 14:20|Hits: 54,620 Ver la versión para imprimir