【えすぴーえふ】

SPF(メール認証) とは?

💡 「このサーバーからメールを送っていいか」をDNSで確認
📌 このページのポイント
SPF(Sender Policy Framework)の仕組み 送信者 メール送信 受信サーバ 送信元IPを確認 SPFレコード照合 DNSサーバ SPFレコード保持 問い合わせ PASS 正規の送信元 FAIL なりすまし 送信元IPアドレスがDNSのSPFレコードに登録されているか検証する
SPFメール認証のイメージ
ひよこ ひよこ

SPFって何をチェックするの?

ペンギン先生 ペンギン先生

メールを受信したサーバーが「このメールの送信元IPアドレスは、送信ドメインが許可したサーバーか?」をDNSで確認する。example.comSPFレコードに「v=spf1 ip4:203.0.113.0/24 include:_spf.google.com ~all」と書いてあれば、このIPレンジとGoogle Workspaceからのメールだけが正規と判定されるんだよ

ひよこ ひよこ

設定しないとどうなる?

ペンギン先生 ペンギン先生

誰でもあなたのドメインを名乗ったメールを送れてしまう。フィッシング詐欺の温床になる。2024年からGmailは1日5000通以上送信するドメインSPF+DKIM+DMARCの設定を義務化した。SPFがないとGmail宛てのメールが迷惑メールフォルダ行きになったり、受信拒否されたりするよ

ひよこ ひよこ

SPFだけで十分?

ペンギン先生 ペンギン先生

不十分だよ。SPFの弱点は①メール転送でFROMドメインと送信元IPが変わると認証失敗する、②エンベロープFROMは検証するがヘッダーFROM(ユーザーに表示される送信者)は検証しない。だからDKIM(メール内容の電子署名)とDMARCSPF/DKIMの結果に基づくポリシー)を組み合わせる必要があるんだよ

ひよこ ひよこ

SPFレコードの書き方は?

ペンギン先生 ペンギン先生

v=spf1から始めて、許可する送信元を列挙し、最後にallメカニズムで締める。ip4:でIPアドレス、include:で外部サービス(Google、SendGrid等)を許可、-allは「それ以外は全拒否」、~allは「ソフトフェイル(マーキングはするが配信)」。DNSルックアップが10回以内という制限があるから、includeを増やしすぎないよう注意だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
SPF」って出てきたら「送信元IPでメールの正当性を確認する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Sender Policy Framework」 = 送信者ポリシーフレームワーク
💬 Sender(送信者)のPolicy(方針)をDNSで公開するFramework(枠組み)だよ
← 用語集にもどる