SPFとは?なりすまし対策メール認証の仕組みをわかりやすく解説

SPF(Sender Policy Framework)とは、「自社ドメインからメールを送ってよいサーバーはどれか」をDNSに公開しておき、受信側がなりすましを見破れるようにするメール認証の仕組みです。

一言でいうと:SPFは「うちのメールは、この送信サーバーからしか出しません」という”差出人の住所登録”。受信側はその登録と照合して、登録外から来たメールを怪しいと判断できます。

メールは仕組み上、差出人のアドレスを自由に詐称できます。取引先や自社の社長を装った詐欺メール(BECビジネスメール詐欺)が成立するのはこのためです。SPFは、この「送信元の詐称」を技術的に検出するための、もっとも基本的な仕組みです。

SPFが解決する問題

通常のメールには、送信元を保証する仕組みがありません。攻撃者は keiri@your-company.co.jp といった実在ドメインを差出人に設定し、まったく無関係なサーバーからメールを送れます。

SPFを設定すると、受信側サーバーは次の照合を行えます。

  1. 届いたメールの送信元IPアドレスを確認する
  2. そのドメインのDNSからSPFレコードを取得する
  3. 送信元IPがSPFレコードに登録されていれば「正規」、なければ「なりすましの疑い」と判定する

つまりSPFは、ドメイン所有者があらかじめ「正規の送信サーバー一覧」をDNSに宣言しておく仕組みです。

SPFレコードの書き方と読み方

SPFレコードは、ドメインのDNSに TXTレコード として1件設定します。

your-company.co.jp.  IN TXT  "v=spf1 include:spf.protection.outlook.com -all"

各パーツの意味は次のとおりです。

記述意味
v=spf1SPFレコードであることの宣言(先頭に必須)
include:指定ドメインのSPF設定を取り込む(クラウドメール利用時に使用)
ip4: / ip6:送信を許可するIPアドレスを直接指定
a / mxそのドメインのAレコード/MXレコードのサーバーを許可
-all上記以外は拒否してよい(ハードフェイル)
~all上記以外はソフトフェイル(疑わしいが拒否はしない)

代表的なサービスの include 値

サービスSPFに含める値
Microsoft 365include:spf.protection.outlook.com
Google Workspaceinclude:_spf.google.com
SendGridinclude:sendgrid.net
Amazon SESinclude: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つの弱点があります。

  1. Fromヘッダーを検証しない:SPFが照合するのは「エンベロープ送信者(Return-Path)」であり、受信者が画面で見る「From(差出人)」とは別物です。Return-Pathを正規ドメインにしつつ、Fromだけ詐称する攻撃はSPFだけでは防げません。
  2. 転送に弱い:メールが別アドレスへ転送されると送信元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運用代行)にお気軽にご相談ください。

🛡️Security365 — セキュリティ運用

脅威監視・アラート対応・ポリシー策定まで、月額定額でプロが支援。セキュリティ対策を「自分ごと」から「チーム体制」へ。

情シスのお悩み、ご相談ください

専門スタッフが貴社の課題に合わせたご提案をいたします。

メールでのお問い合わせはこちら →
60分無料相談