SMTP Auth con TLS, POP3, IMAP con TLS a través de mensajería de exim4 en Debian 5.0 (Lenny)
Creado por Solip el 16 de 03 2010
Como una versión más grande para la creación de Exim4 para utilizar SMTP-AUTH y TLS, aquí hay una guía sobre cómo instalar la base en la autenticación SMTP Exim4 con TLS y el acceso al buzón a través de POP3 o IMAP (ambos también con TLS) puede ser establecida.
Por lo tanto compatible con los siguientes protocolos: SMTP, ssmtp con la autenticación, POP3, POP3S, imap2, IMAPS.
Exim4 como el agente por defecto de transporte de correo (MTA) de Debian viene en dos versiones: ligeros y pesados. La variante en exceso puede extenderse también por más de la entrega de correo sólo local. En primer lugar pudo haber utilizado el paquete de peso semipesado de exim4 de la versión que ser reemplazado. Esto es posible en cualquier momento sin cambios en la configuración.
aptitude install exim4-daemon-heavy
Luego de instalar algunos paquetes para el total de la instalación se requieren.
aptitude install courier-authdaemon courier-imap courier-imap-ssl courier-pop courier-pop-ssl swaks libnet-ssleay-perl ssl-cert
El proceso de autenticación con esta configuración se parece a esto: Conexión -> exim4 -> Correo -> Sistema (PAM). Los usuarios son los usuarios locales, y por consiguiente, mantienen los recursos, tales como / / etc / passwd, / etc grupo y / etc sombra /.
Así que los futuros usuarios también tienen una estructura de carpetas para el correo electrónico, creamos un conjunto de nuevas cuentas de usuario. maildirmake creó la estructura en / etc / skel.
maildirmake /etc/skel/Maildir
Los usuarios existentes sin estructura de la carpeta para el correo electrónico puede recuperar la carpeta se añade:
maildirmake ~/Maildir
Se recomienda que el usuario que las clasifique en grupos. Por ejemplo, los usuarios de correo electrónico, los usuarios con shell válido .. la orden debe hacerse antes de que uno invierte una gran cantidad de usuarios. Este ejemplo se supone que nuestro grupo de empresas "Solip" para este fin. Todos los usuarios que no tienen acceso a una consola, pero una caja de la oficina de correos.
groupadd solip
useradd -g solip -s /bin/false -d /home/demouser demouser
Los usuarios también pueden todavía más tarde en cualquier momento con el comando usermod para cambiar.
Para la configuración de Courier no necesita ser cambiado. Sin embargo, es necesario un cambio en el certificado de IMAPS y POP3S:
rm -rf /etc/courier/*.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/imapd.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/pop3d.pem
Opcionalmente, si la autenticación no funciona más tarde, aún no se ha realizado el cambio siguiente:
chmod 755 /var/run/courier/authdaemon
Ahora comprobamos si los servicios se ejecutan:
netstat -utal | egrep -e 'pop|imap'
La salida debería tener este aspecto:
tcp6 0 0 [::]:imaps [::]:* LISTEN
tcp6 0 0 [::]:pop3s [::]:* LISTEN
tcp6 0 0 [::]:pop3 [::]:* LISTEN
tcp6 0 0 [::]:imap2 [::]:* LISTEN
Ahora se comprueba el servidor IMAP, incluyendo un inicio de sesión interactivo:
telnet localhost imap2
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
AB LOGIN "root" "CHANGE"
AB OK LOGIN Ok.
BC SELECT "Inbox"
* FLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
* 190 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1205133440] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
BC OK [READ-WRITE] Ok
ZZZZ LOGOUT
* BYE Courier-IMAP server shutting down
ZZZZ OK LOGOUT completed
Connection closed by foreign host.
Ahora a exim4. Generamos un certificado X.509 para el cifrado. Exim4 tiene su propia herramienta para éste y otros pasajes en las instrucciones.
bash /usr/share/doc/exim4-base/examples/exim-gencert
Éstos se generan en el certificado y la clave / etc/exim4.
Ahora la configuración de Exim4 para TLS se va a adaptar. Por lo tanto, incluyen la gema. Documentación, escriba:
2.1.3. Using Exim Macros to control the configuration" and "2.2.2. Enabling TLS support for Exim as server" from /usr/share/doc/exim4-base/README.Debian.gz, you should create a file with name /etc/exim4/conf.d/main/000_localmacros (split configuration) or /etc/exim4/exim4.conf.localmacros (non-split configuration), and insert lines as following:
#####################################################
### main/03_exim4-config_tlsoptions
#####################################################
MAIN_TLS_ENABLE = true
tls_on_connect_ports = 465
También puede ser determinado aún en el mismo lugar si SMTP-AUTH debe estar encriptada o no. Norma también se ha aprobado en el claro.
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}
Sólo permite conexiones cifradas SMTP-AUTH de usar.
Como nos gustaría que nos cifrado Exim4 SMTP en el puerto 465 para el estándar proporciona, también editar el archivo / etc/default/exim4 de la siguiente manera:
# options for daemon listening on port 25
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'
Ahora tienen en la sección de authenticators mirar la configuración de Exim4 PLAIN y LOGIN de la siguiente manera. Ajuste o reemplace es posible aquí.
plain_courier_authdaemon:
driver = plaintext
public_name = PLAIN
server_condition = \
${extract {ADDRESS} \
{${readsocket{/var/run/courier/authdaemon/socket} \
{AUTH ${strlen:exim\nlogin\n$auth2\n$auth3\n}\nexim\nlogin\n$auth2\n$auth3\n} }} \
{yes} \
fail}
server_set_id = $auth2
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
: Login_courier_authdaemon
driver = texto
public_name = LOG
server_prompts Usuario Contraseña ::: = ::
server_condition = \
$ {{Extracto de dirección} \
{{{$ Zócalo de lectura / var / run / courier / authdaemon / hembra} \
{{AUTH $ strlen: exim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n} \ nexim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n}}} \
{Sí} \
no}
server_set_id = $ AUTH1
. Ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = $ {if eq {} {} {} {$ tls_cipher *}}
. Endif
Si es necesario. Exim4 es configurar todavía. Esto puede, en cualquier momento usando dpkg-reconfigure exim4-config se puede realizar. Los puntos clave son:
- Dividir la configuración en archivos más pequeños: No
- Sistema de nombre de correo: Igual que en el certificado y en la configuración del sistema
- Método de entrega para el correo local: formato Maildir en el directorio home
Ahora comprobamos si el servicio SMTP se ejecuta como se desee.
netstat -utal | egrep -e 'smtp|ssmtp'
El resultado debe ser algo como esto:
tcp 0 0 *:ssmtp *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 [::]:ssmtp [::]:* LISTEN
tcp6 0 0 [::]:smtp [::]:* LISTEN
Ahora usted puede tratar de un tiempo para enviar un e-mail y también una externa a una dirección:
echo "test" | mail -s "test" root
echo "test" | mail -s "test" test@domain.de
El le dice a Exim4 log / var/log/exim4/mainlog usted que todo está funcionando correctamente.
Ahora comprobamos si TLS está activo:
swaks -a -tls -q HELO -s localhost -au root -ap '<>'
Y si utiliza la autenticación de TLS es también (por favor, introduzca la contraseña):
swaks -a -tls -q AUTH -s localhost -au root
Ahora, aún con Exim4 /etc/init.d/exim4 restart para reiniciar y comprobar los registros y la función.
Archivado bajo Debian GNU / Linux | No Comments »



