取引先にファイルを送ろうとしたら「添付容量オーバー」で弾かれてしまった——そんな経験がある方も多いはずです。容量問題の陰に隠れがちですが、メール運用でもう一つ厄介なのが「なりすまし」です。この記事では、送信ドメインの正当性を受信側で判定する仕組みであるSPF(Sender Policy Framework)を、導入判断と運用の観点まで含めてわかりやすく整理します。
SPF(Sender Policy Framework)とは、メールを送ってきたサーバーの送信元IPアドレスが、送信ドメインの管理者により「送信を許可された範囲かどうか」を検証する仕組みです。送信側ドメインの管理者がDNSにSPFレコード(TXTレコード)を公開し、受信側メールサーバーがその内容を参照して判定します。
重要なのは、SPFが認証するのは主にエンベロープFrom(Return-Path)やHELO/EHLOに関するドメインであり、メールソフトに表示されるヘッダーFrom(差出人表示)そのものを直接保証する仕組みではない点です。差出人表示の“なりすまし”対策としての確度を上げるには、DKIMやDMARCと組み合わせてドメインの整合(アライメント)まで確認できる形にするのが一般的です。
SPFは“なりすまし対策の土台”として効果がありますが、SPFだけでメールの安全性が完成するわけではありません。受信側の運用(隔離・拒否・スコアリング)にも左右されるため、全体設計の中で位置づけることが大切です。
SPFレコードはDNSのTXTレコードに設定します。基本形は「v=spf1」で始まり、許可条件(メカニズム)と判定(qualifier)を並べ、最後にallで締めます。
| v=spf1 ip4:192.0.2.0/24 ip6:2001:db8::/32 include:example.com ~all |
この例は、以下の意味になります。
SPFレコードの設定にはドメイン管理者の権限が必要です。加えて、設定内容によっては正当なメールがSPF Fail扱いになるため、いきなり強いポリシーにせず段階的に整備するのが安全です。
受信側がSPFを評価すると、代表的に以下のような結果が返ります。
受信側が「Fail=必ず拒否」とは限りません。実際には迷惑メール判定のスコアに反映されたり、隔離(迷惑メールフォルダ)に振り分けられたりします。最終処理は受信側のポリシー次第です。
SPFレコードが正しく設定されているかどうかは、以下の方法で検証できます。
検証は「初回だけ」で終わらせず、送信サービスの追加・変更(メール配信サービス、CRM、ヘルプデスク、グループウェア等)のタイミングで必ず見直す運用が現実的です。
SPFにより、送信元ドメインが許可していないIPから送られたメールを受信側で検出しやすくなります。結果として、なりすまし・スパムの混入を減らすための材料が増え、社内外のメール運用の安全性を底上げできます。
正規の送信経路をSPFで明確にし、不要な送信元を排除していくと、受信側から見た「このドメインは管理されている」という印象につながりやすくなります。単独で劇的に改善するものではありませんが、到達率や迷惑メール判定の観点で、足回りの整備として意味があります。
SPFが未設定、または不整合が多いと、受信側で“疑わしい”扱いになり、迷惑メールに寄る要因になります。SPFを整え、送信元を整理することで、重要な通知(請求書、ワンタイムコード、問い合わせ返信など)が埋もれにくい状態を作ることができます。
SPFは「送信経路(IP)」の確認が中心です。一方、DKIMは「署名による改ざん検知」、DMARCは「SPF/DKIMの結果を踏まえたドメイン保護ポリシー」を扱います。特にDMARCでは、ヘッダーFromとSPF/DKIMで使われるドメインの整合(アライメント)が重要になり、差出人表示のなりすまし対策としての実効性が高まります。
SPFは「許可する送信元の列挙」です。つまり、運用上は次の棚卸しが先に必要です。
「何から送っているか」が整理できていないままSPFを強くすると、正当なメールが落ちる事故が起きやすくなります。SPFは“技術”であると同時に“運用台帳”の整備でもあります。
実務では、初期は~allで観測し、送信経路の漏れがないことをログで確認したうえで、段階的に-allへ移行する、という進め方が安全です(ただし、最終判断は組織の要件次第です)。
SPF評価では、include/redirect/a/mxなどによりDNS参照が増えます。一般に、参照が多すぎると「PermError(評価不能)」となり、意図した効果が出ません。外部サービスを重ねて利用しているほど増えやすいので、includeの乱立には注意が必要です。
同じドメインに複数のSPFレコード(v=spf1)が存在すると、受信側が正しく評価できずエラー扱いになる可能性があります。追加のたびにTXTレコードを増やすのではなく、既存のSPFレコードに要素を統合していく管理が必要です。
SPFは構文が比較的シンプルに見えますが、スペース区切り・メカニズムの書き方・allの位置など、細部のミスで評価不能になります。設定後は必ず、想定する送信元(自社サーバー、委託サービス等)で「Passになるか」を検証しましょう。
IPやドメインを足し算で増やしていくと、SPFレコードが長くなり、参照回数制限にも引っかかりやすくなります。運用としては「送信元の統廃合」「不要になった送信サービスの削除」「サブドメイン分離(用途別)」など、設計で解決する視点が重要です。
メールマガジン、問い合わせ返信、請求書送付、認証メールなどを外部サービスに委託している場合、そのサービスの送信元がSPFに含まれていないとFail/SoftFailになります。委託先の案内に従い、includeの追加や送信ドメインの分離(専用サブドメイン化)を検討しましょう。
メール転送では、受信→転送の過程で送信元IPが変わるため、SPFがFailになりやすいという特性があります。この問題はSPFだけで完全には解消しづらく、DKIMの併用や、転送側がSRS(Sender Rewriting Scheme)に対応しているかどうか、といった別観点も関係します。
DMARCは、SPF/DKIMの結果に基づいて「失敗時にどう扱うか(none/quarantine/reject)」を受信側へ宣言する仕組みです。SPF単体だと「Return-PathでPassしているだけ」で、差出人表示のなりすまし対策としては弱いことがあります。DMARCではアライメントが重要になるため、SPFの設定はDMARC設計の一部として進めるのが確実です。
まずはDNSに公開されているSPFレコード(TXT)を確認します。確認ポイントは以下です。
「SPF Failになる」という相談で多いのは、実際の送信元IPが想定と違うケースです。たとえば、社内サーバーから送っているつもりでも、実際は中継サービス(アウトバウンドゲートウェイ)から出ている、といったことがあります。メールサーバーのログや受信ヘッダーから、実際の送信元IP(受信側が見ているIP)を特定し、SPFに含まれているかを確認します。
受信側ヘッダーやログには、SPF結果(pass/fail/softfail等)と、評価対象となったドメイン(Return-Path等)が残ることが多いです。どのドメインで評価され、どのIPが原因になっているかを切り分けると、修正点が明確になります。
SPFは「入れたら終わり」ではなく、送信経路が増減するたびにズレが生じます。運用として、送信元の棚卸しとログ観測を定期的に行うことが、トラブル削減の近道です。
SPFは、送信ドメインが許可した送信元IP(または送信サービス)から送られてきたメールかどうかを受信側が検証する仕組みで、なりすまし対策の基本となります。一方で、SPFが見ているのは主にReturn-Path等であり、差出人表示のなりすまし対策を強めるにはDKIM/DMARCとの併用が重要です。記述ミス、複雑化、委託配信の漏れ、転送との相性といった落とし穴を押さえ、段階的に導入・検証・改善していくことで、メール配信の信頼性と安全性を高められます。
SPFが主に認証するのはReturn-Pathなどの送信ドメインで、表示されるFromそのものを直接保証する仕組みではありません。
十分ではありません。SPFに加えてDKIMとDMARCを組み合わせることで効果が高まります。
移行期は~allで観測し、送信元の漏れがないことを確認したうえで-allに切り替えるのが一般的です。
必ず拒否とは限りません。受信側のポリシーにより隔離やスコアリングなど処理が分かれます。
推奨されません。1ドメインにつきSPF(v=spf1)は1つに統合して管理するのが基本です。
配信サービスが案内するincludeや送信元IP情報をSPFに反映し、漏れがないようにします。
構文ミス、SPFレコードの重複、DNS参照回数の増えすぎなどで評価不能になることがあります。
転送によって送信元IPが変わるため、送信ドメインの許可条件に合わなくなりやすいからです。
初回設定後だけでなく、送信サービス追加・変更時や定期点検のタイミングで行うのが確実です。
実際の送信経路を棚卸ししてSPFに反映し、漏れのない状態で段階的にポリシーを強めます。