DKIM - Host único - Múltiples IP

DKIM - Host único - Múltiples IP

Intentar descubrir las mejores prácticas para implementar DKIM en un único EC2 que tendrá múltiples IPS elásticos.

# /etc/opendkim.conf
...
Mode                    sv
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
SignatureAlgorithm      rsa-sha256
...

# /etc/opendkim/KeyTable
default._domainkey.example.com example.com:hp-hv-1:/etc/opendkim/keys/default.private
default._domainkey.example.com example.com:hp-hv-2:/etc/opendkim/keys/default.private

# /etc/opendkim/SigningTable
*@example.com default._domainkey.example.com

Entonces tengo dos registros DNS:

hp-hv-1._domainkey.example.com TXT "v=DKIM1;k=rsa;p=default.txt_key_goes_here"

hp-hv-2._domainkey.example.com TXT "v=DKIM1;k=rsa;p=default.txt_key_goes_here"

Para ambas instancias de postfix en la misma instancia EC2, cada una tiene el siguiente $myhostname:

# postfixmulti instance #1
myhostname = hp-hv-1

# postfixmulti instance #2
myhostname = hp-hv-2

Ambas instancias de postfix están en la misma instancia EC2, por lo que ambas comparten el mismo par de claves privada/pública default.private/default.txt, por lo que no es necesario agregar más filas a KeyTable y SigningTable. Por lo que puedo decir, sólo necesito agregar filas adicionales a KeyTable y SigningTable si quiero implementar múltiples dominios (cosa que no hago).

Pero cuando pruebo mi configuración de DKIM sigo recibiendo respuestas "aprobar: neutral", que dicen que los correos electrónicos no están firmados, pero sí lo están. Puedo verlo en el archivo de registro:

# snippet from /var/log/maillog
Sep 25 15:15:31 service-a-4 opendkim[27420]: 5B4A3625F0: DKIM-Signature field added (s=hp-hv-1, d=example.com)

¿Qué me estoy perdiendo?

Versiones:

CentOS 6.5
Postfix v2.6.6
Opendkim v2.9

Respuesta1

Ok, obviamente estaba confundido, seguí pensando que se suponía que "s" en el campo de firma DKIM identificaba $myhostname de la configuración de postfix, pero en realidad no es así. Después de leer más sobreRotación de clave DKIM, finalmente me lo puse, la "s" es simplemente el selector a usar desde KeyTable, SigningTable y DNS.

Mira esto:

# /etc/opendkim/KeyTable
#  Format: selector(1) domain:selector(2):/path/to/key
#    selector(1) is used in the /etc/opendkim/SigningTable
#    selector(2) is built into the DKIM signature for every email sent, which is used to lookup the DNS TXT entry: mail-1_r-1._domainkey.example.com
mail-1_r-1._domainkey.example.com example.com:mail-1_r-1:/etc/opendkim/keys/mail-1_r-1.private

Y ahora si quiero rotar las claves haría esto:

# /etc/opendkim/KeyTable
#  Generate new private/public key pair, and rename accordingly
mail-1_r-1._domainkey.example.com example.com:mail-1_r-1:/etc/opendkim/keys/mail-1_r-1.private
mail-1_r-2._domainkey.example.com example.com:mail-1_r-2:/etc/opendkim/keys/mail-1_r-2.private

Luego en la mesa de firmas:

# /etc/opendkim/SigningTable
*@shouttag.com mail_r-1._domainkey.example.com
*@shouttag.com mail_r-2._domainkey.example.com

Luego, para las entradas DNS tendrás lo siguiente

mail_r-1.domainkey.example.com "v=DKIM1;k=rsa;p=mail_r-1.txt_key_goes_here"
mail_r-2.domainkey.example.com "v=DKIM1;k=rsa;p=mail_r-2.txt_key_goes_here"

Estas entradas DNS son las que se utilizan para ayudar a validar que el correo electrónico realmente se envió desde su dominio (de ahí el correo identificado con clave de dominio). Luego, después de aproximadamente 7 días, puede eliminar mail_r-1.domainkey.example.com.

información relacionada