La firma digital de dominio (DKIM) le permite confirmar adicionalmente al propietario del dominio agregando una clave al encabezado del mensaje, que a su vez es verificada por el servidor del destinatario con la clave pública especificada en el registro DNS TXT del dominio del remitente. Esta configuración es opcional, pero reduce significativamente la posibilidad de que un mensaje se clasifique como correo no deseado y hace que el mensaje sea más confiable por parte del destinatario.
1. Instale los paquetes necesarios:
apt-get install opendkim opendkim-tools
2. Configuración y activación.
Eliminemos la configuración predeterminada existente y traigamos el archivo al formulario:
nano /etc/opendkim.conf
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12301@localhost
Comente la línea predeterminada y reemplácela con lo siguiente:
nano /etc/default/opendkim
SOCKET="inet:12301@localhost"
Agregar configuraciones a postfix
nano /etc/postfix/main.cf
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
Vamos a crear directorios para almacenar datos clave y tablas de mapeo de dominios de correo:
mkdir /etc/opendkim
mkdir /etc/opendkim/keys
Cree un archivo de hosts y dominios de confianza:
nano /etc/opendkim/TrustedHosts
127.0.0.1
localhost
192.168.0.1/24
*.
#.my-domain.net
#.my-domain.org
Vamos a crear un archivo de mapeo de claves secretas de dominio:
nano /etc/opendkim/KeyTable
mail._domainkey. :mail:/etc/opendkim/keys//mail.private
#mail._domainkey.my-domain.net my-domain.net:mail:/etc/opendkim/keys/my-domain.net/mail.private
#mail._domainkey.my-domain.org my-domain.org:mail:/etc/opendkim/keys/my-domain.org/mail.private
Vamos a crear un archivo que contendrá configuraciones que determinen qué dirección agregar a qué clave:
nano /etc/opendkim/SigningTable
*@ mail._domainkey.
#@my-domain.net mail._domainkey.my-domain.net
#@my-domain.org mail._domainkey.my-domain.org
Vamos a crear un directorio y los propios archivos clave para nuestro dominio:
cd /etc/opendkim/keys
mkdir
cd
opendkim-genkey -s mail -d
chown opendkim:opendkim mail.private
-s especifica un selector -d especifica un dominio. El comando creará dos archivos donde mail.private contiene la clave privada y mail.txt contiene la clave pública.
Usaremos esta clave en DNS:
nano -$ mail.txt
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3Ru/oMs+d2y93gZVq81J7hZfe31GR3177XQ5dI0r8zFqh86K1pgcdvCbpaAzXw9x25
/9BUe2ot9gpxjnt5SD+dDyereVKdkIQdkJBTl21Ei8ShJf+iIyYn5/skzLYS5RzlreBGoSGT6mtfnhzRX1A18X52oZrAfUJIXqAX14LYFq
/B5Wkw8vcUiU1CrR7lteH1vCu0JQtE16CK"
"vj86V06SxtKNEiRDqHZXo5+SqjzB2qHeteTGTyxA1dBmyKGCP6cVTkU3P0unOtsDLO+47YTUC55db34DKjjr18Lny0gf0d6oT0OvCZU5m5O3v
QunxQtSPD4+Hb75xrMJqqSlXtswIDAQAB" )
Llevemos este registro a su forma normal eliminando las comillas, y de modo que la clave esté en una línea, después de lo cual agregamos este registro TXT al DNS de nuestro dominio:
mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBI...IDAQAB"
Puede verificar la entrada con el comando:
nslookup -q=TXT mail._domainkey. 8.8.8.8
Para aplicar la configuración, reinicie los servicios:
service postfix restart
service opendkim restart
La configuración de DKIM está completa, puede verificar su funcionamiento enviando un correo electrónico a: check-auth@verifier.port25.com
Si todo está configurado correctamente, recibirá un informe que contiene la línea: DKIM check: pass.