SPF・DKIM・DMARC|Gmailで迷惑フォルダ?なりすまし対策~仕組みと設定方法を初心者向けに徹底解説~

facebookでShare
XでPostする

重要な業務連絡やあなたが心を込めて作ったメールマガジンが、相手の「迷惑フォルダ」に入っていたとしたら—。

実はこの問題、メールの内容ではなく、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の検証フローは以下の手順で行われます。

  1. 送信者がメールを送信する
  2. 受信サーバーは、メールが届いたサーバーのIPアドレスを記録する
  3. エンベロープFromのドメイン(例:example.com)でDNSを検索する
  4. DNSのTXTレコードにあるSPFレコードと、実際の送信IPを照合する
  5. 一致すれば「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の仕組みは、公開鍵暗号を利用した電子署名です。

送信側の処理は以下の手順で行われます。

  1. メールの内容(ヘッダ+本文)からハッシュ値を計算する
  2. 秘密鍵でハッシュ値を暗号化して「署名」を作成する
  3. 署名をDKIM-Signatureヘッダとしてメールに付加して送信する

※ハッシュ値とは、データを特別な計算(ハッシュ関数)で変換した固定長の文字列で、元に戻すことのできない一方向の変換(不可逆)で生成される

受信側の処理は以下の手順で行われます。

  1. DKIM-Signatureヘッダから署名ドメイン(d=)とセレクター(s=)を取得する
  2. DNSから公開鍵を取得する
  3. 公開鍵で署名を復号してハッシュ値を取り出す
  4. 受信したメール本文のハッシュ値と照合する

※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の機能一覧・料金表を今すぐ確認!

▼こちらもおすすめ!あわせて読みたい

サムネイル

情報漏えいを防ぐ9つの対策・ポイント、流出の主な原因

企業で情報漏えいが発生すると、損害賠償請求など事業の存続に関わる事態となる可能性があります。情報漏えいのリスクを低減するためには、事前に対策を行うことが大切です。今回は、情報漏えい対策のポイントや発生の主な原因についてご紹介しております。

facebookでShare
XでPostする
learningBOXを
もっと知りたい方へ