メール送信する際のSPF、DKIM、DMARCについて調べる機会があったので、備忘を兼ね記載しております。
- SPF(Sender Policy Framework)
- DKIM(DomainKeys Identified Mail)
- SPFとDKIMの関連性
- DMARC(Domain-based Message Authentication, Reporting, and Conformance)
- SPF、DKIM、DMARCの処理順序
SPF(Sender Policy Framework)
- 目的: SPFは電子メールの送信者を認証するための方法です。受信サーバーがメールの送信元が正当であるかを確認するのに役立ちます。
- 仕組み: ドメインのDNSレコードに、そのドメインからメールを送信できるサーバーのリストを含むSPFレコードを設定します。
- アライメント: SPFアライメントは、メールの「Return-Path」ドメインと「From」ドメインが一致するかどうかを確認するプロセスです。DMARCポリシーでアライメントを強制することができます。アライメントの詳細は後述しております。
DKIM(DomainKeys Identified Mail)
- 目的: DKIMは電子メールの内容が送信途中で改ざんされていないことを保証するための方法です。
- 仕組み: 送信サーバーはメールにデジタル署名を追加し、受信サーバーはその署名を検証することでメールの真正性を確認します。
- アライメント: DKIMアライメントは、メールの「DKIM署名」ドメインと「From」ドメインが一致しているかどうかを確認します。DMARCポリシーでこのアライメントを要求することもできます。アライメントの詳細は後述しております。
SPFとDKIMの関連性
- SPFとDKIMは、メールの信頼性を高めるために互いに補完する技術です。
- DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFとDKIMの結果を活用して、メールが正当な送信元から来ているかどうかを確認するプロトコルです。
- DMARCポリシーでは、SPFとDKIMのどちらか、または両方がアライメントされている必要があります。DMARCポリシーの詳細は後述しております。
DMARC(Domain-based Message Authentication, Reporting, and Conformance)
DMARCは、SPFとDKIMを利用して電子メールの認証をより強化し、フィッシングやスプーフィングを防ぐためのプロトコルです。
DMARCの動作方法
- SPFとDKIMのチェック: DMARCポリシーはまず、送信されたメールがSPFとDKIMのどちらか、または両方の認証をパスしているかどうかを確認します。
- アライメントの確認: DMARCは、メールがSPFまたはDKIM(または両方)でパスした場合、そのメールの「From」ドメインがSPFの「Return-Path」ドメインやDKIMの署名ドメインと「アライメント」しているかどうかを確認します。
- ポリシーの実行: アライメントが確認された後、DMARCポリシーに基づいて、メールを受け入れるか、拒否するか、または隔離するかを決定します。
DMARCの利点
- セキュリティ向上: DMARCは、SPFとDKIMが提供するセキュリティ機能を強化し、ドメインの乗っ取りやフィッシング攻撃を防ぐのに役立ちます。
- レポーティング: DMARCはメールの配送に関するレポートを提供し、ドメイン所有者が認証の問題を監視し、対応するのに役立ちます。
- 信頼性の向上: DMARCを利用することで、受信者はメールが信頼できる送信元から来たものであると確信できます。
アライメント
「アライメント(Alignment)」は、DMARC(Domain-based Message Authentication, Reporting, and Conformance)の文脈で使用され、メールの「From」ドメインがSPF(Sender Policy Framework)またはDKIM(DomainKeys Identified Mail)の認証結果とどの程度「一致」しているかを示す用語です。
SPFアライメント
- 目的: SPFアライメントは、メールの「Return-Path」(または「Mail-From」)ドメインが「From」ヘッダーのドメインと一致しているかどうかを確認します。
- Strictモード: メールの「Return-Path」ドメインと「From」ドメインが完全に一致している必要があります。
- Relaxedモード: トップレベルドメイン(TLD)とサブドメインが一致していれば、完全な一致ではなくても受け入れられます。例えば、「sub.example.com」と「example.com」は一致していると見なされます。
DKIMアライメント
- 目的: DKIMアライメントは、メールのDKIM署名ヘッダー内の「d=」フィールド(署名ドメイン)が「From」ヘッダーのドメインと一致しているかどうかを確認します。
- Strictモード: DKIM署名の「d=」ドメインと「From」ドメインが完全に一致している必要があります。
- Relaxedモード: こちらもSPFと同様に、トップレベルドメインとサブドメインが一致していれば、完全一致ではなくても受け入れられます。
アライメントの重要性
- セキュリティ強化: アライメントを適用することで、メールの送信元が正当であることをより確かめることができ、フィッシングやスプーフィング攻撃をより効果的に防ぐことができます。
- DMARCポリシーの適用: DMARCは、SPFとDKIMの結果がどちらもアライメント要件を満たす場合にのみ、メールを正当とみなします。これにより、DMARCポリシーに基づいたメールの処理(受け入れ、隔離、拒否)が行われます。
DMARCポリシー
DMARC(Domain-based Message Authentication, Reporting, and Conformance)ポリシーには主に以下のような設定が含まれます。
DMARCポリシーの主要な設定
ポリシー(p)
none
(レポートのみ): DMARCのチェックを行い、結果をレポートとして送信元ドメインに送りますが、メールの処理には影響を与えません。これは監視目的で使用されます。quarantine
(隔離): DMARCのチェックに失敗したメールを隔離します(例えば、スパムフォルダに移動)。これは、DMARCを導入する際の中間ステップとしてよく使用されます。reject
(拒否): DMARCのチェックに失敗したメールを完全に拒否します。これが最も厳格なポリシーであり、適切なSPFとDKIMの設定が行われている場合に推奨されます。
サブドメインポリシー(sp)
- メインドメインと異なるポリシーをサブドメインに適用したい場合に指定します。
none
、quarantine
、reject
のいずれかを設定できます。
- メインドメインと異なるポリシーをサブドメインに適用したい場合に指定します。
DKIMアライメント(adkim)
r
(Relaxedモード): DKIM署名のドメインがメールの「From」ドメインと一部一致していれば合格とみなされます。s
(Strictモード): DKIM署名のドメインがメールの「From」ドメインと完全に一致している必要があります。
SPFアライメント(aspf)
r
(Relaxedモード): SPF認証のドメインがメールの「From」ドメインと一部一致していれば合格とみなされます。s
(Strictモード): SPF認証のドメインがメールの「From」ドメインと完全に一致している必要があります。
レポートのURI(rua、ruf)
rua
: 集約レポートの送信先アドレスを指定します。これらのレポートは、DMARCのチェック結果の概要を提供します。ruf
: 詳細な失敗レポートの送信先アドレスを指定します。これらのレポートは、DMARCのチェックに失敗した個々のメールに関する詳細情報を提供します。
レポートの割合(pct)
- ポリシーを適用するメールの割合を指定します。例えば、
pct=100
はすべてのメールにポリシーを適用することを意味します。
- ポリシーを適用するメールの割合を指定します。例えば、
SPF、DKIM、DMARCの処理順序
1. メールの送信
- メールが送信されるとき、送信サーバーは、DKIMを使用してメールにデジタル署名を追加します。
2. SPFのチェック
- 受信サーバーは、メールが送信されたIPアドレスが送信元ドメインのSPFレコードに記載されているIPアドレスのリストに含まれているかどうかを確認します。
- SPFの検証結果は「パス」、「フェイル」、「ソフトフェイル」、「ニュートラル」などになります。
3. DKIMのチェック
- 受信サーバーは、メールのヘッダーにあるDKIM署名を使用して、メールが改ざんされていないことを確認します。
- DKIMの検証結果も「パス」または「フェイル」となります。
4. DMARCのチェック
- ここで、DMARCのポリシーがチェックされます。受信サーバーはメールの「From」ドメインに関連付けられたDMARCレコードを検索します。
- DMARCは、SPFとDKIMの結果に基づいて、それらがそれぞれの「From」ドメインと「アライメント」しているかどうかを確認します。
- 「アライメント」は、メールの「From」ドメインがSPFの「Return-Path」ドメインやDKIMの署名ドメインと一致しているかを意味します。
5. DMARCポリシーの実行
- DMARCポリシーに基づき、メールは受け入れられる、拒否される、または隔離されます。
- DMARCレコードには、ポリシー違反時の処理方法(例:「拒否」、「隔離」、「レポートのみ」)が指定されています。
6. レポーティング
- DMARCは、メールの処理結果に関するレポートを送信元ドメインに提供することも可能です。
このプロセスにより、メールの真正性が確認され、フィッシングやスプーフィングのリスクを軽減し、電子メールの信頼性とセキュリティを向上させます。
以上です。