DMARC - SPF/DKIMを統合するメール認証の最終防衛線

これは何?

DMARC(Domain-based Message Authentication, Reporting and Conformance)は、SPFとDKIMの検証結果を統合し、認証失敗時のポリシー(拒否・隔離・通過)を指定するメール認証技術です。さらに、認証結果のレポートを受け取ることで、なりすましメールの実態を把握できます。

DMARCレコードは、DNSのTXTレコードに以下の形式で設定します:

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100"

この設定は「SPFまたはDKIMの認証に失敗したメールは拒否せよ。集約レポート(rua)と詳細レポート(ruf)を指定されたメールアドレスに送れ」という意味です。

なぜ重要なのか

SPFとDKIMだけでは不十分な理由があります:

  1. ポリシーが明示されない: SPFやDKIMが失敗しても、受信側がどう扱うかは受信側次第
  2. 可視性の欠如: 自分のドメインがなりすまされているかどうか分からない
  3. 緩い運用: SPF/DKIM単体では、認証失敗でも受信されることが多い

DMARCを導入すると、以下のメリットがあります:

  • 明確なポリシー: 認証失敗時の処理(拒否・隔離・通過)を送信側が指定
  • レポート機能: 誰があなたのドメインからメールを送信しているか把握できる
  • 段階的導入: nonequarantinerejectと徐々に厳格化できる
  • ブランド保護: なりすましメールがユーザーに届く前にブロック

2024年以降、Gmail、Yahoo!などは、一定量以上のメールを送信するドメインにDMARC設定を義務化しています。設定しないと、正規のメールも届きにくくなります。

攻撃の仕組み

DMARCがない、または緩い設定(p=none)の場合、以下のような攻撃が容易になります:

フィッシングメールの送信

  1. 攻撃者: あなたのドメインを騙るメールを作成

    From: [email protected]
    Subject: パスワードリセットのお願い
    本文: 以下のリンクからパスワードをリセットしてください...
    
  2. SPF/DKIM失敗: 攻撃者のサーバーから送信するため、SPFとDKIMの検証は失敗

  3. DMARCなしの場合: 受信側は認証失敗を検出するが、明確なポリシーがないため、メールを受け入れるか判断が曖昧

  4. DMARC p=rejectの場合: 受信側は明確に拒否し、メールは配送されない

ビジネスメール詐欺(BEC)

経営陣を装った送金指示メールも、DMARCがあれば大幅に防げます:

From: [email protected]
To: [email protected]
Subject: 緊急送金依頼

財務部長へ
至急、以下の口座に500万円を送金してください。
詳細は後ほど説明します。

CEO

このメールがSPF/DKIM認証に失敗すれば、DMARC p=rejectにより拒否されます。

実際の被害事例

米国税務当局(IRS)を装ったフィッシング(2018年)

IRSを騙る大規模なフィッシングキャンペーンが発生し、数千人が個人情報を盗まれました。当時IRSはDMARCを設定していましたが、p=none(監視のみ)のため、なりすましメールがブロックされませんでした。その後、p=rejectに変更し、被害が大幅に減少しました。

PayPalのなりすまし対策

PayPalは早期からDMARC p=rejectを導入し、なりすましメールを徹底的にブロックしています。同社の報告によれば、DMARC導入後、フィッシングメールの報告が約半分に減少しました。

日本企業のBEC被害

2021年、国内の製造業が経営陣を装ったメールにより約1億円の被害を受けました。メールはSPF/DKIM認証に失敗していましたが、DMARCが未設定のため受信者に届いてしまいました。DMARC p=rejectがあれば、このメールは配送されませんでした。

Nyambushでの検出内容

Nyambushは、以下の項目をチェックします:

  1. DMARCレコードの存在: _dmarc.example.comにTXTレコードがあるか
  2. ポリシーの厳格性:
    • p=reject(推奨): 認証失敗メールは拒否
    • p=quarantine(許容): 迷惑メールフォルダに隔離
    • p=none(監視のみ): レポートのみで何もしない
  3. レポート設定: rua(集約レポート)とruf(詳細レポート)のメールアドレス
  4. サブドメインポリシー: sp=でサブドメインの扱いを指定
  5. アライメント設定: aspf(SPF)とadkim(DKIM)のアライメントモード

スキャン結果では、ポリシーが緩い場合、段階的な厳格化プランを提案します。

対策方法

1. 現状の把握

まず、SPFとDKIMが正しく設定されているか確認します。DMARCはこれらの上に成り立つため、SPF/DKIMが不完全だとDMARCも機能しません。

# SPFを確認
dig example.com TXT | grep spf

# DKIMを確認(セレクタ名は環境により異なる)
dig default._domainkey.example.com TXT

2. 段階的導入: Phase 1 - 監視モード

いきなりp=rejectにすると、正規のメールも拒否される可能性があります。まずはp=noneで監視し、レポートを分析します:

_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; pct=100"

パラメータの説明:

  • v=DMARC1: DMARCバージョン1
  • p=none: 認証失敗でも何もしない(レポートのみ)
  • rua=mailto:...: 集約レポートの送信先(日次・週次で届く)
  • pct=100: ポリシーを適用するメールの割合(100%)

3. レポートの分析

数週間後、ruaに指定したメールアドレスに集約レポートが届きます。XMLフォーマットですが、以下のような情報が含まれます:

  • 送信元IP
  • SPF/DKIMの認証結果
  • メールの件数
  • 認証失敗の理由

レポートを分析し、以下を確認します:

  • 正規の送信元が認証に失敗していないか: 失敗している場合、SPF/DKIMを修正
  • 不正な送信元: 知らないIPからあなたのドメインでメールが送信されていないか

レポート解析ツール(dmarcian.com、postmark.comなど)を使うと、XMLを可視化できます。

4. 段階的導入: Phase 2 - 隔離モード

レポートを分析し、正規のメールがすべて認証に成功することを確認したら、p=quarantineに変更します:

_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100"

これにより、認証失敗メールは迷惑メールフォルダに隔離されます。数週間様子を見て、問題がなければ次のステップへ。

5. 段階的導入: Phase 3 - 拒否モード

最終的にp=rejectにし、なりすましメールを完全にブロックします:

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=r; aspf=r"

追加パラメータ:

  • ruf=mailto:...: 詳細レポート(個別の認証失敗ごとに送信)
  • adkim=r: DKIM Relaxedアライメント(サブドメイン許容)
  • aspf=r: SPF Relaxedアライメント

6. サブドメインの保護

サブドメインもなりすまされる可能性があるため、sp=で保護します:

v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected]

これにより、subdomain.example.comからのメールもDMARC検証されます。

7. 継続的な監視

DMARCレポートは継続的に届くため、定期的に確認します:

  • 新しい送信元が追加されていないか
  • 不正ななりすまし試行がないか
  • SPF/DKIMの設定変更が必要ないか

Nyambushの有料プランでは、DMARCレポートの解析と可視化も提供予定です。

まとめ

DMARCは、SPFとDKIMを統合し、メール認証の最終防衛線を構築します。p=rejectに設定すれば、あなたのドメインを騙るなりすましメールはほぼ完全にブロックできます。

導入は段階的に行い、nonequarantinerejectと徐々に厳格化することで、正規のメールへの影響を最小限に抑えられます。レポート機能を活用すれば、誰があなたのドメインからメールを送信しているか、可視化できます。

GmailやYahoo!がDMARCを義務化した今、設定は「やるべきこと」ではなく「やらなければならないこと」になっています。Nyambushの無料スキャンで、今すぐあなたのドメインのDMARC設定を確認してみてください。

この記事をシェア:Xでポスト

あなたのドメインは安全ですか?

Nyambushで今すぐ無料スキャンして、セキュリティリスクをチェックしましょう。