DMARCポリシー上書きについての解説
DMARCポリシーが上書きされる場合とは
2022年11月28日
著者: Ahona Rudra
翻訳: 高峯 涼夏
この記事はPowerDMARCのブログ記事 DMARC Policy Overrides: Explained の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
DMARCポリシー上書きとは何かとその仕組み、DMARCポリシー上書きとDMARCポリシー失敗の違い、DMARCレコードの上書きが正当かどうかなどについて詳しく解説します。
DMARCポリシー上書きについての解説
DMARCポリシー上書きは、送信者によって設定されたDMARCレコードを受信メールサーバが上書きすることで発生します。
これは、受信メールサーバのポリシーに一致しない場合にメールを拒否するように送信者が指定しているにも関わらず、受信メールサーバが独自に一連のポリシーに適していないと判断した場合に発生します。
例えば、送信者が厳格なポリシー(「p=reject SPFまたはDKIMのないすべてのメールを拒否する」など)を指定し、受信側のメールサーバが緩やかなポリシー(「SPFまたはDKIMのないすべてのメールを受け入れる」など)を指定している場合です。
このような場合、受信サーバは送信者のDMARCポリシー設定を独自のローカルポリシーで上書きし、DMARCチェックに失敗しても受信者の受信トレイにメッセージを配信することがあります。
DMARCポリシー上書きメカニズムについて理解する
DMARCは、ドメインから送信されたメールに対して、メール受信者が使用できるポリシー設定を伝えるために使用されます。
例えば、DMARCのポリシーを使用して、ドメインから送信されたメールでSPFまたはDKIMのチェックに失敗した場合に、受信者のメールサーバが何をすべきか(p=reject または p=none または p=quarantine)指示することができます。
これはDMARCの力をよく表しているのではないでしょうか?
しかし、受信側のメールサーバが、受信メールを処理するための独自のローカルポリシーのセットを持っている場合はどうでしょうか?
送信者が設定したDMARCポリシーに従うのでしょうか、それとも、独自のローカルポリシーで送信者のポリシーを上書きするのでしょうか?
さて⋯⋯
DMARCの仕様では、メール受信者はドメイン所有者が公開したDMARCポリシーを尊重するために誠実に努力することが要求されています。
したがって、送信者のSPF、DKIM、Fromヘッダのテストが失敗した場合、送信者のDMARCポリシー(p=で指定されたもの。reject、none、quarantineなど)をトリガーする必要があります。
さて、仮にこのような状況だとします。
- ドメイン(mypersonaldomain.org)には、DMARCポリシー(p=none)が設定されています。
- 受信者(theirdomain.org)が運営するメールサーバは、SPFチェックに失敗したメールをすべて拒否します。
- つまり、(theirdomain.org)に送られたメールがSPFチェックに失敗したら、拒否されるということです。
そうでしょう?
しかし…
DMARCポリシーが p=none のドメイン(mypersonaldomain.org)からのメールがsomedomain.orgで受信され、SPFチェックに失敗するとどうなるのでしょうか?
この場合、送信者が設定したDMARCポリシーに従うか、SPFチェックに失敗したら p=reject というローカルポリシーで定義したルールで送信者のポリシーを上書きしてメールを拒否するかは、受信メールサーバ(の設定方法)に依存することになります。
Microsoft 365は、 p=reject のメールをすべて拒否するのではなく、ユーザの迷惑メール/スパムフォルダに送るという、実例があります。
これは、Office 365が、最終的な処分は受信者が決定すれば良いと考えているからです。
DMARCポリシー上書きの5つの値
- forwarded
- 転送パターンを識別するローカルアルゴリズムに基づき、メールが転送された可能性が高いです。認証に失敗することが予想されます。
- local_policy
-
メール受信者のローカルポリシーにより、メールがドメイン所有者によって要求されたアクションの対象から除外されました。
例えば、要求されたポリシーは「拒否」に設定されていますが、ARCチェックが通過した場合、メール受信者はその決定を上書きし、メールを拒否しないことを選択することができます。 - mailing_list
- メーリングリストから送信されたメールなので、おそらく正当なものではないとフィルタプログラムは判断しました。
- sampled_out
- DMARC レコードに "pct" 設定があるため、メッセージはポリシーに適用されませんでした。
- trusted_forwarder
- ローカルで管理されている信頼できる転送先のリストにメールがリンクされていることを証拠に、障害の発生が予測されました。
- other
- 一部のポリシーには、リスト内の他のエントリでは対処できない例外が含まれています。
ARCとは?
ARCとは、Authenticated Received Chain(ARC)の略です。
ARCを使えば、メールのDKIMやSPFのプロトコルが、転送やメーリングリストによって破られることがなくなります。
これは、ARCが、インターネット上のあるノードから別のノードへメッセージを渡す際に、メッセージを変更する可能性のあるルータ、仲介者、その他のシステム(「ホップ」)を越えて、メールの認証結果を保持するためです。
したがって、もしARC chainが存在すれば、本来ならメッセージを破棄するはずの受信メールサーバが、テストの結果を評価して例外を作り、これらの間接的なメールフローからの正当なメッセージを宛先に到達させることを選択する可能性があります。
[訳注]sampled_outの詳細
sampled_outは分かりにくいので、更に、解説します。
例えば、p=quarantine pct=25と設定して、全体のメールの25パーセントについてポリシーを適用するとします。
SPFやDKIMの不合格、もしくはDMARC Alignment CheckでメールヘッダのReturn-Path(SPF)やDKIMのd=のドメインとFromアドレスのドメインが合致しない場合に、本来であれば、設定されたポリシーのquarantine(隔離)が適用されるべきです。
しかし、そのポリシーが適用されるのは、全体の25%であり、残り75%には適用されません。
その残り75%の「運が良い(もしくはなりすましメールを防止するという意味では運が悪い)」メールについては、p=quarantineのポリシーが適用されず、1つ下のポリシーが適用されます。
p=quarantineの1つ下は、p=noneで、普通にメールボックスに届く、というわけです。
DMARCポリシー上書きは許されますか?
RFC7489のSection 6では、メールサーバは送信者のポリシーに沿った形でメッセージを尊重し、処理する必要があることを明言しています。
上書きはDMARCの精神に反するものですが、受信トレイのプロバイダはいかなる送信者のポリシーも上書きする権利を留保しています。
したがって、受信サーバがDMARCのポリシーをローカルポリシーで上書きすることは許容されます。
つまり、メールサーバが従うべきポリシーに反していても、偽のメッセージを配信してしまう可能性があるのです。
DMARCポリシー上書きレポートを送信すべきですか?
DMARCポリシーの上書きは、主に以下のような場合に行われます。
- 受信者側のヒューリスティクスな(アルゴリズムが)、メッセージは認証に失敗しているが、認証された送信元から送られてきたのかもしれないと識別した場合
- 受信トレイのプロバイダは、メール転送が原因でDMARCに失敗したメッセージを持っていても、その正当性に十分な信頼を持っている場合、ポリシーを上書きしてそのまま配信する可能性がある
DMARCポリシーの上書きは認められていますが、RFC7489のセクション6と7.2では、受信者がドメイン所有者の公開ポリシーから外れることを選択した場合、その事実と理由をドメイン所有者に(集約されたフィードバック報告形式を用いて)報告しなければならないとされています。
DMARCポリシーの上書きはどのように許可されますか?
DMARCは2つの部分から構成されています。
DMARCポリシー
これは、送信側組織によって(SPFおよびDKIMとともに送信側組織の公開DNS上で)設定され、受信側がそのポリシーに準拠しないメッセージをどのように処理すべきかを定義します。
DMARC検証
受信側の組織(受信側組織のメールセキュリティゲートウェイ上)で使用され、特定の組織から受信したすべてのメッセージについて、その企業のDMARCレコードに記載されているポリシーをチェックします。
ただし、送信組織のDMARCポリシー適用を上書きする機能は、受信組織にも当てはまります。
DMARCポリシーの設定は「要求であり義務ではありません」。
これは、基本的には、メールサーバに対して、ドメインから送信されたメールやドメインになりすましたメールをどう処理すべきかを「要求」していることを意味します。
しかし、メール受信者は、受信したメールを処理する際に、一連の厳格なガイドラインに従う必要はありません。
受信者は、受け入れるあるいは拒否するメッセージについて独自のポリシーを策定し、その基準を適宜適用することができます。
例えば、メール受信者がそのメッセージを有効だと判断した場合です。
そのため、あるメールがDMARCチェックに失敗しても、受信者はローカルポリシーを適用して受信トレイに配信することができます。
さらに、メール受信者のポリシーがドメイン所有者のポリシーを上書きする場合もあります。
受信側の組織がDMARCポリシーを上書きする方法は?
他の組織は、独自のDMARC検証ツールによって DMARCポリシーの設定を上書きし、受信メッセージにどのように対処するかについて独自のポリシーセットを決定することができます。
システムによっては、管理者権限を持つユーザが、すべてのドメインを上書きできる場合と、特定のドメインのみを上書きできる場合があります。
DMARCポリシーはドメイン所有者によって設定され、各ポリシーはその組織のドメインにのみ適用されることに留意する必要があります。
したがって、DMARCポリシーは、他の組織のアドレスやメッセージに影響を与えることはできません。
DMARCポリシー失敗 vs DMARCポリシー上書き:何が違いますか?
DMARC失敗とは、メールサーバがDMARCを適切に実装していないために、受信者側でSPFやDKIMの検証失敗が発生することです。
送信者の正当性を確認できない場合、受信箱は送信者をスパムとしてマークしたり、メッセージを拒否したりします。
この場合、受信側のメールサーバは送信者のポリシーを尊重し、そのローカルポリシーで上書きすることはありません。
DMARCポリシーの上書きは、受信メールサーバが送信者のポリシーを尊重しない場合に発生します。
その代わりに、送信者のDMARCポリシーをローカルポリシーで上書きします。
つまり、送信者のメッセージがSPFまたはDKIM検証なしでp=rejectという厳格なポリシーを持っている場合、受信メールはポリシーを上書きして、そのままメッセージを受信トレイに配信することになるのです。
PowerDMARCでDMARCポリシーの上書き履歴を適切に管理する
DMARCポリシーの上書きを常に最新の状態に保つことは、メールのなりすましや偽装を防止する上で非常に重要な要素です。
しかし、ほとんどの組織では、DMARCポリシーの上書きを追跡するための時間やリソースがありません。
DMARCポリシーの上書きを止めることはできませんが、PowerDMARCのDMARCサービスを利用すれば、上書きを追跡することができます。
どの組織がポリシーモードを上書きしたか、受信者側でどの組織からのどのようなタイプのメッセージが許可されたかを完全にレポートとして提供します。
これにより、送信者は追跡を行い、なりすましや偽装が発見された場合に必要な措置を取ることができます。
今すぐDMARCの無料トライアルに登録して、ご自身でテストしてみてください。