DKIM — Один хост — Несколько IP-адресов

DKIM — Один хост — Несколько IP-адресов

Пытаюсь определить наилучшую практику внедрения DKIM на одном EC2, который будет иметь несколько эластичных IPS.

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

Затем у меня есть две записи 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"

Для обоих экземпляров postfix на одном и том же экземпляре EC2 каждый имеет следующее $myhostname:

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

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

Оба экземпляра postfix находятся на одном экземпляре EC2, поэтому они оба используют одну и ту же пару ключей default.private/default.txt private/public, поэтому нет необходимости добавлять больше строк в KeyTable и SigningTable. Насколько я могу судить, мне нужно добавлять дополнительные строки в KeyTable и SigningTable только в том случае, если я хочу реализовать несколько доменов (чего я не делаю).

Но когда я проверяю свои настройки DKIM, я постоянно получаю ответы «пройдено: нейтрально», в которых говорится, что письма не подписаны, хотя на самом деле это так, и я вижу это в файле журнала:

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

Что я упускаю?

Версии:

CentOS 6.5
Postfix v2.6.6
Opendkim v2.9

решение1

Ладно, я, очевидно, запутался, я все думал, что "s" в поле подписи DKIM должно было идентифицировать $myhostname из конфигурации postfix, но на самом деле это не так. После прочтения дополнительной информации оРотация ключей DKIM, наконец-то я это понял, «s» — это просто селектор для использования из KeyTable, SigningTable и DNS.

Проверь это:

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

И теперь, если я захочу повернуть ключи, я сделаю это:

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

Затем в таблице подписей:

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

Тогда для записей DNS у вас будет следующее

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"

Эти записи DNS используются для проверки того, что электронное письмо действительно было отправлено с вашего домена (отсюда Domain Key Identified Mail). Затем, примерно через 7 дней, вы можете удалить mail_r-1.domainkey.example.com.

Связанный контент