https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
Paso 1. En primer lugar, debemos instalar opendkim.
Cada distribución tendrá una forma de hacerlo. Por lo general, con:
yum install opendkim |
o bien
apt-get install opendkim |
Una vez instalado, tendremos que editar el archivo /etc/opendkim.conf y dejar una configuración similar a esta:
Canonicalization relaxed/relaxed ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyFile /etc/opendkim/keys/default.private KeyTable refile:/etc/opendkim/KeyTable LogWhy yes MinimumKeyBits 1024 Mode sv OversignHeaders From PidFile /var/run/opendkim/opendkim.pid Selector default SendReports yes SignatureAlgorithm rsa-sha256 SigningTable refile:/etc/opendkim/SigningTable Socket inet:[email protected] SoftwareHeader yes SyslogSuccess yes Syslog yes Umask 022 UserID opendkim:opendkim
Paso 2. Tendremos que crear los directorios en los que guardaremos las claves privadas para la encriptación DKIM, crear las claves y asignarle permisos.
mkdir /etc/opendkim/keys/dominiodejemplo.com/ opendkim-genkey -s 201601 -d dominiodejemplo.com -D /etc/opendkim/keys/dominiodejemplo.com/ chown -R opendkim:opendkim dominiodejemplo.com/ |
-Nótese que el identificador “201601” de la clave corresponde al año seguido del mes en el que se establece. Puede utilizarse cualquier identificador, pero se recomienda hacerlo así.
Luego, tendremos que editar el archivo que relaciona Registro DNS para DKIM, con el servidor de correo correspondiente y con su clave privada:
vi /etc/opendkim/KeyTable |
201601._domainkey.dominiodejemplo.com dominiodejemplo.com:201601:/etc/opendkim/keys/dominiodejemplo.com/201601.private
Luego, editamos el archivo que indica a postfix qué cuentas de correo deben encriptarse con dkim:
vi /etc/opendkim/SigningTable |
*@dominiodejemplo.com 201601._domainkey.dominiodejemplo.com
Además, tenemos que autorizar los equipos y dominios que pueden utilizar opendkim:
vi /etc/opendkim/TrustedHosts |
127.0.0.1 ::1 XXX.XXX.XXX.XXX (Aquí hay que poner la IP del servidor) servidorXXXX.comalis.net (Aquí el nombre que ha asignado comalis) dominiodejemplo.com (A partir de aquí los dominios a configurar)
En /etc/postfix/main.cf hay que añadir al final:
milter_default_action = accept milter_protocol = 6 smtpd_milters = , inet:127.0.0.1:8891, inet:127.0.0.1:12768 non_smtpd_milters = , inet:127.0.0.1:12768, inet:127.0.0.1:8891 mydestination = $myhostname, $mydomain, mail.$mydomain, localhost.$mydomain, localhost, localhost.localdomain
Y comentar las antiguas líneas que aparecen más arriba en el archivo /etc/postfix/main.cf añadiendo el caracter “#” delante de ellas, ejemplo:
# mydestination =
# smtpd_milters =
# non_smtpd_milters =
Paso 3. Una vez esté creada esta configuración, ejecutamos el siguiente comando para saber qué configuración DNS hay que realizar:
cat /etc/opendkim/keys/dominiodejemplo.com/201601.txt |
obteniendo algo similar a:
201601._domainkey IN TXT ( “v=DKIM1; k=rsa; “ “p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyxcETy3QZ+QJQaW+rDt1Ch1h376UioxcK7xIhs+YC5tRLSnMscWoDsjsNrh6OslhBJzGcB4Q gBpQtAXRHUx91ipiRnwTSVHYQPyAmbi/iqTWaHFY0EZby3XIDDUm3PO88YIdI64rMDxi+hoKH2b86qcFaShSKf5U/Yj0xAMyHIwIDAQAB” ) ; —– DKIM key 201601 for dominiodejemplo.com |
Este texto nos indica que hay que crear una entrada TXT en la configuración DNS del dominio, llamada 2016._domainkey con el contenido que aparece entre comillas, eliminando las comillas centrales.
Esto en plesk quedaría así:
201601._domainkey.dominiodejemplo.com TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyxcETy3QZ+QJQaW+rDt1Ch1h376UioxcK7xIhs+YC5tRLSnMscWoDsjsNrh6OslhBJzGcB4Q gBpQtAXRHUx91ipiRnwTSVHYQPyAmbi/iqTWaHFY0EZby3XIDDUm3PO88YIdI64rMDxi+hoKH2b86qcFaShSKf5U/Yj0xAMyHIwIDAQAB |
Y por último,
service opendkim restart service postfix restart |