メール詐欺により、企業は毎年数十億ドルの損害を被っています。その大半は、「差出人」アドレスのなりすましから始まっています。Sender Policy Framework(SPF)は、DKIMやDMARCと並ぶ3つの基本的なメール認証プロトコルの1つであり、不正な送信者が貴社のドメインを使用してメールを送信することを防ぎます。 このガイドでは、SPFとは何か、その仕組み、レコードの作成と検証方法、各メカニズムや修飾子の意味、よくあるエラーの修正方法、そしてSPFが包括的なDMARC戦略の中でどのような役割を果たすかなど、あらゆる内容を網羅しています。ブックマークしておいてください。きっと何度も参照することになるでしょう。 完全な実装手順ガイド ルックアップ、ソフトフェイル、およびアライメントの修正 SPFをDMARCの評価対象に含める レコードの確認、生成、および検証 SPF(Sender Policy Framework)は、DKIMやDMARCと並ぶ3つの主要な電子メール認証プロトコルの1つであり、不正なサーバーがあなたのドメインを使用して電子メールを送信することを防ぎます。SPFレコードとは、あなたに代わってメールを送信することが許可されているすべてのIPアドレスおよびメールサーバーを列挙したDNSのTXTレコードのことです。これが設定されていない場合、インターネット上のどのサーバーでもあなたのドメインを偽装することが可能となり、受信サーバー側ではその違いを見分ける手段がなくなります。 任意のセクションへジャンプするか、全体像を把握するために最初から最後まで通読してください: 受信メールサーバーがメールを受信すると、Return-Path(エンベロープの送信者)からドメインを抽出し、DNSに対して 「v=spf1」で始まるTXTレコードを照会し、送信サーバーのIPアドレスが承認リストと一致するかどうかを確認します。一致すればSPFは合格となります。一致しない場合は、結果として「fail」、「softfail」、または「error」となり、その後の処理はDMARCポリシーによって異なります。 SPFは、表示される「From:」アドレスではなく、Return-Pathドメイン(技術的なエンベロープアドレス)を検証します。つまり、SPFだけでは表示名のなりすましを防ぐことはできません。そのため、このギャップを埋めるためにDMARCアラインメントが存在するのです。 SPFレコードは、次のように始まります。 -all と ~all は、SPF における適用レベルの異なる設定を示します。-all(ハードフェイル)は、リストに記載された送信者のみが許可されており、それ以外はすべて拒否すべきであることを受信サーバーに伝えます。~all(ソフトフェイル)はより寛容な設定であり、許可されていない送信者をすべて「不審」としてフラグを立てますが、それでも受信を許可します。送信者の監査が完全に終了したら、-all を使用してください。 それぞれ まず、ご自身のドメインからメールを送信するすべてのサービスを以下のようにリストアップしてください。例えば: 各プロバイダーは、 SPFチェッカーツールを使用して、レコードの構文が正しいこと、10回のルックアップ制限内であること、そして正しいIPアドレスに解決されていることを確認してください。PowerDMARCのSPFルックアップツールなら、これらのチェックをすべて瞬時に行えます。 PowerDMARCのSPFルックアップの利用方法: PowerDMARC SPFチェッカーにドメインを入力すると、ルックアップ回数、メカニズムの内訳、およびエラーの有無を示す診断レポートが即座に表示されます。 SPFの失敗のほとんどは、プロトコルそのものではなく、設定のずれに起因しています。以下に、最も頻繁に見られるエラーと、それぞれの修正箇所を挙げます。 SPFは通過しても、DMARCは依然として失敗することがあります。これは、SPFがReturn-Pathドメインの有効性を検証するのに対し、DMARCではそのドメインが表示されている「From:」アドレスと一致していることを要求するためです。独自のReturn-Pathを使用するサードパーティのサービスを経由して送信する場合、SPFはそのサービスのドメインに対して認証を行うため、送信元のドメインとは異なるドメインが対象となり、DMARCの一致チェックに失敗します。 この問題を解決するには、各プロバイダーに対してドメインのカスタム Return-Path を設定するか、代わりにDKIM アラインメントを利用します(DKIM 署名は転送後も有効であり、送信元 IP に依存しません)。DMARC レコード内のaspf= タグを使用してアラインメントモードを設定してください:aspf=r(緩和モード、サブドメインも可)または aspf=s(厳格モード、完全一致)。 これら3つのプロトコルは相互に補完し合うものであり、互いに置き換え可能なものではありません。SPFは送信サーバーを検証し、DKIMは暗号署名を用いてメッセージの完全性を検証します。DMARCはこれら2つを統合し、ポリシー(なし/隔離/拒否)を適用するとともに、集計レポートやフォレンジックレポートを生成します。 メールは、SPFアラインメントまたはDKIMアラインメントのいずれかを満たせばDMARCを通過します。一方の機能が動作しなくなった場合に他方が補完できるよう、両方を設定しておく必要があります(例:転送メールでSPFが失敗しても、DKIMは正常に機能する場合など)。 SPFレコードに追加するSaaSツールは、それぞれDNSルックアップを消費します。ルックアップ数が10件の上限に達すると、レコード全体が機能しなくなり、すべてのSPFチェックで「PermError」が返されます。手動によるSPFのフラット化(「includes」を生のIPアドレスに置き換えること)は短期的には有効ですが、ベンダーがIP範囲をローテーションすると(実際、事前の警告なしにローテーションが行われます)情報が古くなってしまいます。 PowerDMARCの SPFの自動平坦化 これを、動的に解決することで解決します 初めてSPFを設定する場合は、上記のプロバイダー別ガイドを参考にし、PowerDMARCの無料SPFチェッカーでレコードの有効性を確認してください。すでにSPFを運用していて、ルックアップ制限やPermErrorが発生している場合は、自動化されたSPFフラット化機能を利用することで、メンテナンスの負担を軽減できます。また、まだDMARCを設定していない場合は、それが最も効果的な次のステップとなります。DMARCのないSPFは、ドアのない鍵のようなものです。 PowerDMARCの無料SPFツールを使って、メール認証を管理しましょう。ドメインの確認、新しいレコードの生成、プラットフォーム全体の閲覧を即座に行えます。登録は不要です。 ドメインのSPFレコードを即座に確認し、完全なルックアップチェーンを展開して、設定上の問題を特定できます。 構文を手動で記述することなく、ドメインの送信者に合わせた有効なSPFレコードを生成します。 複数のドメインにわたる電子メール認証を監視、実施、分析するための包括的なプラットフォーム。 単一のプラットフォームから、認証レコードの生成、DNS設定の確認、ドメインのメールアクティビティの監視を行うことができます。なりすましを防止し、配信率を向上させ、誰があなたの名義でメールを送信しているかを完全に把握できます。 ドメインのレピュテーション維持やなりすまし防止を担当する企業、MSP、セキュリティチームから信頼されています。 PowerDMARCは非常に強力で包括的なツールであり、メール認証とセキュリティ機能の日常的な監視作業を大幅に簡素化します。これにより、他の方法では達成が困難な可視性と明確さが得られます。メールセキュリティ体制の強化を目指す全ての方々に、心からお勧めできるツールです! SPFは数ある指標の一つに過ぎません。メールの配信率は、ドメインのレピュテーション、IPのレピュテーション、コンテンツの品質、エンゲージメント履歴、さらにDKIMやDMARCが設定されているかどうかも影響します。SPFチェックに合格したからといって、受信トレイに確実に届くとは限りません。メールがスパムフォルダに振り分けられる理由とその解決策 → はい。これらはそれぞれ異なる障害モードに対応しています。DKIMは転送時にも有効ですが、送信サーバーの検証は行いません。SPFはサーバーを検証しますが、転送時には機能しなくなります。DMARCでは、アラインメントが合致している状態で少なくとも1つが合格する必要があります。両方を併用すれば、一方が失敗しても、もう一方がメッセージの認証を行うことができます。DKIMなしでDMARCを使用することはできますか? → これは、レコードにまだ登録されていない正当な送信元がある場合に限ります。切り替えを行う前に、少なくとも2~4週間はDMARCの集計レポートを監視し、すべての送信サービスを特定してください。レコードがすべての正当な送信元を網羅していると確信できたら、「-all」を選択するのが適切です。SPFのソフトフェイルとハードフェイル:切り替えのタイミング → メール送信サービスを追加または削除するたびに。実際には、四半期ごとに監査を行う。ベンダーがIPアドレスを変更したり、チームがIT部門に連絡せずにツールを追加したり、ドメインが時折利用できなくなったりすることがある。ホスト型SPFではこれが自動的に処理されるが、手動で設定したレコードについては、定期的な見直しが必要となる。 SPFには既知の制限があります。共有IPサービス(Mailchimpなど)では、同じIP範囲内の顧客であれば誰でもSPFチェックを通過してしまいます。また、表示名のなりすましはReturn-Pathには影響を与えないため、SPFを完全に回避してしまいます。さらに、BreakSPF攻撃では、広範囲のIP範囲を指定した過度に寛容なレコードがどのように悪用され得るかが実証されました。厳格なアラインメントを設定したDMARCを導入することで、これらのリスクを軽減できます。 SPF 委任を使用すると、別の DNS ゾーンからサブドメインの SPF を管理できます。redirect= 修飾子は、受信側に別のドメインの SPF レコードを完全に使用するよう指示します。これは、既存のレコードを補足するのではなく、置き換えるものです。あるドメインの SPF ポリシーを別のドメインにそのまま適用したい場合に、redirect を使用してください。 DNSの反映には、既存レコードのTTLや中間リゾルバーによるキャッシュの影響を受けます。通常、反映には1~4時間かかります。最悪の場合でも48時間です。変更を行う前にTTLを300秒に下げ、反映が確認されたら元の値に戻してください。
SPFレコード:その概要、仕組み、および設定方法
主なポイント
PowerDMARC リソースセンター
SPFとは?
このガイドの内容
SPFの働き
SPFの結果 その意味 パス 送信元IPアドレスの使用が許可されています。 失敗(すべて) 承認されていません。却下すべきです。 SoftFail(ほぼすべて) おそらく許可されていない。承認するが、フラグを立てる。 PermError レコードが破られました(構文エラー、ルックアップ回数が多すぎます)。失敗として扱われます。 SPFレコードの構文:仕組みと修飾子
v=spf1, 以下の仕組みなどを用いて、承認された送信者を一覧表示します。 ip4:, ip6:、そして を含む:、そして最後に、リストにない送信者に対して受信者がどう対応すべきかを示す条件が付加されています。例を挙げると:v=spf1 ip4:192.168.1.1 include:_spf.google.com include:sendgrid.net -all
include:, a, mx, リダイレクト=、そして exists: この仕組みは、以下の計算に算入されます。 10 DNS検索の制限. この値を超えると、PermErrorが発生し、認証が完全に機能しなくなります。その ptr: この仕組みは非推奨です、使用は避けてください。SPFレコードの作成方法
include: ドキュメント内の値。すべての送信者を組み合わせた単一のレコードを作成します( ドメインごとに1つのSPFレコード), それをTXTレコードとして、あなたの DNSプロバイダー, そしてそれを SPFチェッカー. DNSの伝播 通常は数時間かかりますが、最大で48時間かかる場合もあります。プロバイダー別のセットアップガイド
SPFレコードの確認と検証方法
適切なSPFチェックで確認すべき事項:
v=spf1include: ドメインall 修飾子が存在し、適切であるptr:)コマンドラインでの確認(Linux/Mac):
dig TXT yourdomain.com +short | grep "v=spf1"
SPFでよくあるエラーとその対処法
エラー 最新情報 修正ガイド PermError: DNS 検索回数が多すぎます レコード数が10件の検索制限を超えています SPF PermError の修正 複数のSPFレコード 同じドメインに2つのv=spf1レコードが存在する 複数のSPFレコードを修正する SPFは合格したが、DMARCは不合格となった Return-Path が From: と一致しません。 SPFの位置合わせを修正する SoftFail。ドメインが送信者を特定できない SPFレコードに含まれていないIPアドレスを送信している SPFのSoftFailを修正する 550 SPF チェックに失敗しました 受信サーバーでの完全拒否 550 SPF エラーの修正 SPFレコードが見つかりません 記録が見つからない、または未公開の記録 SPFレコードがない場合の修正 転送されたメールでSPFが失敗する 転送サーバーのIPアドレスが承認されていません メール転送ガイド SPF検証エラー 構文または書式の問題 SPF検証エラーの修正 SPFポリシーに基づき、メールが拒否されました 厳格なSPFを適用する受信サーバー SPF拒否の修正 SPFレコードの文字数制限を超えています 1つのDNS TXTエントリには長すぎるレコード SPFの文字数制限を修正する SPFとDMARC:整合性の理解
SPF、DKIM、DMARC:これらがどのように連携するか
ホスト型SPF:スケーラビリティの問題の解決
include: チェーンを最適化されたレコードに変換し、ベンダーのIPアドレスの変更を監視し、手動でのDNS編集を行うことなく、レコードをルックアップ制限内に収めます。以下のサービスを利用している組織では、 SPFマクロ または管理 複数のドメインおよびサブドメインにわたるSPF, ホスト型SPFを利用すれば、メンテナンスの負担を完全に解消できます。SPFのベストプラクティス・チェックリスト
SPFを正しく設定する
PowerDMARCの無料ツール
SPFレコードチェッカー
主な特徴
SPFレコードジェネレータ
主な特徴
PowerDMARC ツールボックス
主な特徴
ドメインを保護・監視する
よくあるご質問
SPFレコードは有効なのに、メールがスパムフォルダに入ってしまうのはなぜですか?
すでにDKIMを導入している場合、SPFは必要ですか?
「~all」から「-all」に変更すると、メールが正常に動作しなくなるでしょうか?
SPFレコードはどのくらいの頻度で更新する必要がありますか?
攻撃者はSPFを回避できるのでしょうか?
SPF委任とSPFリダイレクトの違いは何ですか?
SPFの効果はいつから現れますか?
~all ではなく -allを使用してください
ハードフェイルは明確なシグナルを送ります。ソフトフェイルは曖昧です。
検索回数は8回以内に抑えてください
余裕を残しておく。ちょうど10というのは、時限爆弾のようなものだ。
送信元ではないドメインでSPFを公開する
攻撃者がパーキングドメインを偽装するのは、まさにSPFが設定されていないからである。
すべてのサブドメインでSPFを公開する
yourdomain.com の SPF は、mail.yourdomain.com を対象としていません。
サードパーティのファイルには「include:」を使用してください
プロバイダーは自社のIPアドレス範囲を管理しており、これには以下が含まれます:常に最新の状態を維持しています。
DMARCレポートを監視する
RUAレポートでは、これまで知らなかった送信者が明らかになります。RUAとRUFの比較についてもご参照ください。
四半期ごとの監査
利用を中止したベンダーは、負担になる前にリストから外しておきましょう。
10K+保護された組織数
32無料で利用できるツール
4.9/5G2での評価
G2リーダーDMARCソフトウェア
SOC 2
HIPAA
PCI-DSS
GDPR
ISO 27001
