なぜ”仕組み”が必要なのか
初心者編では「違和感に気づく」、中級者編では「具体的に確認する」方法を解説してきました。しかし、これらはすべて「メールを受け取った人間が、自分で判断する」という前提に立っています。
では、こんなメールが届いたらどうでしょうか?
差出人: 経理部 田中 <[email protected]>
件名: 【至急】請求書送付の件
お疲れ様です。経理の田中です。
先ほどの会議でお話しした請求書を添付します。
本日中にご確認いただき、振込手続きをお願いいたします。
不明点があれば内線までご連絡ください。
田中
差出人は自社ドメイン、文面は自然、添付ファイルも普段やり取りしている形式。中級者編で紹介した目視チェックでは、ほぼ見抜けません。
実は、攻撃者はあなたの会社のドメインを”なりすまし”て、社外の取引先や、同じ会社の社員にメールを送ることができます。これを防ぐには、人の判断ではなくメールの仕組みそのもので対策する必要があります。
上級者編では、以下の2つの視点を扱います。
- 受信側として:メールヘッダーを見て、本物か偽物かを判断する
- 送信側として:SPF / DKIM / DMARC という仕組みを理解する
メールの正体は”ヘッダー”を見ればわかる
普段見ている「差出人」「件名」「本文」は、メールのほんの一部にすぎません。メールには本来、ヘッダー情報と呼ばれる、配送経路や認証結果が記録された”裏側のデータ”が必ず付いています。
主要メーラーでのヘッダー表示方法は以下のとおりです。
| メーラー | 表示方法 |
|---|---|
| Gmail | メールを開く → 右上の「︙」→「メッセージのソースを表示」 |
| Outlook(新版) | メールを開く → 「︙」→「表示」→「メッセージのソースを表示」 |
| Outlook(旧版/デスクトップ) | メールを開く → 「ファイル」→「プロパティ」→「インターネットヘッダー」 |
| Thunderbird | メールを開く → 「その他」→「ソースを表示」 |
ヘッダーには大量の情報が並んでいますが、上級者がまず注目すべきは Authentication-Results: という1行です。ここに、後で説明する SPF / DKIM / DMARC の判定結果がまとめて記録されています。
例えばこんな表示になります。
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of [email protected] ...) [email protected];
dkim=pass [email protected];
dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=example.co.jp
各項目が pass なら認証成功、fail なら失敗です。3つすべてが pass なら、ほぼ間違いなく「名乗っているドメインから本当に送られたメール」と判断できます。
ヘッダー解析を手助けしてくれる「Google Admin Toolbox Messageheader」
とはいえ、生のヘッダー情報は読みづらいものです。そこで便利なのが、Googleが提供している無料ツール Google Admin Toolbox Messageheader。
🔗 https://toolbox.googleapps.com/apps/messageheader/
使い方はシンプルで、メーラーで表示したヘッダー情報をコピーして貼り付け、「上記のヘッダーを分析」をクリックするだけ。SPF/DKIM/DMARCの判定結果や、メールがどのサーバーを経由してきたか、どこで遅延が発生したかが、視覚的にわかりやすく整理されて表示されます。
中級者編で紹介したSecURLが「URLの中身を覗くツール」だったのに対し、こちらは「メールの裏側を覗くツール」。あわせて覚えておくと、怪しいメールへの対応力が一段上がります。
では、この SPF / DKIM / DMARC とは具体的に何なのか? 順番に見ていきましょう。
迷惑メールを”仕組み”で防ぐ3つの認証技術
【SPF】送信元サーバーは正しいか?
SPF(Sender Policy Framework) は、ひとことで言うと「このドメインを名乗っていいサーバーのリスト」を、ドメイン所有者があらかじめ公開しておく仕組みです。
例えるなら、会社の受付に「今日来訪する業者リスト」を貼っておくようなもの。受付担当(受信側のメールサーバー)は、来訪者(送信元サーバー)が本当にリストに載っているかをチェックします。
具体的な流れはこうです。
- ドメイン所有者が「自社のメールを送ってよいサーバーのIPアドレス」をDNSに公開する
- メールを受信したサーバーが、送信元IPアドレスとDNSのリストを照合する
- 一致すれば
pass、一致しなければfail
DNS設定の例:
example.co.jp. TXT "v=spf1 include:_spf.google.com ~all"
これは「Googleのメールサーバーから送られたメールだけが正規です」という宣言にあたります。
【DKIM】途中で改ざんされていないか?
DKIM(DomainKeys Identified Mail) は、送信側がメールに電子署名をつけて、受信側がその署名を検証する仕組みです。
例えるなら、書類に「割り印」を押して、途中で内容がすり替えられていないことを証明するイメージ。送信ドメインの所有者しか作れない署名を本文・ヘッダーに付与することで、メールが本物であることと、配送中に改ざんされていないことを同時に証明できます。
具体的な流れはこうです。
- 送信側のメールサーバーが、秘密鍵でメールに署名をつけて送信
- 送信側ドメインのDNSに、署名検証用の公開鍵を公開しておく
- 受信側のサーバーがDNSから公開鍵を取得し、署名を検証
- 署名が正しければ
pass、改ざんがあればfail
SPFが「送信元サーバーの正当性」を確認するのに対し、DKIMは「メールの中身そのものが本物か」を確認する、という違いがあります。両方を組み合わせることで、より強固な認証ができます。
【DMARC】SPF/DKIMが失敗したらどうする?
DMARC(Domain-based Message Authentication, Reporting and Conformance) は、SPFやDKIMが失敗したメールを「どう扱うべきか」を、ドメイン所有者自身が宣言できる仕組みです。
SPFとDKIMはあくまで「認証する」だけの仕組みで、失敗したメールをどう扱うかは受信側の判断に任されていました。これを統一的にコントロールするのがDMARCです。
ドメイン所有者が指定できるポリシーは、以下の3段階です。
| ポリシー | 意味 |
|---|---|
p=none |
失敗しても何もしない(モニタリングのみ) |
p=quarantine |
失敗したら迷惑メールフォルダに隔離 |
p=reject |
失敗したら受信拒否(届かない) |
さらに DMARC には、レポート機能が備わっています。「自社ドメインを名乗ったメールが、どこから何通送られたか」を集計したレポートが、設定したアドレスに定期的に届くようになっています。
これにより、「誰が自社になりすましてメールを送っているか」が可視化できます。攻撃の実態を把握する強力な手がかりになります。
DNS設定の例:
_dmarc.example.co.jp. TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
3つの認証技術の関係を整理
SPF / DKIM / DMARC の役割を一枚の表にまとめると、次のようになります。
| 技術 | 何をチェックするか | 例えるなら |
|---|---|---|
| SPF | 送信元サーバーが正しいか | 受付の来訪者リスト |
| DKIM | 本文が改ざんされていないか | 書類の割り印 |
| DMARC | 認証失敗時の扱い+レポート | 不審者対応マニュアル+監視カメラ |
3つはセットで導入してこそ、本来の効果を発揮します。
日本企業の対応状況:設定はしたけど、効いていない
ここで気になるのが、「実際、日本企業はどのくらい対応しているのか?」という点です。
総務省「令和6年版 情報通信白書」によると、.jpドメイン全体での導入状況は以下の通り(2023年12月時点)。
| 技術 | 導入率 |
|---|---|
| SPF | 約82.9% |
| DMARC | 約10.2% |
SPFは比較的普及しているものの、なりすまし対策の本丸であるDMARCはまだ約1割にとどまります。さらに、その導入済み企業のうち多くが p=none(モニタリングのみ)で止まっており、「設定はしたけど、効いていない」状態の企業も少なくありません。海外、特に欧州各国と比較すると、日本は導入率・実効性ともに極端に低い水準にあります。
※出典:総務省「令和6年版 情報通信白書」(2023年12月時点のJPドメインでの普及状況)
まとめ:仕組みを知ることが、第一歩
上級者編では、メールのなりすましを防ぐ3つの認証技術を解説しました。
- SPF:送信元サーバーが正しいか
- DKIM:メールが改ざんされていないか
- DMARC:認証失敗時にどう扱うか、レポートで誰がなりすましているかも可視化
これらは、自分が騙されないだけでなく、自社ドメインが攻撃者に悪用されることを防ぐための仕組みです。取引先や顧客の元に「あなたの会社の名前を騙ったメール」が届いたとき、信用を失うのは攻撃者ではなく自社です。
では、自社で具体的に何から始めればよいのか? 全4回シリーズの締めくくりとなる【まとめ編】では、シリーズ全体を振り返ったうえで、自社ドメインを守るための実践ステップを解説します。あわせてご覧ください。