メールセキュリティ

SPF(Sender Policy Framework) えすぴーえふ(せんだーぽりしーふれーむわーく)

メール認証なりすまし対策DNSレコードDMARCDKIM迷惑メール
SPFについて教えて

簡単に言うとこんな感じ!

SPFは「このドメインからメールを送っていいサーバーはここだよ」ってあらかじめ登録しておく仕組みだよ。受け取った側がその登録リストを見て「本物かどうか」を確認できるから、なりすましメールを弾けるってこと!


SPFとは

SPF(Sender Policy Framework) は、メールの送信元ドメインが「正規のサーバーから送られたものかどうか」を受信側が検証するためのメール認証技術です。具体的には、ドメインの管理者が「このドメインのメールを送信してよいサーバーのIPアドレス一覧」を DNSレコード に登録しておき、メールを受け取ったサーバーがそのリストと照合することでなりすましを検知します。

たとえば、攻撃者が example.com を騙って偽メールを送ろうとしても、example.com のDNSに登録されていないサーバーから送信されていれば「SPF認証失敗」となり、受信側で迷惑メールと判定したり、拒否したりできます。これにより、フィッシング詐欺や標的型攻撃メールリスクを大幅に低減できます。

SPF単体でもなりすまし対策に有効ですが、DKIM(電子署名による改ざん検知)や DMARC(SPF・DKIMの結果をポリシーとして運用する仕組み)と組み合わせることで、より強固なメールセキュリティを実現できます。現代のビジネスメール環境では、SPFの設定は事実上の必須要件になっています。


SPFの仕組みと構造

SPFは DNS(ドメインネームシステム) を使って動作します。送信ドメイン管理者が「TXTレコード」という形式でSPF情報を公開し、受信サーバーがそれを参照します。

メール送受信の流れ

ステップ実施者内容
① SPFレコード登録送信ドメイン管理者DNSのTXTレコードに許可サーバーを記載
② メール送信送信サーバーexample.com 宛にメールを送る
③ SPFレコード取得受信サーバー送信元ドメインのDNSにSPFレコードを問い合わせ
IPアドレス照合受信サーバー実際の送信元IPがレコードに含まれるか確認
⑤ 結果判定受信サーバーPass / Fail / SoftFail などを判定して処理

SPFレコードの書き方(例)

v=spf1 ip4:203.0.113.10 include:spf.example-mailer.com -all
要素意味
v=spf1SPFバージョン1を使用(必須)
ip4:203.0.113.10このIPアドレスからの送信を許可
include:spf.example-mailer.com外部サービスのSPFレコードも引用して許可
-all上記以外はすべて拒否(ハードフェイル)

SPF認証結果の種類

結果記号意味
Pass+認証成功。正規の送信元
Fail-認証失敗。なりすましの可能性が高い
SoftFail~認証失敗だが、完全拒否はしない(移行期などに使う)
Neutral?ポリシーなし。判定しない
NoneSPFレコードが存在しない
TempErrorDNS一時エラーで判定不能
PermErrorSPFレコードに構文エラーがある

覚え方・語呂合わせ

「SPF=日焼け止め」 と覚えよう!
肌を守る日焼け止め(SPF30、SPF50…)と同じ略語。メールを「なりすましの紫外線」から守るのがSPFだよ!


歴史と背景

  • 2000年代初頭 — 迷惑メール(スパム)やフィッシング詐欺が急増。送信元を偽るメールが社会問題化
  • 2003年 — Meng Weng Wong氏らがSPFの原型となる「Sender Permitted From」を提案
  • 2004年 — IETFで実験的RFCとして議論が開始(RFC 4408)
  • 2006年 — RFC 4408 が発行され、SPFが標準化の道へ
  • 2014年RFC 7208 が発行され、SPFの正式な標準仕様として確立。現在もこれが有効
  • 2015年以降 — GmailやMicrosoft 365などの主要メールサービスがSPF確認を標準で実施
  • 2022年 — GoogleとYahoo!がメール送信者向けガイドラインでSPF設定を事実上の必須要件に指定
  • 2024年 — 日本国内でも大手キャリアや企業のメールシステムでSPF+DMARC対応が加速

SPF・DKIM・DMARCの関係

メールセキュリティの3つの柱として、SPF・DKIM・DMARCはセットで語られます。それぞれが異なる角度からなりすましを防ぎます。

メール認証3技術の役割分担 SPF 送信元IPの認証 ・DNSに許可IPを登録 ・受信側がIPを照合 ・なりすまし送信元を検知 ・設定はDNSのみでOK DKIM メール内容の認証 ・電子署名で改ざんを検知 ・公開鍵もDNSに登録 ・転送後も有効 ・送信サーバーの設定が必要 DMARC ポリシーの統括 ・SPF/DKIM結果を統合 ・失敗時の処理を指定 ・レポートを管理者に送信 ・quarantine/rejectを設定 メール受信サーバーの判定フロー メール受信 SPF確認 DKIM確認 DMARC判定 受信/拒否 ※ SPF単独でも効果あり。DKIM・DMARCと組み合わせることで最大効果を発揮

SPFだけでは防げないケース

ケースSPFの限界対策
メール転送転送サーバーのIPになりSPF失敗しやすいDKIMを併用する
ヘッダーFromの偽装SPFはEnvelope-Fromを見るのでヘッダーFromは別DMARCでアライメント確認
本文の改ざん内容の検証はSPFの範囲外DKIMで署名する

関連する規格・RFC

規格・RFC番号内容
RFC 7208SPFの現行標準仕様(2014年策定)
RFC 4408SPFの初期実験的仕様(RFC 7208に置き換え)
RFC 6376DKIM(DomainKeys Identified Mail)の標準仕様
RFC 7489DMARC(Domain-based Message Authentication)の仕様
RFC 5321SMTP(メール転送プロトコル)の標準仕様

関連用語

  • DKIM — 電子署名でメールの送信元と内容の正当性を証明する認証技術
  • DMARC — SPFとDKIMの認証結果を統合してポリシー運用する仕組み
  • DNSドメイン名とIPアドレスを対応付けるインターネットの電話帳
  • フィッシング詐欺 — 正規組織を装った偽メール・偽サイトで情報を騙し取る攻撃手法
  • 迷惑メール(スパム) — 大量に無差別送信される不要・有害なメールの総称
  • SMTP — メールを送信・転送するためのプロトコル
  • メールヘッダー — メールに付与される送信経路・認証結果などの管理情報