Autenticación SMTP con Exim4 en Debian
Esta página describe cómo configurar Exim4 para actuar de servidor SMTP con autenticación SASL, con TLS o SSL. Esta configuración sirve solo a quienes tienen un servidor con FQDN que recibe correo electrónico.
Contents
Instalación
Instala los paquetes sasl2-bin y libsasl2-modules,
# apt-get install sasl2-bin libsasl2-modules
Edita /etc/default/saslauthd y modifica la variable START a,
START=yes
Reinicia el servidor de autenticación SASL,
# /etc/init.d/saslauthd restart
Edita /etc/exim4/conf.d/main/03_exim4-config_tlsoptions y agrega la línea,
MAIN_TLS_ENABLE = 1
al inicio del archivo,
### main/03_exim4-config_tlsoptions ################################# # TLS/SSL configuration. # See /usr/share/doc/exim4-base/README.Debian.gz for explanations. MAIN_TLS_ENABLE = 1
Edita /etc/exim4/conf.d/auth/30_exim4-config_examples y descomenta la sección login_saslauthd_server,
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}{}{}{*}}
# .endifGenera un certificado de seguridad, por ejemplo,
# /usr/share/doc/exim4-base/examples/exim-gencert Country Code (2 letters) [US]:CL State or Province Name (full name) []:. Locality Name (eg, city) []:Mi cuidad Organization Name (eg, company; recommended) []:Mi organizacion Organizational Unit Name (eg, section) []:Mi unidad Server name (eg. ssl.domain.tld; required!!!) []:smtp.servidor.debian Email Address []:postmaster@servidor.debian
Los archivos exim.crt y exim.key son guardados en /etc/exim4/. El certificado es válido por tres años.
Agrega el usuario Debian-exim al grupo sasl,
# addgroup Debian-exim sasl
Actualiza la configuración de Exim,
# update-exim4.conf
y reinicia exim4,
# /etc/init.d/exim4 restart
Certificados de validez más larga
Si deseas cambiar el tiempo de validez del certificado, edita /usr/share/doc/exim4-base/examples/exim-gencert y modifica la variable DAYS, por ejemplo,
DAYS=3652
(diez años). Genera nuevamente el certificado y reinicia exim4.
Probar conexiones SMTP
Prueba una conexión SMTP (puerto 25),
$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 servidor.debian ESMTP Exim 4.63 Tue, 01 May 2007 14:51:23 -0400
Escribe "EHLO ftp.cl.debian.org",
EHLO ftp.cl.debian.org 250-ftp.cl.debian.org Hello root at localhost [127.0.0.1] 250-SIZE 52428800 250-PIPELINING 250-AUTH LOGIN 250-STARTTLS 250 HELP
Las líneas,
250-AUTH LOGIN 250-STARTTLS
indican que la autenticación SMTP con TLS está funcionando.
Autenticación con SSL (SSMTP)
El protocolo TLS es superior a SSL, pero tiene la desventaja de usar el puerto SMTP (25) para negociar la autenticacion. Muchos ISP bloquean justamente el puerto 25 saliente para evitar el envío de SPAM por números IP dinámicos asignados internamente. Por eso sucede que clientes de un ISP no pueden establecer una conexión SMTP con un servidor externo, aun usando autenticación, y se ven obligados a usar el servidor SMTP del ISP. Sin embargo, los ISP raramente bloquean el puerto 465 correspondiente a SMTP con SSL (SSMTP). Por eso puede ser ventajoso manejar la autenticacion por el puerto 465.
Primero, instala la versión pesada de Exim4,
# apt-get install exim4-daemon-heavy
El paquete exim4-daemon-light será removido. La versión pesada es necesaria porque es la versión compilada con soporte SSL.
Edita /etc/exim4/conf.d/main/03_exim4-config_tlsoptions y agrega la línea,
tls_on_connect_ports = 465
justo después de habilitar TLS,
# TLS/SSL configuration. MAIN_TLS_ENABLE = 1 tls_on_connect_ports = 465
Edita /etc/default/exim4 y modifica,
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'
Actualiza la configuración de Exim,
# update-exim4.conf
y reinicia exim4,
# /etc/init.d/exim4 restart
Usando el servidor SMTP desde clientes de correo electrónico
Clientes de correo electrónico, como Evolution, Thunderbird, Icedove o Outlook (Windows) se configuran tal que el servidor saliente requiera autenticación con TLS (puerto 25) o SSL (puerto 465). Por ejemplo,
Icedove
Evolution