Activación de TLS en Sendmail

TLS permite asegurar el servicio de correo, mediante un cifrado estándar. Esto quiere decir que se reduce el riesgo de que los correos sean interceptados y leídos por personas no autorizadas.

El presente aporte, trata de como implementar TLS en Sendmail bajo CentOS 6.

Lo primero que debemos hacer, es verificar que estén instalado los siguientes paquetes:

cyrus-sasl cyrus-sasl-plain

Levantar el servicio:

[root@mail ~]# service saslauthd start

[root@mail ~]# chkconfig saslauthd on

Luego generamos los certificados necesarios, para ello debemos eliminar el certificado por defecto (si existe) asociado a localhost:

[root@mail ~]#rm -f /etc/pki/tls/certs/sendmail.pem

Luego ejecutamos lo siguiente:

Ir al directorio:

[root@mail ~]# cd /etc/pki/tls/certs/

General los certificados, llenamos los datos. Ver el tema de:  Common Name (eg, your name or your server’s hostname) []:dominio.com


[root@mail certs]# openssl req -new -x509 -nodes -newkey rsa:2048 -days 1825 -out /etc/pki/tls/certs/sendmail.pem -keyout /etc/pki/tls/certs/sendmail.pem

[root@mail certs]# openssl x509 -subject -fingerprint -noout -in /etc/pki/tls/certs/sendmail.pem

[root@mail certs]# chmod 400 sendmail.pem

Editar el archivo saslauthd:

[root@mail certs]# vi /etc/sysconfig/saslauthd

Dejarlo así:

# Directory in which to place saslauthd’s listening socket, pid file, and so
# on. This directory must already exist.
SOCKETDIR=/var/run/saslauthd

# Mechanism to use when checking passwords. Run “saslauthd -v” to get a list
# of which mechanism your installation was compiled with the ablity to use.
MECH=pam

# Options sent to the saslauthd. If the MECH is other than “pam” uncomment the next line.
# DAEMONOPTS=–user saslauth

# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
# for the list of accepted flags.
FLAGS=”-n 2″

Luego editamos en la configuración del sendmail y en la sección de TLS, le dejamos así:

dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl # cd /usr/share/ssl/certs; make sendmail.pem
dnl # Complete usage:
dnl # make -C /usr/share/ssl/certs usage
dnl #
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/sendmail.pem’)dnl
define(`confSERVER_KEY’, `/etc/pki/tls/certs/sendmail.pem’)dnl
define(`confCLIENT_CERT’, `/etc/pki/tls/certs/sendmail.pem’)dnl
define(`confCLIENT_KEY’, `/etc/pki/tls/certs/sendmail.pem’)dnl

Luego ejecutamos el m4:

[root@mail certs]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Reiniciamos el sendmail:

[root@mail certs]# service sendmail restart

Podemos comprobar que esté activado con telnet, ejecutando ehlo, debe salir 250-STARTTLS

[dbadillo@localhost ~]$ telnet dominio.com 587
Trying X.X.X.X…
Connected to dominio.com.
Escape character is ‘^]’.
220 mail.dominio.com ESMTP

ehlo dominio.com
250-mail.dominio.com Hello  (may be forged), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-DELIVERBY
250 HELP

Una vez comprobado lo que nos queda es crear los usuarios y asignar la contraseña, esto lo hacemos:

[root@mail ~]# adduser usuario

[root@mail ~]# passwd usuario

[root@mail ~]# saslpasswd2 usuario

Listo!!!

Lo que queda es en el cliente de correo seleccionar autenticación (TLS acepta cualquier certificado).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Post Navigation