SPF・DKIM・DMARC|Gmailで迷惑フォルダ?なりすまし対策~仕組みと設定方法を初心者向けに徹底解説~
重要な業務連絡やあなたが心を込めて作ったメールマガジンが、相手の「迷惑フォルダ」に入っていたとしたら—。 実はこの問題、メールの内容ではなく、DNS(ドメイン・ネーム・システム)に設定する送信ドメイン認証が原因であることがほとんどです。DNSとは、インターネット上でドメインとサーバーを結びつける仕組みであり、メールの信頼性を判断する土台でもあります。 2024年2月、Googleは送信者ガイドラインを大幅に強化しました。1日5,000通以上のメールを送る事業者には、SPF・DKIM・DMARCの3つ全ての対応が必須となっています。 さらに2025年1月から、NTTドコモが送信ドメイン認証を導入していないメールに「なりすましメール警告表示」を順次開始。今やDNSが正しく設定されていないメールは、届かない時代になりつつあります。 しかし「SPF?DKIM?DMARC?それは何?よく分からない」という方も少なくないのではないでしょうか。本記事では、専門知識ゼロからでも理解できるよう、3つの技術の仕組み・違い・DNSの設定方法を徹底解説します。 なぜ今「送信ドメイン認証」が必要なのか? なりすましメールによる被害は年々増加し、企業の金銭的損失や情報漏えい、さらにはブランド毀損(きそん)にもつながっています。こうした脅威に対抗するのが、SPF・DKIM・DMARCと呼ばれる送信ドメイン認証技術です。 SPF(エスピーエフ)は、「その送信元サーバーが正規かどうか」を確認する仕組みです。DKIM(ディーキム)は、メールに電子署名を付与し、「なりすましではないか」「内容が改ざんされていないか」を検証する技術です。DMARC(ディーマーク)は、SPFやDKIMの結果をもとに「認証に失敗したメールをどう扱うか」を定めるポリシーです。 これらを適切に設定することで、なりすましメールのリスクを大きく低減できます。その重要性について見ていきましょう。 なりすましメールの現状 近年、実在する企業や人物を装った「なりすましメール」による被害が急増しています。取引先を装ったメールでマルウェア(悪意のある目的で作られたソフトウェアの総称)に感染させ、個人情報を流出させたり、偽の銀行口座への振込を指示するメールで、金銭をだまし取られたりするケースもあります。 なりすましメールが巧妙なのは、送信者のFromアドレスをメール技術上、自由に書き換えられる点です。攻撃者は正規企業のドメインを詐称して、一見まったく怪しくないメールを送り付けてきます。人の目で見分けることは非常に困難で、だからこそ被害が後を絶ちません。 また、なりすましメールはブランド毀損(きそん)のリスクにも直結します。自社ドメインが悪用されてフィッシングメールが大量に送信された場合、受信者の信頼を大きく損なう恐れがあります。さらに、その影響で正規のメールまで迷惑メールフォルダに振り分けられてしまい、顧客との重要なコミュニケーションに支障をきたす可能性もあります。 Gmail送信者ガイドラインの影響 2024年2月、Googleは「メール送信者のガイドライン」を強化しました。ガイドラインの概要は以下の通りです。 全送信者に必須 SPFまたはDKIMのいずれか一方への対応 1日5,000通以上の大量送信者 SPF・DKIM・DMARCの3つすべてへの対応 未対応のままでは、Gmailユーザーへのメールが届かなくなる可能性があります。さらに実態として、DKIMは大量送信者でなくても実質必須の環境になりつつあります。DKIMがないとGmailのスパムフィルターに強く引っかかるためです。 【参考】 Gmail,「メール送信者のガイドライン」 NTTドコモの「なりすましメール警告表示」 NTTドコモが、2025年1月より順次、送信ドメイン認証未対応のメールに対して「なりすましメール警告表示」を開始しています。個人向けメール配信を行う事業者にとっても、対応は急務となっています。 【参考】 NTTドコモ,「なりすましメール警告表示」 目次に戻る メールはどうやって送られているのか?(超基礎) 送信ドメイン認証を理解する上で、まず知っておきたいのが「エンベロープFrom」と「ヘッダFrom」の違いです。メールの仕組みは、封筒と手紙の関係に例えると理解しやすいです。 封筒の差出人(エンベロープFrom) これは、配達のための差出人です。郵便でいうと、封筒に書く名前です。メールを受け取る人の画面には表示されません。 手紙の差出人(ヘッダFrom) こちらは、画面に表示される差出人です。私たちがメールの受信画面で目にしている「送信者情報」は、こちらを指します。 なりすましはここを悪用する メールの基本構造(エンベロープFromとヘッダFrom) 封筒の差出人と手紙の差出人が違っていても、メールは届きます。表示される名前だけを変えることもできます。 たとえば、「info@大手銀行.co.jp」と表示させながら、別の場所から送ることができます。これが、なりすましメールの手法です。 この問題を防ぐ仕組みが、SPF・DKIM・DMARCです。まずは「差出人が2つある」と覚えておきましょう。 目次に戻る SPFとは?(送信元IPを確認する仕組み) なりすまし対策の第一歩がSPFです。これは、メールを送ってもよいサーバーをDNSに登録しておく仕組みです。Gmailはメールを受け取ると、その送信元が正しいかどうかを確認します。まずはこの「送信元チェック」の仕組みから理解していきましょう。 SPFの基本概念 SPF(Sender Policy Framework)とは、「このドメインからのメールを送ってよいサーバー」をDNSに事前に宣言しておく仕組みです。 例えば、「example.com のメールは、IPアドレス 203.0.113.1(※説明用の例)のサーバーからのみ送信されます」といった情報をDNSにあらかじめ登録しておきます。 メールを受信した側は、実際に送信してきたサーバーのIPアドレスが、その登録済みのリストに含まれているかを照合します。もしリストにないIPアドレスから送られてきた場合は、「なりすましの可能性があるメール」と判断することができます。 SPFの仕組み SPFの検証フローは以下の手順で行われます。 送信者がメールを送信する 受信サーバーは、メールが届いたサーバーのIPアドレスを記録する エンベロープFromのドメイン(例:example.com)でDNSを検索する DNSのTXTレコードにあるSPFレコードと、実際の送信IPを照合する 一致すれば「SPF認証成功(Pass)」、不一致なら「失敗(Fail/SoftFail)」と判定する SPFの仕組み:受信サーバーがDNSを参照してIPを照合する SPFレコードの読み方(参考) 実際のSPFレコードはDNSのTXTレコードに以下のように記述します。 v=spf1 include:spf.google.com ip4:203.0.113.1 ~all 各要素の意味 v=spf1:SPFバージョン1の宣言 include:spf.google.com:Googleのメールサーバーからも送信を許可(Gmailなど外部サービスを使う場合) ip4:203.0.113.1:このIPアドレスからの送信を許可 ~all:上記以外は「SoftFail(警告)」として扱う(-all なら完全拒否) ~all と -all の違いは、SPF失敗時の処理の厳しさです。-all(HardFail)は完全拒否を推奨しますが、転送メールで正規メールが誤検知される可能性があるため、多くの場合まず ~all で様子を見ることが推奨されます。 SPFの限界 ここまで見ると、「SPFを設定すればなりすましは防げる」と思えるかもしれません。しかし、SPFだけでは不十分です。実はSPFには、構造上どうしても避けられない弱点があります。 ヘッダFromを検証しない SPFが検証するのはエンベロープFrom(封筒の差出人)です。メールソフトに表示されるヘッダFrom(手紙の差出人)は検証しません。 つまり、エンベロープFromを正規ドメインに設定したまま、ヘッダFromだけを詐称するなりすましは、SPFだけでは防げません。 転送に対応できない メールが転送された場合、転送サーバーのIPアドレスが新たな「送信元IP」になります。しかし転送サーバーのIPはSPFレコードに登録されていないため、正規のメールなのにSPF認証が失敗してしまいます。 こうした弱点を補うために登場したのが、次に解説するDKIMです。 目次に戻る DKIMとは?(改ざん防止の電子署名) SPFが「送信元のサーバー」を確認する仕組みだとすると、次に必要になるのは「メールそのものが本物かどうか」を確認する仕組みです。そこで登場するのがDKIMです。 DKIMの基本イメージ SPFが「送ってよいサーバーのリスト」だとすると、DKIMは「本物である証明の印鑑」です。DKIMの考え方は、大切な書類に社印を押すようなものです。 送信者がメールに「電子署名」を押し、受信者がその署名を検証することで「このメールは本物の送信者が作成し、途中で改ざんされていない」と確認できます。 DKIMの仕組み DKIMは、メールに「電子署名」を付ける仕組みです。SPFが送信元IPを確認するのに対し、DKIMは「正当な送信元から送られたメールである(なりすましではない)か」「メールの内容が改ざんされていないか」を確認します。DKIMの仕組みは、公開鍵暗号を利用した電子署名です。 送信側の処理は以下の手順で行われます。 メールの内容(ヘッダ+本文)からハッシュ値を計算する 秘密鍵でハッシュ値を暗号化して「署名」を作成する 署名をDKIM-Signatureヘッダとしてメールに付加して送信する ※ハッシュ値とは、データを特別な計算(ハッシュ関数)で変換した固定長の文字列で、元に戻すことのできない一方向の変換(不可逆)で生成される 受信側の処理は以下の手順で行われます。 DKIM-Signatureヘッダから署名ドメイン(d=)とセレクター(s=)を取得する DNSから公開鍵を取得する 公開鍵で署名を復号してハッシュ値を取り出す 受信したメール本文のハッシュ値と照合する ※d=(署名ドメイン)とは、メールに署名したドメイン名。「このドメインが責任を持っています」という意味※s=(セレクター)とは、公開鍵を探すための名前(識別子)。1つのドメインで複数の鍵を使えるようにするためのもの DKIMの仕組み:公開鍵暗号による電子署名でメールの改ざんを検知する 一致すれば「DKIM認証成功」となり、そのメールは改ざんされておらず、本物の送信者が作成したものと確認できます。 DKIM-Signatureの中身(参考) 実際にメールヘッダに付けられるDKIM-Signatureは以下のような構造です。 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;d=example.com; s=google; …省略…bh=ハッシュ値; b=署名データ 主なパラメータ d=(ドメイン):署名を行ったドメイン。DMARCのアライメントチェックに使われる重要な値 s=(セレクター):DNSで公開鍵を検索するためのキー a=(アルゴリズム):署名アルゴリズム(rsa-sha256が一般的) セレクターとは? セレクターとは、1つのドメインで複数のDKIM鍵ペアを使い分けるための識別子です。 例えば d=example.com, s=google であれば、受信サーバーは google._domainkey.example.com というDNSレコードを参照して公開鍵を取得します。 これにより、メールサービスを複数使っていても、それぞれ別のセレクターで管理できます。 複数サービスの鍵を使い分ける仕組み DKIMの限界 SPFやDKIMを設定していれば、「なりすまし対策は万全」と思われがちです。しかし、DKIMにも弱点があります。 リプレイ攻撃 有効なDKIM署名がついたメールを悪意のある第三者が取得し、そのまま別の宛先に再送する「リプレイ攻撃」を防ぐことができません。 単体ではポリシー制御不可 DKIMは「本物かどうか」を確認しますが、「認証に失敗したときにどう処理するか」というポリシーを定める機能はありません。失敗時の処理はDMARCが担います。 DKIMは「本物かどうか」を確認する仕組みです。しかし、認証に失敗したメールをどう処理するかまでは決められません。その役割を担うのが、次に解説するDMARCです。 目次に戻る DMARCとは?(最終判断をする司令塔) SPFとDKIMで「送信元」と「改ざんの有無」を確認できるようになりました。では、もしどちらかが失敗した場合、そのメールはどう扱われるのでしょうか?その最終判断を行うのがDMARCです。 DMARCの役割 DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFとDKIMの「結果」を受け取り、認証失敗時の処理を決定する司令塔です。DMARCは以下の3つの役割を持ちます。 最終判定 SPFとDKIMの認証結果とアライメント(後述)を組み合わせて、メールの真正性を総合的に判断します。 ポリシー宣言 認証失敗時に受信サーバーがどう処理すべきかを指定します。 レポート受信 誰がどのドメインからメールを送っているかの集計レポートを受け取ることができます。 DMARCポリシー DMARCレコードは、DNSに設定する「メールの扱いルール」です。以下のように表示されます。 v=DMARC1; p=none; DMARCレコードの「p」は“policy(方針)”の略で、認証に失敗したメールをどう処理するかを指定します。 3段階のポリシー DMARCでは3段階のポリシーを設定できます。 ポリシー 意味 推奨用途 none 監視のみ。メールの処理に影響しない 導入初期の調査・監視期間 quarantine 認証失敗メールを迷惑フォルダへ振り分け 中間段階 reject 認証失敗メールを完全に拒否 本格運用 段階的導入が必要な理由 DMARCはいきなりrejectを設定してはいけません。理由は2つあります。まず、全ての正規メール送信経路を把握しないままrejectにすると、メールマガジン配信サービス・社内システム・外部アプリから送られる正規メールまで拒否されてしまいます。次に、SPFやDKIMの設定が完全でない状態でrejectにすると、正規メールが大量に拒否される可能性があります。 推奨ステップ p=noneで監視開始(DMARCレポートで送信経路を把握) 全経路のSPF・DKIMが整ったらp=quarantineに移行 問題がなければp=rejectに引き上げ DMARCの判定には「アライメント」という重要な概念が関わっています。次に、その仕組みを詳しく見ていきましょう。 目次に戻る DMARCの「アライメント」とは? ここまでSPF・DKIM・DMARCの仕組みを見てきました。しかし「認証は成功しているのにDMARCが失敗する」ことがあります。その原因が アライメント不一致 です。 なぜアライメントが重要なのか? アライメントとは、認証に使われたドメインと、画面に表示される差出人(From)が一致しているかを確認する仕組みです。DMARCはこのチェックをSPFとDKIMの両方に対して行います。 SPFアライメント SPFは「封筒の差出人」(エンベロープFrom)のドメインを検証します。DMARCは、SPFで認証に成功したドメインが、表示From(ヘッダFrom)のドメインと一致しているかを確認します。 DKIMアライメント DKIMは署名に含まれる「d=ドメイン」を検証します。DMARCは、DKIM署名が成功し、その d=ドメインが表示From(ヘッダFrom)のドメインと一致しているかを確認します。 RelaxedとStrictの違い RelaxedとStrictは、アライメント(ドメイン一致)の判定の厳しさを決める設定です。DMARCレコードの中で指定します。 Relaxedはサブドメインを許容する緩やかな判定、Strictは完全一致のみ許可する厳格な判定です。特別な理由がない限り、通常はRelaxedで問題ありません。 DMARCは「どちらか一方OK」で成立 重要なのは、DMARCはSPFアライメントとDKIMアライメントのどちらか一方が通過すればDMARC PASS(成功)になる点です。 これはメール転送によってSPF認証が通過しないケースなどでも、DKIMアライメントが通過していればDMARCが成立することを意味します。だからこそ「SPFとDKIMを両方設定する」ことが重要です。 DMARCの仕組み図解 目次に戻る よくある質問 ここでは、よくある質問について紹介します。 Q. なぜ迷惑メールに入るのか?A. SPFやDKIMが未設定・設定ミスの場合、受信側のメールサーバーが「信頼できない送信元」と判断して迷惑フォルダに振り分けます。Gmailは特に、DKIM未署名のメールを厳しく扱います。 Q. 表示名なりすましは防げる?A. SPF・DKIM・DMARCでは「表示名」のなりすましは防げません。例えば「山田太郎 attacker@evil.com」のように、実際の送信元はevil.comであっても、メールソフト上の表示名を「山田太郎」と偽ることができます。表示名なりすましの対策にはBIMI(Brand Indicators for Message Identification)の導入が有効です。 Q. 転送でSPF認証が通過しなくなるのはなぜ?A. メールが転送されると、転送サーバーが新たな「送信元IPアドレス」になります。しかし転送サーバーのIPはオリジナル送信者のSPFレコードに登録されていないため、SPF認証が失敗します。これを回避する仕組みとして「SRS(Sender Rewriting Scheme)」があり、転送時にエンベロープFromを書き換えてSPFが通るようにします。DKIMは転送時もメール本文・ヘッダが改変されなければ署名が維持されるため、転送耐性があります。 目次に戻る まとめ 本記事では、メールが迷惑フォルダに入る原因となる「送信ドメイン認証」の仕組みを解説しました。 SPF(Sender Policy Framework):送信元IPアドレスをDNSで宣言し、なりすましメールを検出する仕組みです。設定は比較的簡単ですが、ヘッダFromを検証せず、転送により認証を通過しなくなるケースもあるという限界があります。 DKIM(DomainKeys Identified Mail):電子署名でメールの本物性と改ざんの有無を証明します。転送にも強く、ヘッダFromドメインも検証できます。 DMARC(Domain-based Message Authentication, Reporting, and Conformance):SPFとDKIMの結果を使い、認証失敗時の処理(none/quarantine/reject)を宣言し、レポートを受け取れる仕組みです。SPFまたはDKIMのアライメントが通過すれば成立します。 この3つはセットで機能します。それぞれ単独では不十分であり、組み合わせることで初めて強固な送信ドメイン認証が完成します。 まずは「SPFとDKIMを設定」「DMARCをp=noneで監視開始」から取り組んでみてください。 learningBOXの機能一覧・料金表を今すぐ確認! 資料ダウンロード ▼こちらもおすすめ!あわせて読みたい