SPF(Sender Policy Framework)は、受信側が「このドメインから送ってよいサーバーか」をDNSのTXTレコードで確かめる仕組みです。メールのなりすましを減らすうえでの基本策ですが、From欄の見た目までSPFだけで守れるわけではありません。導入するときは、どのサービスからメールを送っているかを洗い出し、DKIMやDMARCとどう組み合わせるかまで見ておく必要があります。
SPFは、メールを送ってきたサーバーの送信元IPアドレスが、そのドメインで送信を許された範囲に入っているかを受信側が確かめる仕組みです。ドメインの管理者はDNSのTXTレコードにSPFを公開し、受信側のメールサーバーはその内容を見て判定します。
ここで見るのは、主にエンベロープFrom(Return-Path)やHELO/EHLOで使われるドメインです。メールソフトのヘッダーFromをそのまま裏づける仕組みではないため、見た目の差し出し元まで含めて確かめたい場合は、DKIMやDMARCと組み合わせて、使うドメインがそろっているかまで確認します。
SPFはなりすまし対策の出発点として有効ですが、これだけで安全なメール運用ができるわけではありません。受信側でどう扱うかにも差があるため、DKIMやDMARC、受信時の扱いとあわせて考える必要があります。
SPFはDNSのTXTレコードに設定します。基本は「v=spf1」で始め、許可する送信元を順に並べ、最後にallを置きます。
| v=spf1 ip4:192.0.2.0/24 ip6:2001:db8::/32 include:example.com ~all |
この例は、次の意味です。
SPFを更新できる権限が必要です。正規の送信元が漏れていると、正しいメールまでSPF Failになるため、最初は弱めの設定で様子を見ながら整えるほうが安全です。
受信側がSPFを評価すると、主に次の結果が返ります。
受信側がFailをどう扱うかは一律ではありません。拒否する運用もあれば、迷惑メールとして隔離したり、判定点に加えたりする運用もあります。
SPFが正しく設定されているかどうかは、次のように確かめられます。
確認は初回だけで終わらせず、送信サービスを追加したときや設定を変えたときに、そのたびに見直す運用が現実的です。
SPFを入れると、ドメインの管理者が許していないIPから届いたメールを受信側が見つけやすくなります。なりすましや迷惑メールを減らすための手がかりが増える点が利点です。
正規の送信元をSPFで明らかにし、不要な送信元を外していくと、そのドメインがきちんと管理されていることを受信側へ示しやすくなります。これだけで到達率が大きく変わるとは言えませんが、土台を整える意味はあります。
SPFが未設定だったり、送信元の登録に漏れが多かったりすると、受信側から不審なメールと見られやすくなります。設定を整えることで、請求書やワンタイムコード、問い合わせへの返信などが迷惑メールに寄りにくくなることがあります。
SPFは主に送信元IPとドメインの関係を見ます。DKIMは署名で改ざんの有無を確かめ、DMARCはSPFやDKIMの結果とFrom欄のドメインが合っているかを見たうえで、失敗時の扱いを示します。三つを組み合わせると、見た目の差し出し元まで含めた対策に進めます。
SPFは、送信を許す相手を並べる仕組みです。先に次を洗い出しておかないと、正しいメールまで止まりやすくなります。
何から送っているかが曖昧なままSPFを強くすると、正しいメールが落ちる事故につながります。SPFはDNSの設定であると同時に、送信元の一覧を保つ作業でもあります。
最初は~allで様子を見て、漏れている送信元がないことを確認したうえで、必要なら-allへ進めるやり方が安全です。どこまで厳しくするかは組織の条件で決まります。
SPFでは、include、redirect、a、mx などの評価でDNSへの問い合わせが増えます。これらのうちDNS参照を伴う仕組みや指定子は、合計10回までという上限があるため、多すぎるとPermErrorになるおそれがあります。外部サービスを重ねて使うほど増えやすいので、includeを増やしすぎないように注意が必要です。
同じドメインで、SPFの判定に使われるレコードが複数見つかる状態は避ける必要があります。送信元を追加するたびにTXTレコードを増やすのではなく、既存のSPFへ統合して管理します。
SPFは見た目が単純でも、スペースの入れ方やメカニズムの書き方、allを置く位置などを誤ると正しく評価されません。設定後は、自社サーバーや委託サービスから送ったメールがPassになるかを必ず確かめます。
IPアドレスやドメインを足していくと、SPFレコードは長くなりやすく、DNSへの問い合わせ上限にも達しやすくなります。不要になった送信サービスを外す、用途ごとにサブドメインを分ける、といった整理が欠かせません。
メールマガジン、問い合わせ返信、請求書メール、認証メールなどを外部サービスから送る場合、その送信元がSPFに入っていないとFailやSoftFailになりやすくなります。委託先の案内どおりにincludeを足すか、用途ごとに専用のサブドメインを分けるかを検討します。
メールを転送すると、受信側から見える送信元IPが変わるため、SPFはFailになりやすくなります。この点はSPFだけでは対処しにくく、DKIMの併用や、転送側がSRS(Sender Rewriting Scheme)に対応しているかどうかも確認が必要です。
DMARCは、SPFやDKIMの結果をもとに、失敗したメールをどう扱うかを受信側へ示す仕組みです。SPFだけではReturn-Path側しかPassしていないことがあり、From欄の見た目に近いドメインまで守れていない場合があります。DMARCまで含めて設計すると、差し出し元の見え方とSPFやDKIMの結果をそろえやすくなります。
まずはDNSに公開されているSPFレコード(TXT)を確認します。見るポイントは次のとおりです。
SPF Failの原因として多いのは、想定していたものと実際の送信元IPが違うケースです。社内サーバーから送っているつもりでも、実際には中継サービスを経由している場合があります。メールサーバーのログや受信ヘッダーを見て、受信側が見ている送信元IPを特定し、SPFに入っているかを確かめます。
受信側のヘッダーやログには、SPFの結果(pass、fail、softfail など)と、どのドメインを使って評価したかが残ることが多いです。どのドメインで評価され、どのIPが原因だったかを分けて見ると、直す場所が見えやすくなります。
SPFは一度入れて終わりではありません。送信元が増えたり変わったりするたびにズレが出るため、送信元の洗い出しとログ確認を定期的に続けることが、トラブルを減らす近道です。
SPFは、ドメインが許した送信元IPや送信サービスから届いたメールかどうかを受信側が確かめる仕組みです。なりすまし対策の基本になりますが、From欄の見た目までSPFだけで守れるわけではありません。DKIMやDMARCと組み合わせ、送信元の洗い出し、段階的な設定、継続的な確認を進めることで、メール運用の信頼性を高めやすくなります。
SPFが主に見るのはReturn-Pathなどで使うドメインで、表示されるFrom欄そのものを直接裏づける仕組みではありません。
十分ではありません。DKIMやDMARCも組み合わせることで、見た目の差し出し元まで含めた対策に進めます。
最初は~allで様子を見て、漏れがないと確認できた段階で-allへ進めるやり方がよく使われます。
必ず拒否するとは限りません。受信側の運用で、拒否、隔離、加点などの扱いに分かれます。
避けるべきです。同じドメインでSPFの判定に使われるレコードが複数見つかる状態は作らないようにします。
委託先が案内するincludeや送信元IPの情報をSPFへ反映し、漏れがないか確認します。
書き方のミス、SPFレコードの重複、DNSへの問い合わせ上限の超過などが主な原因です。
転送で受信側から見える送信元IPが変わり、元のドメインが許した送信元と一致しなくなりやすいからです。
初回の設定後だけでなく、送信サービスを追加したときや設定を変えたときに行うのが確実です。
実際の送信元を洗い出し、漏れなくSPFへ反映したうえで、弱めの設定から順に確認を進めることです。