メールスプーフィング
メールスプーフィングとは、メールの送信者アドレスを偽装し、実際には送っていない人物から届いたかのように見せかけることです。従来のSMTPプロトコルは、`From` 行でドメインを使用する権限を誰が持っているかを検証しなかったため、攻撃者は自分のサーバーから送るメールにあなたのドメインを載せることができます。そして、適切なDNSレ
メールスプーフィングとは、メールの送信者アドレスを偽装し、実際には送っていない人物から届いたかのように見せかける手口です。従来のSMTPプロトコルは、From 行でドメインを使用する権限を誰が持っているかを検証しなかったため、攻撃者は自分のサーバーから送るメールにあなたのドメインを載せることができます。そして、適切なDNSレコードが整っていなければ、受信サーバーにはそれを確実に見抜く手段がありません。スプーフィングは、フィッシング、ビジネスメール詐欺(BEC)、請求書詐欺の大半を支える仕組みであり、その防御策こそ本サイトの土台となっている3つのDNSレコード、すなわち SPF、DKIM、DMARC です。
メールスプーフィングの仕組み
すべてのメールには、実は2つの送信者IDが載っています。エンベロープ送信者(SMTPのやり取りで使われる MAIL FROM アドレス)と、ヘッダーFrom(メールクライアントが表示する分かりやすいアドレス)です。攻撃者はこの2つのギャップを突きます。
- 攻撃者はメールサーバーに接続し、通常のSMTPセッションを開始します。
- メッセージのヘッダーで、
Fromフィールドにあなたのドメインを単に書き込むだけです。billing@yourcompany.comと入力するのを止めるものは何もありません。 - 受信サーバーはそのメッセージを配信します。あなたのドメインが認証レコードを公開していなければ、受信者には信頼できそうな送信者が見えるだけで、何の警告も表示されません。
スプーフィング攻撃では、何も「ハッキング」されていません。パスワードが盗まれるわけでも、サーバーが侵害されるわけでもありません。攻撃者は、ドメインがデフォルトではどのサーバーが自分に代わって送信を許可されているかを宣言していないという事実を悪用しているのです。その宣言こそが、まさにSPF、DKIM、DMARCが提供するものです。
メールスプーフィングの主な種類
スプーフィングにはいくつかの明確な形態があり、それぞれに特有の兆候と対策があります。
- ドメインスプーフィング — 攻撃者が
Fromアドレスにあなたの正確なドメインを偽装します。これはSPF、DKIM、DMARCが直接防ぐものです。 - 表示名スプーフィング — 表示される名前は「あなたのCEO」となっているのに、その裏にある本当のアドレスは無料のウェブメールアカウントです。送信ドメインが実際には攻撃者のものなので、DMARC単独ではこれをブロックできません。
- 類似・そっくりドメイン —
yourcompany-support.comやyourcompanny.comといった、攻撃者が実際に所有し認証できるドメインからメッセージが届きます。これらを打ち破るには、SPFだけでなく監視とユーザーの意識が必要です。 - エコー・返信チェーンスプーフィング — 攻撃者は実際に以前送信されたスレッドを再利用し、偽装した返信を正当に見せかけます。
どの種類に直面しているかを知ることで、認証レコードだけで完全に止められるのか、それとも保護ツールと監視も必要なのかが分かります。
SPF、DKIM、DMARCがスプーフィングを止める仕組み
この3つのレコードは、すべての受信メッセージに対する多層的なチェックとして機能します。
- SPF は、あなたのドメインのメール送信を許可されたIPアドレスのリストを公開します。受信者は、送信サーバーがそのリストに含まれているかどうかを確認します。SPFチェッカーで自分のレコードを構築・監査しましょう。
- DKIM は、メッセージが改ざんされておらず、本当にあなたのドメインから届いたことを証明する暗号署名を追加します。
- DMARC は、SPFとDKIMを表示される
Fromアドレスに紐付け(アライメント)、メッセージが失敗したときに受信者が取るべき対応(none、quarantine、reject)を指示します。
-all のSPFポリシーと p=reject のDMARCポリシーとともに公開すれば、攻撃者がドメインを偽装したメールを受信トレイに届けることは事実上不可能になります。メールスプーフィングを防ぐ方法に関する詳しい解説では、公開すべき正確なレコードを取り上げています。
落とし穴:SPFだけでは不十分であり、しかも静かに壊れる
SPFの公開は最初の一歩ですが、SPFには10回のDNSルックアップという厳しい上限があり、認可するESP、CRM、マーケティングツールのすべてがそれを消費していきます。上限を超えるとSPFは PermError を返し、レコード全体が無効化されます。その時点で正当なメールが失敗し始め、さらに悪いことに、スプーフィング対策の保護が静かに機能しなくなります。これこそAutoSPFが解決する問題です。AutoSPFはSPFレコードを自動的にフラット化し、上限内に保つため、送信スタックが変化してもスプーフィングを止める認証が健全に保たれます。DKIMと p=reject のDMARCポリシーと組み合わせれば、ドメインスプーフィングは単純に機能しなくなります。
その根底にあるレコードに詳しくないですか?まずはSPFレコードの作成方法とSPFレコード構文リファレンスから始め、自分のレコードが10ルックアップの上限内に収まっていることを確認しましょう。
よくある質問
メールスプーフィングとは何ですか?
メールスプーフィングとは、メールの送信者アドレスを偽装し、実際には送っていない人物やドメインから届いたかのように見せかけることです。これは基本的なSMTPが From アドレスを検証しないという事実に依存しており、フィッシングやビジネスメール詐欺の主要な手口となっています。SPF、DKIM、DMARCは、受信者がこれを検出して拒否できるようにするDNSレコードです。
SPFはメールスプーフィングを止めますか?
SPFは、どのサーバーがドメインの送信を許可されているかを受信者に伝えることで、攻撃者があなたの正確なドメインを偽装するのを止めます。ただし、それはDKIMおよび quarantine か reject に設定されたDMARCポリシーと組み合わせた場合、そしてSPFレコードが10ルックアップの上限内で有効に保たれている場合に限ります。SPF単独、あるいは壊れたSPFレコードは、スプーフィング犯が悪用する隙を残します。
メールスプーフィングは完全に防げますか?
ドメインスプーフィング(あなたの正確なドメインの偽装)は、SPF、DKIM、そして p=reject のDMARCポリシーで事実上排除できます。表示名スプーフィングやそっくりドメインのスプーフィングは、DNSレコードだけではブロックできません(攻撃者はあなたのドメインを使っていないため)。そのため、これらには受信者の意識と監視も必要です。
メールスプーフィングはフィッシングと同じですか?
いいえ。スプーフィングは手口(送信者アドレスの偽装)であり、フィッシングは目的(誰かをだまして情報やお金を差し出させること)です。ほとんどのフィッシングはスプーフィングを使いますが、すべてがそうではありません。詳しい違いについてはメールスプーフィングとフィッシングの違いをご覧ください。
自分のドメインがスプーフィングされているかどうかは、どうすれば分かりますか?
兆候としては、送った覚えのないメールに対するバウンスメッセージ(バックスキャッター)、あなたのドメインからの不審なメールを受信者が報告してくること、そして最も確実なものとして、認識のないIPから認証に失敗しているメールを示すDMARC集計レポートがあります。DMARC(p=none であっても)を公開すると、そのレポート機能が有効になります。