DomainKeys Identified Mail (DKIM) es un sistema de validación de correo electrónico o email diseñado para permitir al sistema receptor corroborar la procedencia y asegurar que el mensaje no ha sido modificado durante la transferencia del mismo.
¿Como añadir una firma DKIM al correo saliente en un servidor Ubuntu con Postfix?
A continuación explicaremos el proceso para instalar y configurar DKIM y SPF en tu servidor Ubuntu con Postfix.
Instalación DKIM
apt-get install opendkim opendkim-tools
Configuración DKIM
Abrimos el archivo de configuración.
sudo nano /etc/opendkim.conf
Agregamos o modificamos las siguientes lineas:
Domain domain.com
KeyFile /etc/postfix/dkim.key
Selector dkimIDmail
SOCKET inet:8891@localhost
Abrimos el archivo OpenDKIM:
sudo nano /etc/default/opendkim
Modificamos el socket por default
SOCKET="inet:8891@localhost"
Abrimos el archivo de configuración de Postfix.
sudo nano /etc/postfix/main.cf
Y agregamos las siguientes lineas:
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Generamos una clave o firma
Utilizamos los valores utilizados anteriormente en el archivo de configuración.
opendkim-genkey -S <selector> -d <domain.com>
Ahora se han creado dos archivos: dkimIDmail.private y dkimIDmail.txt; el archivo “private” sera el que se utilizara para firmar los mensajes de correo salientes.
Movemos este archivo al directorio que hemos especificado (KeyFile) anteriormente en el archivo de configuración.
cp dkimIDmail.private /etc/postfix/dkim.key
Finalmente debemos actualizar nuestro DNS y agregamos un registro TXT.
Para visualizar la clave o firma DKIM generada utilizamos el siguiente comando:
cat dkimIDmail.txt
Y veremos algo similar a esto:
dkimIDmail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSpGS1b3DQEBAQUA4AGNADCBiQKBgQDEq0vmur2yhHzzWrM6Pe+VyBya9omMbqaz+ngfuxfYUtUm9KGUREkllcRo8NTLCx9n8So+ZAtAalyUYsxXfqTvgHGlurcEL71OTv+se8DjY9d7SAKDvi+nJuX2lHHUWjlvNTj78rxiMMgT00FVptlbkonm0kGfq/q+QOfv+RtlwIDAQAB"
Actualizamos nuestro DNS con el valor anterior.
Es decir, usaremos un registro tipo TXT en nuestro DNS y de acuerdo al ejemplo anterior configuraremos dicho registro con el nombre dkimIDmail._domainkey
y con el valor "v=DKIM1; k=rsa; p=MIGfMA..."
.
Una vez terminada la configuración debemos iniciar el servicio DKIM y reiniciar Postfix.
sudo service opendkim start sudo service postfix restart
Probar DKIM
Para comprobar que los correos están siendo firmados correctamente existen varios métodos.
- Enviamos un correo a alguna cuenta de gmail y verificamos el encabezado y el mensaje original.
- Podemos también hacer una verificación por correo electrónico con Port25.
Configurar un registro SPF
De manera complementaria a DKIM podemos configurar un registro de tipo TXT en nuestro DNS para identificar los servidores de correo autorizados para enviar mensajes de correo a nombre de nuestro dominio.
* Ya no se recomienda el uso de registros tipo SPF en el DNS, de manera oficial es una práctica obsoleta y en su lugar se recomienda usar registros de tipo TXT con el valor correspondiente.
Ejemplo:
v=spf1 ip4:84.101.76.148 include:_spf.google.com ~all
En el ejemplo anterior estamos indicando que solamente autorizamos los mensajes de correo enviados a través de Gmail o Google Apps, además del servidor con la IP indicada.
Para mas información sobre la sintaxis SPF puedes consultar los siguientes links:
2 respuestas a “DKIM & SPF con Postfix”
No funciona con Ubuntu 20
Me considero novato y me gustaría que estuviera mas digerido este artículo.