DKIM - Host único - vários IPs

2

Tentando descobrir a melhor prática para implementar o DKIM em um único EC2 que terá vários 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

Então eu tenho dois 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 as instâncias de postfix na mesma instância do EC2, cada uma tem o seguinte $ myhostname:

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

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

As duas instâncias de postfix estão na mesma instância do EC2, portanto, elas compartilham o mesmo par de chaves privada / pública default.private / default.txt, portanto, não há necessidade de adicionar mais linhas a KeyTable e SigningTable. Tanto quanto eu posso dizer, eu só preciso adicionar linhas extras para KeyTable e SigningTable se eu quiser implementar vários domínios (o que eu não faço).

Mas quando eu testo minhas configurações de DKIM, recebo respostas 'passar: neutras', dizendo que os e-mails não estão assinados, mas estão, posso vê-los no arquivo de log:

# 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)

O que estou perdendo?

Versões:

CentOS 6.5
Postfix v2.6.6
Opendkim v2.9
    
por Mike Purcell 25.09.2015 / 17:53

1 resposta

1

Ok, eu estava obviamente confuso, fiquei pensando que "s" no campo de assinatura DKIM deveria identificar $ myhostname da configuração do postfix, mas na verdade não. Depois de ler mais sobre a rotação da chave DKIM , ela finalmente ficou por minha conta, o "s" é simplesmente o seletor para usar a partir de KeyTable, SigningTable e DNS.

Verifique isso:

# /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

E agora, se eu quiser girar as teclas, eu faria isso:

# /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

Em seguida, na tabela de assinatura:

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

Então, para entradas de DNS, você terá o seguinte

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"

Essas entradas de DNS são usadas para ajudar a validar que o email foi realmente enviado de seu domínio (daí o Domain Identified Mail). Depois de 7 dias, você pode remover o mail_r-1.domainkey.example.com.

    
por 25.09.2015 / 18:51