Autor YouCode - http://www.youcode.com.ar/postfix/dkim-en-postfix-216
DKIM (DomaiKeys Identified Mail) se utiliza para firmar en el servidor los mensajes que enviemos para que el receptor pueda asegurar que el remitente pertenece realmente al dominio que dice y que el mensaje no ha sido manipulado por el camino.
Esta configuración ha sido probada en un VPS con Ubuntu 10.04 server, pero debe funcionar también en Debian. Existen dos paquetes que hacen más o menos lo mismo: dkim-filter y opendkim. He preferido usar el segundo porque he leído que está más actualizado (además me gusta todo lo que empieza por open ;).apt-get install opendkim mkdir /etc/opendkim cd /etc/opendkim opendkim-genkey -d midominio.es -s mailUna vez ejecutados estos comandos tendremos en la carpeta actual dos archivos, mail.private que es la clave privada y mail.txt que es la clave pública que debemos incluir en un registro TXT de nuestro DNS.
Modificamos la configuración del DNS donde se encuentra nuestro dominio para añadir una entrada TXT con el nombre mail._domainkey y como contenido el texto que aparce entre comillas dentro del segundo archivo.
Editar el archivo /etc/opendkim.conf y añadir las siguientes líneas:
Domain midominio.es KeyFile /etc/opendkim/mail.private Selector mail Canonicalization relaxed/relaxed Socket inet:9999@localhost X-Header yesIniciamos el servicio con service opendkim start y pasamos a configurar Postfix. Solo hay que añadir las siguientes líneas a /etc/postfix/main.cf y activar la configuración con service postfix reload:
milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:9999 non_smtpd_milters = inet:localhost:9999Podemos probarlo enviando un email a sa-test@sendmail.net, un servicio que nos devolverá como respuesta el resultado de varios test de autenticidad del correo, entre ellos DKIM.
Nota
La palabra mail que se ha usado en los pasos anteriores es el selector y puede cambiarse por otra cualquiera, siempre que se haga en todos los sitios donde aparece.
Múltiples dominios
Si queremos que el servidor firme todos los emails, aunque sean de distintos dominios, debemos cambiar la configuración de opendkim.conf eliminando el parámetro KeyFile y añadiendo estas dos líneas:
KeyTable /etc/opendkim/dkim_key_table SigningTable refile:/etc/opendkim/dkim_signing_tableLuego creamos dos archivos nuevos en /etc/opendkim:
dkim_key_table: keyname midominio.es:mail:/etc/opendkim/mail.private dkim_signing_table: * keynameReiniciamos con service opendkim restart y listo, todos los emails que se envíen con Postfix irán firmados por el dominio principal. También se puede hacer una configuración separada por dominio, pero requiere una clave privada y una entrada TXT en el DNS para cada uno.
http://www.youcode.com.ar/postfix/dkim-en-postfix-216