フィッシング対策の基盤「DMARC」「SPF」「DKIM」の設定と運用実務
背景と概要
電子メールは企業コミュニケーションの核ですが、TCP/IPの設計上、差出人アドレス(Fromヘッダー)を容易に偽装できるという構造的弱点を抱えています。この仕様を悪用し、企業の公式ドメインになりすまして従業員や顧客に偽メールを送信するフィッシング詐欺やビジネスメール詐欺(BME)が横行しています。
このなりすましメールを防止・検知する標準的な仕組みとして、「SPF」「DKIM」、そしてそれらを統合制御する「DMARC」という3つの送信ドメイン認証技術の導入が全世界的に義務化・推奨されています。
3つの送信ドメイン認証技術の役割と仕組み
補完し合う3つの技術によってメールの真正性を検証します。
1. SPF(Sender Policy Framework):送信元IPアドレスの検証
自社ドメインのDNSレコードに「自社からメールを送信する正規のメールサーバーのIPアドレス一覧」を記述(SPFレコード)しておきます。受信側サーバーは、届いたメールの送信元IPアドレスがこのリストに含まれるか確認します。
2. DKIM(DomainKeys Identified Mail):電子署名による改ざん検知
送信側サーバーがメールの送信時にヘッダーや本文から電子署名を生成して付与します。受信側サーバーは、送信側のDNSに公開されている公開鍵を使って署名を検証し、途中でメールが改ざんされていないこと、およびドメインの正当性を証明します。
3. DMARC(Domain-based Message Authentication, Reporting, and Conformance):ポリシー制御とレポート
SPFやDKIMの検証が「失敗」したメールを受信側サーバーがどう処理すべきか(Pass, Quarantine, Reject)を、送信側ドメインの管理者が指定・制御する仕組みです。また、自社ドメインを騙ったメールの送信状況レポートを受信することができます。
DMARCポリシー段階的導入(none → quarantine → reject)のアプローチ
DMARCの設定を急に変更すると、正規の外部メルマガサービスや委託先からのメールまで拒否されるリスクがあるため、段階的な適用が推奨されます。
1. Step 1: Policy `p=none`(監視モード)
まずはDMARCレコードを `p=none` で設定し、自社ドメイン名で送信されているすべてのメール(正規・不正含む)のDMARC集計レポートを収集・解析します。ここで自社が利用しているSaaS(SalesforceやSendGrid等)のSPF/DKIM設定漏れを抽出・修正します。
2. Step 2: Policy `p=quarantine`(隔離モード)
検証に失敗した不審メールを、受信側の「迷惑メールフォルダ」へ自動振分させる設定へ変更し、影響を確認します。
3. Step 3: Policy `p=reject`(拒否モード)
検証に失敗したなりすましメールを、受信側サーバーで完全に接続拒否(ブロック)させる最も強固な保護設定を適用します。自社ドメインの偽装フィッシングを実質的に無効化できます。