Image

Base de conocimientos → Configuración de una firma digital DKIM en Postfix

[Servidores virtuales]
Fecha de publicación: 30.05.2023

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.com

#.my-domain.net #.my-domain.org

Vamos a crear un archivo de mapeo de claves secretas de dominio:

nano /etc/opendkim/KeyTable

mail._domainkey.my-domain.com my-domain.com:mail:/etc/opendkim/keys/my-domain.com/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

*@my-domain.com mail._domainkey.my-domain.com

#@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 my-domain.com
cd my-domain.com
opendkim-genkey -s mail -d my-domain.com
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.my-domain.com 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.





Sin comentarios aún