SPFとは?なりすまし対策メール認証の仕組みをわかりやすく解説
SPF(Sender Policy Framework)とは、「自社ドメインからメールを送ってよいサーバーはどれか」をDNSに公開しておき、受信側がなりすましを見破れるようにするメール認証の仕組みです。
一言でいうと:SPFは「うちのメールは、この送信サーバーからしか出しません」という”差出人の住所登録”。受信側はその登録と照合して、登録外から来たメールを怪しいと判断できます。
メールは仕組み上、差出人のアドレスを自由に詐称できます。取引先や自社の社長を装った詐欺メール(BECビジネスメール詐欺)が成立するのはこのためです。SPFは、この「送信元の詐称」を技術的に検出するための、もっとも基本的な仕組みです。
SPFが解決する問題
通常のメールには、送信元を保証する仕組みがありません。攻撃者は keiri@your-company.co.jp といった実在ドメインを差出人に設定し、まったく無関係なサーバーからメールを送れます。
SPFを設定すると、受信側サーバーは次の照合を行えます。
- 届いたメールの送信元IPアドレスを確認する
- そのドメインのDNSからSPFレコードを取得する
- 送信元IPがSPFレコードに登録されていれば「正規」、なければ「なりすましの疑い」と判定する
つまりSPFは、ドメイン所有者があらかじめ「正規の送信サーバー一覧」をDNSに宣言しておく仕組みです。
SPFレコードの書き方と読み方
SPFレコードは、ドメインのDNSに TXTレコード として1件設定します。
your-company.co.jp. IN TXT "v=spf1 include:spf.protection.outlook.com -all"
各パーツの意味は次のとおりです。
| 記述 | 意味 |
|---|---|
v=spf1 | SPFレコードであることの宣言(先頭に必須) |
include: | 指定ドメインのSPF設定を取り込む(クラウドメール利用時に使用) |
ip4: / ip6: | 送信を許可するIPアドレスを直接指定 |
a / mx | そのドメインのAレコード/MXレコードのサーバーを許可 |
-all | 上記以外は拒否してよい(ハードフェイル) |
~all | 上記以外はソフトフェイル(疑わしいが拒否はしない) |
代表的なサービスの include 値
| サービス | SPFに含める値 |
|---|---|
| Microsoft 365 | include:spf.protection.outlook.com |
| Google Workspace | include:_spf.google.com |
| SendGrid | include:sendgrid.net |
| Amazon SES | include:amazonses.com |
複数のサービスからメールを送る場合は、1行のSPFレコードにすべての include をまとめます。
"v=spf1 include:spf.protection.outlook.com include:sendgrid.net -all"
重要:1つのドメインに
v=spf1で始まるTXTレコードを2件以上設定するとSPFは無効になります。必ず1行に統合してください。
~all と -all、どちらにすべきか
- **導入直後は
~all(ソフトフェイル)**から始めます。社内に把握していない送信元(基幹システム、複合機のスキャン送信、メール配信ツールなど)が残っていると、いきなり-allにすると正規メールが届かなくなる恐れがあるためです。 - DMARCのレポートなどで送信元をすべて洗い出し、SPFに登録し切ったことを確認してから
-all(ハードフェイル)に強化します。
SPFの限界 ― なぜDKIM・DMARCが必要か
SPFは強力ですが、単体では2つの弱点があります。
- Fromヘッダーを検証しない:SPFが照合するのは「エンベロープ送信者(Return-Path)」であり、受信者が画面で見る「From(差出人)」とは別物です。Return-Pathを正規ドメインにしつつ、Fromだけ詐称する攻撃はSPFだけでは防げません。
- 転送に弱い:メールが別アドレスへ転送されると送信元IPが変わり、SPF認証が失敗してしまいます。
この弱点を補うのが、電子署名で改ざんと正当性を検証する DKIM、そして「FromとSPF/DKIMの一致(アライメント)」を確認したうえで処理方針を指示する DMARC です。なりすまし対策は、この3つをセットで導入してはじめて完成します。
まとめ
- SPFとは、ドメインの正規送信サーバーをDNSに宣言し、受信側がなりすましを検出できるようにする仕組み
- DNSに TXTレコード1件 で設定し、利用サービスの include を1行にまとめる
- 導入は
~allから始め、送信元を洗い出してから-allへ強化する - SPF単体では不十分。DKIM・DMARCとセットで運用するのが前提
具体的な設定手順とDMARCポリシー強化のロードマップは、【2026年版】DMARC・DKIM・SPF設定 完全ガイド で詳しく解説しています。用語ごとの解説は メール認証 用語集 からどうぞ。
メール認証の設計・設定にお困りの中小企業さまは、情シス365(IT運用代行)にお気軽にご相談ください。