シナリオ:
ファイアウォール、パブリックIPの背後にあるDebianでいくつかの電子メールサーバーを実行しており、DNSレコード(MCX、DMARC、DKIM、SPF)を適切に設定しています。
これは私のDNSレコードの例です(Digコマンドによる出力)。
DKIM
customselector._domainkey.domain.com. 3600 IN TXT "v=DKIM1\; h=rsa-sha256\; k=rsa\; s=email\; " "p=MII...
SPF:
domain.com. 3599 IN TXT "v=spf1 mx -all"
MX:
domain.com. 3599 IN MX 1 mailsystem.domain.com.
DMARC:
_dmarc.domain.com. 3599 IN TXT "v=DMARC1\;p=quarantine\;sp=reject\;rua=mailto:[email protected]\; ruf=mailto:[email protected]\; fo=1\; adkim=r\; aspf=r\; pct=100\; rf=afrf\; ri=86400"
いくつかの公開テストシステムを試すと、私のセットアップ全体が100%正常に検証されます。しかし、私はこれらの奇妙なレポートを取得し始めました。私のパブリックIPから大量の不正な電子メールが送信されていること、および同じドメインによって完全に検証されている電子メールもいくつかあります。次のフラグメントは、Googleのレポートからのものです。
<record>
<row>
<source_ip>0.0.0.0</source_ip>
<count>6</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>pass</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>domain.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>domain.com</domain>
<result>pass</result>
<selector>customselector</selector>
</dkim>
<spf>
<domain>domain.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
<record>
<row>
<source_ip>0.0.0.0</source_ip>
<count>16</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>pass</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>domain.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>domain.com</domain>
<result>fail</result>
<selector>customselector</selector>
</dkim>
<spf>
<domain>domain.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
<record>
良いメール6通と悪いメール16通が届きましたが、すべて同じ内容のものでした。
テスト:
構成:
私はopendkimを使用していますが、これは私が関連すると考えるものです:
Canonicalization relaxed/relaxed
Mode sv
SubDomains yes
私のDKIMレコードは「有効」ですが、一部のバリデーターはDNSレコードのh=rsa-sha256;
引数を受け入れず、DKIM署名を無効としてレンダリングします。 Googleがメールサーバーでいくつかの異なるLinuxディストリビューションを異なるバリデーターで使用していると思います。
この問題を解決するには、DKIMレコードの引数を削除するだけで、次のようになります。
v=DKIM1; k=rsa; s=email; p=MI...
この後、すべてのメールが適切に検証されます。
いくつかの調査を行っている間、私は http://dkimvalidator.com を横断しました。それは、かなり混乱するメッセージを生成する唯一のツールでした。
result = invalid
Details: public key: does not support hash algorithm 'sha256'
意外にもこのエラーは珍しいようですが、opendkimを使用してキーを生成すると、次のようなことが発生する場合があります。
opendkim-genkey -b 2048 -h rsa-sha256 -r -s customselector -d domain.com -v
これにより、不正な引数がtxt
出力ファイルに書き込まれ、DKIMレコードが無効になります。