SPFフラットニングとは何か、そしてなぜそれが必要なのか
2025年2月12日
著者: Yunes Tarada
翻訳: 古川 綾乃
この記事はPowerDMARCのブログ記事 SPF flattening: What is it and why do you need it? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
SPF(Sender Policy Framework、送信者ポリシーフレームワーク)は、なりすまし攻撃を防止する上で重要な、メール認証プロトコルです。
SPFは、組織のドメインを代表してメールを送信する権限を持つ送信者(メールサーバ)を指定することで機能します。
しかしながら、SPFには特有の制限があります。
RFC 7208のセクション4.6.4に記載されているように、DNSルックアップの上限が10件に制限されています。
このルックアップ上限を超えるSPFレコードは、SPFの処理が破綻し、恒久的なエラーを返します。
この制限を解消する有効な手段として登場するのが、SPFフラットニングです。
重要なポイント
- SPFは、特定のメールサーバにドメインを代表してメールを送信する権限を与えることで、メールのなりすましを防止する上で不可欠です。
- SPFレコードは、DNSルックアップの上限である10件を順守する必要があり、この上限を超えるとエラーが発生します。
- SPFフラットニングは、DNSレコードを簡素化してルックアップ制限内に収めることで、メールの到達率と準拠性を向上させます。
- メールサービスプロバイダによる変更に対応するために、SPFレコードの定期的な監視と更新が重要です。
- SPFフラットニングを自動化するツールを使用することで、SPFレコードを効率的かつ確実に管理・最適化することができます。
SPFフラットニングとは?
SPFフラットニングとは、SPFのDNSレコードを簡素化・最適化する手法です。
これにより、生成されるDNSルックアップの数を減らし、ドメイン所有者が許容されているDNSクエリの上限内に収まるようにします。
具体的には、ネストされたincludeを統合し、間接的な参照を対応するIPアドレスに置き換えることで、エラーのないSPF認証のための単一かつ包括的なレコードに変換します。
例:
- フラットニング前:
-
v=spf1 include:example1.com include:example2.com ~all - フラットニング後:
-
v=spf1 ip4:192.168.1.1 ip4:192.168.2.2 ~all
SPFレコードをフラットニングすることで、「include」メカニズムが直接のIPアドレスに置き換えられ、DNSルックアップが最小限に抑えられます。
SPFフラットニングが不可欠な理由
SPFレコードをフラットニングなどの最適化手法で簡素化することには、以下のような利点があります。
- 1.準拠性の維持
-
SPFレコードはDNSルックアップの制限に準拠する必要があります。
フラットニングはSPFレコードを簡素化し、制限内に収めることで、IETFが文書化しているメール認証プロトコルに関するRFC規定への準拠を維持します。
この準拠により、受信側メールサーバにおいて、ドメインの信頼性を保つことができます。 - 2.メール到達率の向上
-
SPFのルックアップ上限を超えたメールは、疑わしいものとして扱われ、受信側のメールサーバによって拒否されたり迷惑メールとして扱われたりする可能性があります。
SPFフラットニングにより、許容範囲内に収めることで、正当なメールが正しく届けられ、到達率の問題が解消されます。 - 3.メールなりすましのリスク低減
-
SPFをDMARCと組み合わせ、さらにフラットニングによってSPFを最適化することで、フィッシングやなりすましなどのメールを使ったサイバー攻撃のリスクが軽減されます。
SPFが許容上限を超えてしまうと、DMARCの認証にも失敗し、正当なメッセージまでもが拒否される可能性があります。
SPFフラットニングの仕組み
SPFのフラットニングは、手動で行うことも、オンラインの自動ツールを使用して迅速に実施することも可能です。
ここでは両方の方法を見てみましょう。
手動によるSPFフラットニング
SPFレコードを手動でフラットニングする手順は以下の通りです。
- ステップ1:SPFレコードの解析
- すべての「include」やネストされたルックアップを特定します。
- ステップ2:ルックアップの統合
- 「include」を直接のIPアドレスまたはCIDRレンジに置き換えます。
- ステップ3:フラットニング後のレコードをテスト
- DNS上で手動確認するか、 オンラインのSPFチェックツールを使用して、フラットニングされたSPFレコードが準拠しており正しく機能しているかを検証します。
自動SPFフラットニング
PowerDMARCのSPFフラットニングツールを使用することで、SPFレコードを自動的にフラットニングすることができます。
その手順は以下の通りです。
- ステップ1
-
PowerDMARCプラットフォームに登録します。
- ステップ2
-
「ホスト型サービス」内の「PowerSPF」をクリックします。
- ステップ3
-
自分のドメインを追加し、アクティブなドメインを選択します。
- ステップ4
-
「Automated Setup(自動セットアップ)」をクリックし、PowerSPFを有効にします。
※注意※
手動によるSPFフラットニングは推奨されません。なぜなら、メールサービスプロバイダは通知なしにIPアドレスを追加・変更することが多いためです。
利用者はこうした変更に常に目を配り、情報を把握しておく必要があります。そうしなければ、SPFの失敗を招き、正当なメールが届かなくなる可能性があります。
このため、自動フラットニングは手間がかからず、信頼性・効果の両面で明らかに優れた方法と言えます。
SPFフラットニングを実施する際のベストプラクティス
フラットニングされたSPFレコードが正しく機能するようにするためには、以下のポイントを考慮してください。
- 1.フラットニングされたSPFレコードの監視
-
SPFレコードは、メールサービスプロバイダやベンダーが自社のIPアドレスや送信サーバを変更することに強く依存しており、頻繁に更新が必要となる場合があります。
特に手動でフラットニングされたSPFレコードは、すぐに古くなりやすく、再びルックアップ制限エラーが発生する可能性があります。
そのため、定期的にSPFレコードをレビューし、変更点を確認・更新することが重要です。 - 2.SPFレコードの簡素化
-
SPFレコードをフラットニングする際には、シンプルかつ管理しやすい構成を意識することが必要です。
複雑で冗長なSPF構成は、認証時にエラーや不具合を引き起こす原因になります。
また、includeメカニズムをIPアドレスやレンジに置き換えることで、文字列が長くなり、SPFの許容文字数制限(255文字)を超える恐れもあります。 - 3.SPFマクロの活用
-
従来のフラットニング手法を使用する際に、ドメイン所有者が直面しやすい問題と、その簡単な対処法を確認していきます。
SPFフラットニングの課題を回避する、より効果的で信頼性の高い方法として、マクロ最適化があります。
この手法は、ルックアップ制限、void制限、文字数制限をほぼすべてのケースで回避でき、フラットニングに比べて失敗率が大幅に低減します。
SPFフラットニングの課題とその解決策
1.更新の管理
認証済みサーバの情報が変更された場合、フラットニングされたレコードも更新が必要になります。
定期的な監査と自動ツールの利用によって、この課題を解決できます。
2.長すぎるSPFレコード
IPアドレスに置き換えるとレコードが非常に長くなり、文字数制限を超える可能性があります。
これに対する解決策は、フラットニングの代わりにマクロを使用することです。
3.誤設定されたSPFレコード
設定ミスはメール配信の障害を引き起こします。
信頼できるSPFフラットニングツールや専門サポートを提供するサービスに頼ることで、問題が発生した際に迅速に対処できます。
| 特徴 | SPFフラットニング | SPFマクロ |
|---|---|---|
| 定義 | すべてのincludeメカニズムを直接のIPアドレスに変換します。 | %{i}、%{s}、%{h}などのマクロを使用して、SPFルックアップを動的に解決します。 |
| 目的 | includeをIPに置き換えることでDNSルックアップ数を削減します。 | 10件のDNSルックアップ制限を超えないように、ルックアップを動的に調整します。 |
| 利点 | - 追加のDNSルックアップを削減します。 - SPFレコードの効率性を向上させます。 |
- SPFレコードを短く保ちます。 - DNSルックアップの過剰を動的に回避します。 |
| 欠点 | - IPが変更された際に手動で更新が必要です。 - SPFレコードが長くなりすぎる可能性があります。 |
- 適切に実装するには専門的な知識が必要で、サポートなしでは複雑です。 |
| 最適な用途 | IPアドレスが安定しており、SPFルックアップの削減を必要とする組織向け。 | 静的なIPリストを使わずに動的なSPFソリューションを必要とする上級ユーザ向け。 |
なぜSPFフラットニングがメール戦略において重要なのか
SPFフラットニングは、メールを主要なコミュニケーション手段として利用する組織にとって不可欠な取り組みです。
SPFのルックアップ制限に対応することで、メール配信の中断を防ぎ、なりすまし攻撃に対する防御を強化し、メール戦略全体の最適化を図ることができます。
SPFフラットニングを導入して、ドメインの安全性を確保し、メールの到達率を向上させましょう。
自動化されたSPFフラットニングツールの導入をご検討の方は、ぜひお問い合わせください。
よくある質問(FAQs)
SPFフラットニングには制限がありますか?
SPFフラットニングにはいくつかの制限があり、マクロの方が効果的な代替手段となる場合があります。
以下に主な制限を示します。
- フラットニングには手動更新が必要
- SPFフラットニングは、メールベンダーがIPアドレスを変更・追加するたびに手動で更新する必要があります。
- 文字数制限の問題が発生する可能性
- フラットニングされたSPFレコードは非常に長くなる可能性があり、SPFの文字数制限を超えてしまうとエラーの原因となります。
- SPF失敗のリスク
- 従来型のフラットニングはIPアドレスの動的更新に対応していないため、SPFの失敗を引き起こす可能性があります。
- 管理の複雑さ
- 複数のサードパーティ製メールベンダーを使用している組織では、定期的な手動対応が必要なため、管理が煩雑になります。
新しいメール送信者にSPFフラットニングはどう対応しますか?
PowerSPFのような動的SPFフラットニングサービスや自動化されたツールを使用すれば、新しいメール送信者にも柔軟に対応できます。
一方、従来型のフラットニングでは送信者情報がSPFレコードに自動で反映されないため、認証失敗の原因となる可能性があります。
SPFフラットニングはどのようにして認証済み送信者との準拠を維持しますか?
SPFフラットニングは、認証されたIPアドレスと確認済みの送信者のみを含めることで、準拠性を維持します。
これにより、認可されていないメールリレーのリスクを低減できます。
また、DNSルックアップの10件制限を超えないように最適化されており、RFCの要件に準拠しています。
自動または手動でのチェックを行うことで、常に最新の状態を保てます。
重複する送信者や重なり合うIPレンジにはどう対応しますか?
SPFフラットニングは、重複エントリを削除し、重複するIPアドレスを統合することで、ドメインのSPFレコードを簡素化します。
また、重複・競合のないようにIPレンジを統合し、すべてのIPが認証済み送信者に属していることを確認します。