(なぜ) DKIM が原因で電子メール サーバーが DMARC レポートの送信を停止するのでしょうか?

(なぜ) DKIM が原因で電子メール サーバーが DMARC レポートの送信を停止するのでしょうか?

私は長年運用している個人用メール サーバーを持っていますが、メールの送信に問題が発生することはほとんどなく、SPF、DMARC、DKIM などの技術についてはまったく理解していませんでした。最近、システムをアップグレードする際に、これを実行することにしました。

単一の固定 IP アドレスを使用するため、SPF は非常にシンプルでした。

DMARC もほぼ同じくらい簡単でした。最初はレポートを受信するポリシーを「なし」に設定し、1、2 週間そのままにして、その後拒否に切り替えました。

メールサーバーにDKIM署名フィルターを実装しました(宅配便MTA(そして、これ用の既製品はありません)。私が使用した複雑な部分についてはキンピー. これには、メッセージ全体に対して機能し、独自の検索などを行うシンプルな検証ツールも備わっています。つまり、使用方法が 1 つしかないという点でダミープルーフです (署名はさまざまな方法で構成できるため、失敗する余地がある可能性があります)。これにより、通過するはずだと思うメッセージは通過し、通過するべきではないと思うメッセージは不合格になるため、正常に機能していることに十分満足しています。サーバーから受信したメッセージに対してこれを実行しました。現在、問題を最小限に抑えるために、本文と From ヘッダーだけに署名しています。

しかし、私のメールはテストアカウントに届きません。1つはGmailで、もう1つはISPからのものです。さらに、DMARCレコードにruaとrufの両方のアドレスがあるにもかかわらず、彼らに関する報告は受け取っていない以前は、どちらも時計仕掛けのようでした。

フィルターをオフにするだけで(つまり DKIM 署名なし)、すべてが再び機能します。サーバーが実際にすべてのケースで試行していることを確認しました。失敗した DKIM はタイムアウトになり、接続が閉じられ、無限に延期される結果となったようです。これだけでも、"拒否された" メールが検査されていないことを示しているため、少し奇妙に思えますが、署名を削除するだけで、再び受け入れられるようになります。これは、Courier のログの曖昧さによるものだと思います。

ここでは誰も法律に縛られていないことは承知していますが、これは通常のポリシーですか? DKIM 署名が間違っていると仮定すると、受信サーバーは DMARC レポートを送信すべきではないでしょうか?

ということで、私は現在、窮地に陥っています。MXToolbox のようなものは素晴らしい結果を出してくれますが、メールを受け取って DKIM 署名を積極的にテストする無料サービスは 1 つしか見つかりませんでした。そのサービスは、他のサーバーと同じことをしているようです。つまり、テストするはずのメールを決して受け入れないのです (これが潜在的な手がかりになるかどうかはわかりません)。

関連する DNS レコードは次のとおりですdig:

  • SPF:cognitivedissonance.ca. 3600 IN TXT "v=spf1 ip4:138.197.150.177 -all"

  • DKIM:

      aporia._domainkey.cognitivedissonance.ca. 3600 IN TXT "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAosptGk+J2mdjjc7RWmcnQ3yBqx1JT/lA0bw4GJCzZ+esa0f8rjHhPiW6NnUr64Kf5h0fPEthQhYGTjjw3jAd/3EE28hGA30+jODxEK7A0+5aeI82fWa/ZZk9FvyIhf+UkkX1B0klYhCRW5r91smJ+rwYrr2B6jOrw0DReHTAZ51NACSWI7ov2mA" "UIh2l8blA8hFFBOBwxlzC+smRsYlZCKZfsSMkyS/XIm2m58QNfw/aCHp5VufSrf/hh7f6AGKTgxHfgs+8RBbYdHEM2LAMT+WYsITC3R0OYfgplzWna6PRB9lx+FFzTtT/8XClYfUJ6rwWwM4koeX0yt9gDr/03QIDAQAB"
    

    メール サーバーの FQDN は なので、想像力の欠如により DKIM セレクタとしてaporia.cognitivedissonance.ca使用しました。電子メール ドメインは です。代わりに FQDN (つまり) を使用する必要があるでしょうか?aporiacognitivedissonance.caaporia._domainkey.aporia.cognitivedissonance.ca

  • DMARC:

      _dmarc.cognitivedissonance.ca. 3600 IN  TXT     "v=DMARC1;p=reject;pct=100;rua=mailto:[email protected],mailto:[email protected];ruf=mailto:[email protected],mailto:[email protected]; "
    

    そこには、私がサインアップした dmarc 検証サービス用の追加の mailto がいくつかあります。残念ながら、DKIM 署名を直接テストしません。

最後に、署名の例を示します。

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=cognitivedissonance.ca; [email protected]; q=dns/txt;
 s=aporia; t=1650468130; h=from;
 bh=3N81YR+AxHZqpkdMAh4Jti6JpRmUrlzO5bUjUoWdGeg=;
 b=kNzUid2LG8TfHoegur3JzlcktiJT+5A1E2en+IlV/GgDMZWL0Ft/4kE02LGFzb2kTMkav
 c9jLUqd2+NCrLDzVRBxgwif++vDwoljCI1X0wvbcCqhfA3uElcCuhCAtBkl/ZNqLR0H1Gjq
 XXA801KqyVrvottuv0+PmEOvqQ8skTpBvl4Da8JjQ73Zscm3/5Mfk0dGTLlggNgapszsP9z
 nt/1Oi6gzLasX933wIdLZWVex8QNfKr8+MTx6bmpVodaeklR+281u8k1zhCBu5pWrzlavUh
 CbWjUm4j3YbeztpG98r9MZOVKbJZyHaiHWcRa1vEq3Cz8AEnRyRkQhd5WtvA==

答え1

最終的に、オンライン DKIM 検証ツールを見つけました。https://www.appmaildev.com/en/dkim既存のメールのアップロードをテストしたり、送信先のテスト アドレスを提供したりします。

元の問題が何であったかは 100% 確信が持てません。この問題を発見した時点で、別の問題を作成していたからです。Digital Ocean の「フローティング IP」機能を使用して DNS レコードを設定していました。OS はこのアドレスを実際には認識せず、他のメール サーバーはメールをその「実際の」IP (まだ有効です) からのものとして報告していました。 注目すべき点ドロップレットユーザーの場合。

はっきり言って、それが元々の問題ではなかったはずです。なぜなら、昨日、絶望のあまり、ツリーから何かが落ちてくるかどうか確認するためにノードを移動することにしたときに、フローティング IP を有効にしただけだからです。しかし...

メールを受け取ってDKIM署名を積極的にテストする無料サービスは1つを除いて見つかりませんでした。そのサービスは他のサーバーと同じことをしているようで、テストするはずのメールを決して受け入れません(これが手がかりになるかどうかは分からない)。

サービスは、最初の段落でリンクされているサービスではないことに注意してください。とにかく、他のメールサーバーが一般的に接続を拒否していた(メールをバウンスするのではなく)ということは、「DNSの問題」を叫んでいるようです。サーバーの新しいインストールが1か月間実行されていたときにこれが問題になった理由はまだわかりません。したがって、これは実際には部分的な回答にすぎませんが、メールサーバーがDMARCレポートの送信を停止する理由DNS レコード (ドメインとアポリア ノードの A レコード、SPF の一致など) をすべて整えて、ようやくすべてが正常に動作するようになりました。

関連情報