Firmar correos con DKIM y exim4

Con DKIM podemos autenticar correos electrónicos para que nuestros correos no sean marcados como spam. La configuración de Exim es send-only (sólo para enviar correos).

Primero reconfiguramos exim4 para poder enviar y recibir correos electrónicos usando SMTP: dpkg-reconfigure exim4-config
En las opciones seleccionamos lo siguiente:

internet site; mail is sent and received directly using SMTP
dominio.com
<blanco>
host.dominio.com;host;localhost.localdomain;localhost
<blanco>
<blanco>
No
mbox format in /var/mail/
Yes

Ahora creamos las claves para firmar los correos:

mkdir -p /etc/exim4/dkim
chown Debian-exim /etc/exim4/dkim/
chmod u=rx,go= /etc/exim4/dkim/
openssl genrsa -out /etc/exim4/dkim/dominio.com.private.key 2048
openssl rsa -in /etc/exim4/dkim/dominio.com.private.key -pubout

El último comando nos dará la clave pública que hay que usar en la configuración DNS de nuestro dominio. Deberemos crear una entrada TXT en nuestro servidor de la siguiente forma:

exim._domainkey TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqG(...recortado...)0N7BNi4CZVkylsqnYuRuuot/N0XQIDAQAB"

No es necesario añadir una entrada MX porque eso sólo es para recibir correos.

El último paso es configurar exim para que use esta configuración: vi /etc/exim4/conf.d/transport/10_exim4-config_transport-macros

DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/exim4/dkim/dominio.com.private.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
DKIM_SELECTOR = exim

Ojo al DKIM_SELECTOR, que debe ser el mismo que hay en la línea de DNS exim._domainkey. Después de esto, reiniciamos el exim: /etc/init.d/exim4 restart

Para comprobar si funciona, mandar un correo a check-auth@verifier.port25.com

Otras formas de comprobar:
http://www.myiptest.com/staticpages/index.php/DomainKeys-DKIM-SPF-Validator-test
http://www.brandonchecketts.com/emailtest.php

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.