それでは、DMARCが転送されたメールをどのように処理するのか、さらに深く掘り下げてみましょう。
DMARCの基本
転送の話に入る前に、DMARCの基本的な前提を理解することが重要です。DMARCは、既存の2つのメール認証技術を活用して機能します。SPFとDKIMです。
SPF (Sender Policy Framework):ドメインは、どのメールサーバーが自分の代わりにメールを送信することを許可されているかを宣言することができます。SPFはMAIL FROMまたはReturn-Pathドメインと送信サーバーのIPアドレスを照合する。
DKIM(DomainKeys Identified Mail):暗号署名を追加することで、ドメインがメールに責任を持つようにします。受信サーバーは、送信者のDNSで公開されているDKIMレコードに対してこの署名を検証することができます。
DMARCと転送
問題点:メールが転送されると(特にメーリングリストや特定の転送サービスのような間接的な方法で)、元のMAIL FROMドメインが変更されることがあります。この変更により、受信サーバーは元の送信者のIPではなく、転送元のIPを送信元として見てしまうため、SPFチェックに失敗する可能性があります。
しかし、メールのコンテンツや特定のヘッダーが転送者によって変更されない限り、DKIMは転送後もそのまま維持されます。変更された場合、DKIMチェックも失敗します。
DMARCのアプローチDMARCの設計では、DMARCチェックを成功させるために、SPFまたはDKIMのどちらか一方のみが(アライメントとともに)パスする必要があります。この二重のメカニズムにより、正当な転送メールがDMARCを通過する可能性が向上します。
SPFアライメント:MAIL FROMまたはReturn-Pathのドメインは、Fromヘッダーのドメインと一致する必要があります。
DKIMアライメント:DKIM署名のd=タグのドメインは、Fromヘッダのドメインと一致する必要があります。
メールが転送され、SPFチェックが失敗しても(これは一般的なことです)、DKIM署名が有効であり、整合されている場合、メールはDMARCチェックを通過することができます。
解決策=ARC
Authenticated Received Chain (ARC):
転送がメール認証に与える課題を認識し、メールコミュニティはARCを開発しました。
ARCの役割ARCは、電子メールの転送者が電子メールに認証結果を追加することを可能にし、電子メールが転送サーバーを通過する際に電子メールの元の認証結果を保持します。
ARCの仕組み
ARC-Authentication-Results:このヘッダーには、元の受信メールの認証結果が含まれます。
ARC-Message-Signature:このヘッダーは、メールコンテンツと特定のARCヘッダーのDKIMスタイルの署名である。各仲介は新しいARC-Message-Signatureを追加する。
ARC-Seal:このヘッダーは他のARCヘッダーのシールであり、改ざんされていないことを保証する。
メールが転送される際、各仲介者(転送サーバーなど)はこれらのARCヘッダーを付加し、以前のサーバーの認証結果を保持する。最終的な受信者は、これらのヘッダを確認することで、電子メールの認証経路を確認することができる。信頼できる仲介者がその電子メールについて保証した場合、受信者は、DMARCが失敗したとしても、その電子メールを受け入れることを選択することができます。
結論
転送されたメールは、SPFの性質や、DKIMを破る可能性のあるコンテンツやヘッダーの変更の可能性があるため、DMARCにとって難しいものです。DMARC自体は、SPFまたはDKIMの合格のみを要求することで、ある程度の寛容さを認めています(アライメントあり)。しかし、転送によって両方のチェックが失敗する可能性がある状況では、ARCのようなプロトコルが活躍し、複数のサーバーを経由するメールの認証ステータスを維持します。