重要なお知らせ:GoogleとYahooは2024年4月よりDMARCを義務付けます。
PowerDMARC

SPFレコードを最適化するには?

Spf最適化ブログ

Spf最適化ブログ

読書時間 5

この記事では、SPFレコードを簡単に最適化する方法をご紹介します。企業や中小企業で、顧客やパートナー、従業員との間でメッセージを送受信するためにメールドメインを所有している場合、受信サービスプロバイダーによって設定されたSPFレコードがデフォルトで存在している可能性が高いです。既存のSPFレコードがあっても、新たに作成する必要があっても、SPFレコードがメール配信の問題を起こさないようにするためには、SPFレコードをドメインに合わせて正しく最適化する必要があります。

メール受信者の中には、SPFを厳しく要求する人もいます。つまり、あなたのドメインにSPFレコードが発行されていない場合、あなたのメールは受信者の受信箱でスパムとしてマークされる可能性があるということです。さらに、SPFは、あなたのドメインを代表してメールを送信する未承認のソースを検出するのに役立ちます。

まず、SPFとは何か、なぜSPFが必要なのかを理解しましょう。

送信者ポリシーフレームワーク(SPF

SPFは、基本的に標準的な電子メール認証プロトコルであり、あなたのドメインからの電子メール送信を許可されたIPアドレスを指定します。SPFは、特定のドメインのDNSで公開されている送信許可ホストとIPアドレスのリストと送信者アドレスを比較して動作します。

SPFは、DMARC(Domain-based Message Authentication, Reporting and Conformance)と共に、電子メール配信中に偽造された送信者アドレスを検出し、なりすまし攻撃、フィッシング、電子メール詐欺を防止するために設計されています。

ホスティングプロバイダーがお客様のドメインに統合したデフォルトのSPFは、お客様のドメインから送信されるメールがSPFに対して認証されることを保証しますが、お客様のドメインから複数のサードパーティベンダーがメールを送信する場合、この既存のSPFレコードをお客様の要件に合わせて調整・変更する必要があることを知っておくことが重要です。どのようにすればよいのでしょうか?最も一般的な方法を2つご紹介しましょう。

SPFレコードを最適化する方法の説明

全く新しいSPFレコードの作成

SPFレコードの作成とは、ドメインにSPFを設定するために、ドメインのDNSにTXTレコードを発行することです。これは、SPFレコードを最適化する方法を始める前の必須ステップです。認証を始めたばかりで、構文がよくわからない場合は、無料のオンラインSPFレコードジェネレータを使って、ドメインのSPFレコードを作成することができます。

正しい構文のSPFレコードエントリは以下のようになります。

v=spf1 ip4:38.146.237 include:example.com -all

すでにドメインにSPFを設定している場合は、無料のSPFレコードチェッカーを使って、SPFレコードを検索して検証し、問題を検出することもできます。

SPFを設定する際のよくある問題とエラー

1) 10個のDNSルックアップの制限 

ドメイン所有者がSPF認証プロトコルを設定・採用する際に直面する最も一般的な問題は、SPFにはDNSルックアップ数が10を超えてはならないという制限があることです。複数のサードパーティベンダーに依存しているドメインでは、10回のDNSルックアップの制限が簡単に超えてしまい、SPFが破損してSPF PermErrorが返されます。このような場合、受信サーバーは自動的にSPFレコードを無効にし、ブロックします。

DNSルックアップを開始するメカニズム。MX、A、INCLUDE、REDIRECT修飾子

2) SPFボイドルックアップ 

ボイドルックアップとは、NOERRORレスポンスまたはNXDOMAINレスポンス(ボイドアンサー)を返すDNSルックアップのことです。SPFを実装する際には、DNSルックアップがそもそもボイドアンサーを返さないようにすることが推奨されます。

3) SPF再帰的ループ

このエラーは、指定されたドメインのSPFレコードに、1つ以上のINCLUDE機構の再帰的な問題が含まれていることを示しています。これは、INCLUDEタグで指定されたドメインの1つに、SPFレコードに元のドメインのINCLUDEタグが含まれているドメインが含まれている場合に発生します。これにより、メールサーバがSPFレコードのDNS検索を継続的に行うという終わりのないループが発生します。その結果、最終的にはDNSルックアップの上限である10件を超えてしまい、SPFに失敗するメールが発生します。

4) シンタックスエラー 

SPFレコードがドメインのDNSに存在していても、構文エラーがあると意味がありません。SPF TXTレコードにドメイン名や機構名を入力する際に不要なホワイトスペースが含まれていると、受信サーバーが検索を行う際に余分なスペースの前の文字列が完全に無視され、SPFレコードが無効になります。

5) 同一ドメインに複数のSPFレコードがある場合

1つのドメインがDNSに登録できるSPF TXTエントリは1つだけです。お客様のドメインに複数のSPFレコードがある場合、受信サーバーはすべてのSPFレコードを無効にし、メールがSPFに失敗する原因となります。

6) SPFレコードの長さ 

DNSにおけるSPFレコードの最大長は255文字に制限されています。しかし、この制限を超えて、SPF用のTXTレコードに複数の文字列を連結して含めることができますが、DNSのクエリ応答に合わせて512文字の制限を超えることはできません(RFC 4408による)。これは後に修正されましたが、古いバージョンのDNSに依存している受信者は、長大なSPFレコードを含むドメインから送信されたメールを検証することができませんでした。

SPFレコードの最適化

SPFレコードを速やかに修正するために、以下のSPFのベストプラクティスを利用することができます。

注意:SPFフラット化は、一度だけの対応ではないため、お勧めできません。メールサービスプロバイダがインフラを変更した場合、それに合わせてSPFレコードを毎回変更しなければなりません。

PowerSPFで簡単にできるSPFレコードの最適化

SPFレコードを最適化するために、上記のような修正を手動で行うこともできますが、手間をかけずにダイナミックなPowerSPFが自動的にすべての作業を行ってくれます。PowerSPFは、ワンクリックでSPFレコードを最適化することができ、以下のことが可能です。

今すぐPowerDMARC登録して、SPFの制限に永遠に別れを告げましょう。  

モバイル版を終了する