Dado que los criterios de detección de spam se han vuelto estrictos en la actualidad, decidí implementar DKIM en mi servidor de correo personal.
Estas son mis notas al respecto.
Para la configuración de DMARC, consulta la adición de noviembre de 2023.
Adición de agosto de 2024
Dejé de usar OpenDKIM y cambié a arcmilter.
He cambiado de OpenDKIM a arcmilter y ahora es compatible con la firma ARC
Entorno
- Ubuntu 20.04
OpenDKIM
- Instalación
# apt install opendkim opendkim-tools
- Creación del directorio para la colocación de claves
# install -d /etc/opendkim/key
# cd !$
- Generación de claves (para múltiples dominios)
# install -d masa23.jp
# opendkim-genkey -D masa23.jp -d masa23.jp
# install -d example.jp
# opendkim-genkey -D example.jp -d example.jp
Se generarán default.private y default.txt en cada directorio
- Cambio de propiedad
# chown -R opendkim:opendkim /etc/opendkim/
- Configuración de OpenDKIM
# vi /etc/opendkim.conf
Socket inet:8892@localhost
#Domain
#KeyFile
#Selector
KeyTable refile:/etc/opendkim/key_table
SigningTable refile:/etc/opendkim/signing_table
# cat << _EOF_ > /etc/opendkim/key_table
default._domainkey.masa23.jp masa23.jp:default:/etc/opendkim/key/masa23.jp/default.private
default._domainkey.example.jp example.jp:default:/etc/opendkim/key/example.jp/default.private
_EOF_
# cat << _EOF_ > /etc/opendkim/signing_table
*@masa23.jp default._domainkey.masa23.jp
*@example.jp default._domainkey.example.jp
_EOF_
- Inicio y configuración para el arranque de opendkim
# systemctl start opendkim
# systemctl enable opendkim
Configuración de Postfix
- Agregar como milter
# vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8892
non_smtpd_milters = inet:127.0.0.1:8892
- Verificación de la configuración
# postfix check
- Recarga de postfix
# systemctl reload postfix
Registro de la clave pública en DNS
- Verificación de la clave pública
# cat /etc/opendkim/key/masa23.jp/default.txt
default._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5jqnqaMgv8fFl8yQHDfPdU/7j0YvFza2YIMIYivVV/CaItZizlkY6emj9o6MZBK3RU9ni4BPCQ1do64+HhZHUanAPojZd0PsyusCBNBFU1wY6/xpcuoPf+Ru15UvLI2/o+9ElO4vF3l2YoTSOE5ljnBNd2EWihqmUQazEpu3PT1a7BbHZkW/7WdK5ipgU8+u/iyRai0Dnrhgoi"
"ArzoDjFgm4TRJQGhD+EUOmnwFa3Xz5eQg50IigS7WKyHwF3HSZPzrkEFf5hIXYdoeIr6OqKg5sldONF/hY9voEITHZqtHOnrBlaBH2DTTI6uQH7Uc4JLv12xD6Gh1rlZy5zdMTwQIDAQAB" ) ; ----- Clave DKIM por defecto para masa23.jp
Registra este registro en DNS.
También se configurará ADSPEsta vez no es necesario que sea tan estricto, así que lo dejaré como unknown.
_adsp._domainkey IN TXT "dkim=unknown"
Adición de noviembre de 2023
Parece que ADSP ha sido descontinuado.
Por lo tanto, se asumirá que el registro SPF ya está configurado y se configurará DMARC.
- Configuración de DMARC
_dmarc IN TXT "v=DMARC1; p=quarantine;"
El valor de p puede ser ninguno, cuarentena o rechazo.
q | Significado |
---|---|
none | El propietario principal no solicita ninguna acción específica con respecto a la entrega del mensaje. |
quarantine | El propietario del dominio desea que los correos que no pasen la verificación del mecanismo DMARC sean tratados como sospechosos por el receptor de correo. |
reject | El propietario del dominio desea que los correos que no pasen la verificación del mecanismo DMARC sean rechazados por el receptor de correo. |