Sondeo

Si ya probaste GNOME 3...

¿Te gustó GNOME 3?

  •  Si
  •  No
Este sondeo tiene 5 preguntas más.
Resultados
Más sondeos | 1,789 votos | 7 comentarios
Atención: 20 al 24 de febrero, Curso Global de Servidores con CentOS 6.
Atención: 21 y 28 de enero, 4 y 11 de febrero, Taller de programación de Python.
Atención: Disponible ALDOS 1.4.2. Nuestro sistema operativo para escritorio.

Cómo configurar Sendmail y 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-2011 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 DSA.

DSA (Digital Signature Algorithm o Algoritmo de Firma digital) es un algoritmo creado por el NIST (National Institute of Standards and Technology o Instituto Nacional de Normas y Tecnología de EE.UU.), publicado el 30 de agosto de 1991, como propuesta para el proceso de firmas digitales. Se utiliza para firmar información, más no para cifrar ésta.

URL: http://es.wikipedia.org/wiki/DSA

Acerca de RSA.

RSA, acrónimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para el ciframiento de claves públicas que fue publicado en 1977, patentado en EE.UU. en 1983 por el el Instituto Tecnológico de Michigan (MIT). RSA es utilizado ampliamente en todo el mundo para los protocolos destinados para el comercio electrónico.

URL: http://es.wikipedia.org/wiki/RSA

Acerca de X.509.

X.509 es un estándar ITU-T (estandarización de Telecomunicaciones de la International Telecommunication Union ) para infraestructura de claves públicas (PKI, o Public Key Infrastructure). Entre otras cosas, establece los estándares para certificados de claves públicas y un algoritmo para validación de ruta de certificación. Este último se encarga de verificar que la ruta de un certificado sea válida bajo una infraestructura de clave pública determinada. Es decir, desde el certificado inicial, pasando por certificados intermedios, hasta el certificado de confianza emitido por una Autoridad Certificadora (CA, o Certification Authority).

URL: http://es.wikipedia.org/wiki/X.509

Acerca de OpenSSL.

OpenSSL es una implementación libre, de código abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro) y TLS (Transport Layer Security, o Seguridad para Nivel de Transporte). Está basado sobre el extinto proyecto SSLeay, iniciado por Eric Young y Tim Hudson, hasta que éstos comenzaron a trabajar para la división de seguridad de EMC Corporation.

URL: http://www.openssl.org/

Procedimientos.

Todos los procedimientos deben realizarse como el usuario root.

Generando firma digital y certificado.

Acceda al directorio /etc/pki/tls/.

cd /etc/pki/tls/

Los servidores de correo electrónico, como Sendmail y Postfix, pueden utilizar una firma digital creada con algoritmo DSA de 1024 octetos. Para tal fin, se crea primero un archivo de parámetros DSA:

openssl dsaparam 1024 -out dsa1024.pem

A continuación, se utiliza este archivo de parámetros DSA para crear una llave con algoritmo DSA y estructura x509, así como también el correspondiente certificado. En el mandato de ejemplo mostrado a continuación, se establece una validez por 1095 días (tres años) para el certificado creado.

openssl req -x509 -nodes -newkey dsa:dsa1024.pem -days 1095 -out certs/smtp.crt -keyout private/smtp.key

Lo anterior solicitará se ingresen varios datos:

  • Código de dos letras para el país.
  • Estado o provincia.
  • Ciudad.
  • Nombre de la empresa o razón social.
  • Unidad o sección.
  • Nombre del anfitrión.
  • Dirección de correo.

La salida debe devolver algo similar a lo siguiente:

Generating a 1024 bit DSA private key
writing new private key to 'smtp.key'
-----
You are about to be asked to enter information that will be
incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:MX
State or Province Name (full name) [Berkshire]:Distrito Federal
Locality Name (eg, city) [Newbury]:Mexico
Organization Name (eg, company) [My Company Ltd]:Empresa, S.A. de C.V.
Organizational Unit Name (eg, section) []:Direccion Comercial
Common Name (eg, your name or your server's hostname) []:*.dominio.com
Email Address []:webmaster@dominio.com

Si definió un nombre de anfitrión absoluto (ejemplo: mail.dominio.com), el certificado sólo será válido cuando el servidor de correo electrónico sea invocado con el nombre definido en el campo Common Name. Es decir, sólo podrá utilizarlo cuando se defina mail.dominio.com como servidor SMTP con soporte TLS desde el cliente de correo electrónico. Funcionará incorrectamente si se invoca al servidor como, por mencionar un ejemplo, dominio.com. Es por eso que se sugiere utilizar *.dominio.com si se planea acceder hacia el mismo servidor con diferentes subdominios del mismo dominio.

Al terminar, ya no será necesario conservar el archivo dsa1024.pem, mismo que puede eliminarse con plena seguridad.

rm -f dsa1024.pem

Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de sólo lectura para el usuario root:

chmod 400 certs/smtp.crt private/smtp.key

Cambie al directorio /etc/pki/dovecot/.

cd /etc/pki/dovecot/

Elimine los certificados de prueba creados durante la instalación.

rm -f private/dovecot.pem certs/dovecot.pem

La creación de la firma digital y certificado para Dovecot es más simple, pero requiere utilizar una clave con algoritmo RSA de 1024 octetos, con estructura X.509. En el ejemplo a continuación, se establece una validez por 1095 días (tres años) para el certificado creado.

openssl req -x509 -nodes -newkey rsa:1024 -days 1095 -out certs/dovecot.pem -keyout private/dovecot.pem

De forma similar a como ocurrió con el certificado para el servidor correo electrónico, lo anterior solicitará se ingresen varios datos.

La salida devuelta debe similar a la siguiente:

Generating a 1024 bit RSA private key
................++++++
.++++++
writing new private key to 'dovecot.pem'
-----
You are about to be asked to enter information that will be
incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:MX
State or Province Name (full name) [Berkshire]:Distrito Federal
Locality Name (eg, city) [Newbury]:Mexico
Organization Name (eg, company) [My Company Ltd]:Empresa, S.A. de C.V.
Organizational Unit Name (eg, section) []:Direccion Comercial
Common Name (eg, your name or your server's hostname) []: *.dominio.com
Email Address []:webmaster@dominio.com

Nuevamente, si definió un nombre de anfitrión absoluto (ejemplo: mail.dominio.com), el certificado sólo será válido cuando el servidor de correo electrónico sea invocado con el nombre definido en el campo Common Name. Es decir, sólo podrá utilizarlo cuando se defina mail.dominio.com como servidor POP3 o IMAP con soporte TLS desde el cliente de correo electrónico. Funcionará incorrectamente si se invoca al servidor como, por mencionar un ejemplo, dominio.com. Es por eso que se sugiere utilizar *.dominio.com si se planea acceder hacia el mismo servidor con diferentes subdominios del mismo dominio.

A fin de facilitar a los clientes de correo electrónico el poder gestionar una futura actualización de certificado, conviene añadir una huella distintiva indubitable (fingerprint) al certificado.

openssl x509 -subject -fingerprint -noout -in certs/dovecot.pem

Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de sólo lectura para el usuario root:

chmod 400 private/dovecot.pem certs/dovecot.pem

Regrese al directorio de inicio del usuario root.

cd

Configuración de Sendmail.

Parámetros de /etc/mail/sendmail.mc.

Es necesario configurar los siguiente parámetros en el archivo

/etc/mail/sendmail.mc a fin de que Sendmail utilice la clave y certificado recién creados:

define(`confCACERT_PATH',`/etc/pki/tls/certs')dnl
define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT',`/etc/pki/tls/certs/smtp.crt')dnl
define(`confSERVER_KEY',`/etc/pki/tls/private/smtp.key')dnl

El acceso cifrado con TLS es opcional si se realizan conexiones a través del puerto 25, y obligatorio si se hacen a través del puerto 465. El puerto 587 (submission), puede ser también utilizado para envío de correo electrónico. Por estándar se utiliza como puerto alternativo en los casos donde un cortafuegos impide a los usuarios acceder hacia servidores de correo trabajando por puerto 25. MS Outlook Express carece de soporte para usar TLS a través del puerto 587, pero el resto de los clientes de correo electrónico con soporte TLS si lo tienen.

A fin de habilitar el puerto 465 (smtps), a través de TCP, se debe descomentar la línea que contiene DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl, como se muestra a continuación, resaltado en negrita:

dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or redirected find
dnl # this useful.
dnl #
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 loopback
dnl # device. Remove the loopback address restriction listen to the network.

A fin de que surtan efecto los cambios, es necesario reiniciar el servicio sendmail.

service sendmail restart

Comprobación.

Realice una conexión con el mandato nc (netcat), o bien el mandato telnet, al puerto 25 del sistema. Ingrese el mandato EHLO con el dominio configurado. La salida deberá devolver, entre todas las funciones del servidor, una línea que indica STARTTLS. La salida puede ser similar a la siguiente:

nc 127.0.0.1 25
220 dominio.com ESMTP Sendmail ; Sat, 19 Jun 2010 18:18:02 -0500
ehlo dominio.com
250-dominio.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
QUIT

Para salir, sólo escriba QUIT y pulse la tecla ENTER.

Al realizar la configuración del cliente de correo electrónico, deberá especificarse conexión por TLS. Tras aceptar el certificado, deberá ser posible autenticar, con nombre de usuario y clave de acceso, y enviar correo electrónico.

Configuración de Dovecot.

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.

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

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

Descomente las siguientes líneas resaltadas en negrita:

# 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 reiniciar 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

Asegúrese que el parámetro protocols estén establecidos como valores: imap imaps pop3 pop3s.

protocols = imap imaps pop3 pop3s

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

#ssl_disable = no

Y se especifican las rutas del certificado y clave a través de los parámetros ssl_cert_file y ssl_key_file, del siguiente modo:

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

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

service dovecot restart

Comprobaciones.

Utilice cualquier cliente de correo electrónico con soporte para TLS 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.

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.

Última Edición 10/11/2011, 13:02|21,052 Accesos Ver la versión para imprimir