DNS 検索制限(SPF)とは何ですか?
SPF における DNS 検索制限とは、1回の SPF 評価で実行できる DNS 照会を伴うメカニズムと修飾子が最大10個までとするルールを指します。この上限は、メール配信を遅らせたり悪用のリスクを生んだりしかねない、過剰または再帰的な DNS ルックアップを防ぐために存在します。SPF ポリシーが10回を超えるルックアップを必要とする場合、SPF の処理は permerror の結果で失敗し、受信サーバーは通常そのメッセージを SPF に失敗したものとして扱います。
この制約は、v=spf1 レコードの組み立て方に影響します。一部のメカニズムは DNS 照会を引き起こしますが、そうでないものもあります。慎重に計画することで、レコードを制限内に保ち、メールボックスプロバイダー全体で信頼できる認証結果を確保できます。
SPF の評価中、受信サーバーは v=spf1 ポリシーを展開します。展開のたびに外部への DNS 照会が必要になると、それが10回の制限にカウントされます。カウントはトップレベルだけでなく、include や redirect をまたいで累積されます。
DNS ルックアップを引き起こすメカニズムと修飾子は次のとおりです。
DNS ルックアップを引き起こさないメカニズムは次のとおりです。
ボイドルックアップには別途制限があります。DNS 照会を伴うメカニズムが2個以上、データなしまたは NXDOMAIN を返した場合、評価は permerror で停止することがあります。これは、高コストな、または悪用的なポリシーから受信サーバーを守るためのものです。
制限を超えるおそれのあるポリシーの例です。
v=spf1 include:_spf.vendor1.com include:_spf.vendor2.com include:_spf.vendor3.com include:_spf.vendor4.com include:_spf.vendor5.com mx a ~allトップレベルでは10回未満のルックアップに見えても、各 include 自体がさらに include、a、mx などのメカニズムを含んでいることがあります。展開されたツリー全体の合計は、10以下に収めなければなりません。
SPF ポリシーが10回のルックアップ制限を超えると、受信サーバーは permerror を返し、SPF が失敗したかのようにメッセージを扱うことがあります。DMARC ポリシーとアライメントによっては、その失敗が受信トレイへの配置を下げたり、保護対象ドメインの完全な拒否につながったりする可能性があります。
制限に達した場合の運用上のリスクは次のとおりです。
ポリシーを制限内に保つことで、安定した認証結果が確保され、サポートの負担が減り、ドメインのレピュテーションが維持されます。また、攻撃者が受信側に高コストなリゾルバー処理を強いるポリシーを仕込むのも防ぎます。
正確さを損なうことなく DNS ルックアップを最小限に抑えるように SPF ポリシーを設計しましょう。効果的な手法は次のとおりです。
制限を守った、簡潔な例です。
v=spf1 ip4:203.0.113.0/24 include:_spf.mailhost.com ip6:2001:db8:abcd::/48 -allDMARCeye は、SPF ポリシーを完全に展開して評価し、DNS ルックアップの総数を見積もり、制限に近づいている、または超えているポリシーを明らかにします。このプラットフォームは、どのメカニズムがカウントに最も寄与しているかを追跡し、リスクのある include や redirect の連鎖を洗い出します。
DMARCeye はまた、ボイドルックアップ、非推奨の ptr の使用、そしてベンダーの更新後にレコードを閾値を超えさせかねない設定ミスにフラグを立てます。明確な推奨事項と変更の追跡により、チームは SPF ポリシーを簡素化し、10回のルックアップルールを守り、一貫した DMARC 合格率を維持できます。
ご自身のSPFレコードを確認しましょう:
DMARCeyeの無料トライアルに登録して、メールドメインを保護しましょう。
DMARCおよび関連用語について詳しくは、DMARCeye用語集をご覧ください。