ポスト

SPF(Sender Policy Framework)リダイレクトは、SPFレコードを含む別のドメイン名を指し示すレコードモディファイアです。ドメイン所有者は、SPFリダイレクトを使用して、1つのドメインでホストされている1つのSPFレコードを利用するように複数のドメインを設定することができます。ある意味では有益に思えるかもしれませんが、私たちはこれを推奨しません。その理由は、続きを読むをご覧ください。

SPFとRedirect Modifierの紹介

SPFは、電子メールの認証規格で、認証された当事者の記録を保持することにより、なりすましやスパムから組織を保護するものです。 

SPF redirect修飾子はオプションであり、1つのSPFレコードに1回のみ使用できます。SPF redirectを使用するには、いくつかの前提条件があります。それは以下の通りです。

  • 複数のドメインを扱う組織でなければ意味がない 
  • これらのドメインはすべて同じメールインフラを共有している必要があります。
  • リダイレクトされる2つ目のドメインには、有効なSPFレコードが設定されている必要があります。
  • SPFリダイレクトを使用するには、リダイレクトチェーンに参加するすべてのドメインに対する制御がドメイン所有者にある必要があります。

SPF Redirectモディファイアはどのように機能するのですか?

SPFリダイレクトの機能をよりよく理解するために、次の例を見てみましょう。 

domain_test.comが以下のようなSPFレコードを持っている場合。
v=spf1 redirect=domain_test2.com

これは、「domain_test」の代わりに「domain_test2.com」のSPFレコードを使用する必要があることを示します。domain_testからのメールは、"domain_test2 "を使ってリダイレクトされることになる。

SPFリダイレクトモディファイアはいつ使えるのか?

1.1つのレコードを複数のドメインで使用する場合

例えば、こんな感じです。

delaware.example.com。TXT "v=spf1 redirect=_spf.example1.com"。
austin.example.com TXT "v=spf1 redirect=_spf.example1.com"
washington.example.com TXT "v=spf1 redirect=_spf.example1.com"
_spf.example.com.TXT "v=spf1 mx:example1.com -all"

この例では、上記の3つのドメインからのメールはすべて同じレコード、この場合は"_spf.example1.com "で記述され、ユーザーに管理上の利点を提供することができます。

2.ドメイン名を変更する必要がある場合。

すべてのメカニズムにおいて、"a"、"mx"、"ptr "の値はオプションである。特定の値が提供されない場合、それらは現在のドメインに設定される。しかし、「redirect」が使用される場合、「a」、「mx」、「ptr」機構は、リダイレクトされたドメインを指し示す。

次のような例を考えてみましょう。
powerdmarc.com "v=spf1 a -all"

ここでは、メカニズムの "a "には値が指定されていないため、例で指定したようにSPFレコードがホストされている場所である "powerdmarc.com "のDNS 'A' レコードを指し示すことになる。

さて、次のような例を考えてみましょう。
powerdmarc.com "v=spf1 redirect=_spf.powerdmarc.com"
_spf.powerdmarc.com "v=spf1 a -all"

上記の例では、「powerdmarc.com」ルートドメインがリダイレクトするにもかかわらず、「a」メカニズムは「_spf.powerdmarc.com」のDNS「A」レコードを指しています。

これは、SPFの検証問題の一般的な原因の1つであり、デバッグが大変です。あなたの組織がSPFの「リダイレクト」を使用している場合、リダイレクトされたSPFレコードにドメイン名を明示的に定義しない「a」、「mx」、「ptr」メカニズムが存在すると、リダイレクト先のドメインのみを指すことになることに注意してください。

SPFリダイレクトを使用するデメリット

1.redirect」モディファイアはDNSルックアップの回数に加算される

SPFメール認証を使用する場合、あるドメインから受信者のドメインにメールが送信されるたびに、受信者のメールサーバーはDNSルックアップとも呼ばれるDNS問い合わせ要求を行い、お客様のDNSに既存の認可IPアドレスを確認し、受信メールの戻りパスヘッダのIPアドレスと比較しています。SPF RFC7208では、これらのルックアップの最大数を10に制限しています。 

また、"redirect "修飾子を使用すると、このカウントが増加します。そのため、「redirect」モディファイアを使用する場合は、以下の点に注意する必要があります。 DNSルックアップ10回制限を超える可能性があります。これにより、SPFが破綻し、認証に失敗する可能性があります。

PowerDMARCでは、SPFフラット化ツールであるPowerSPFを設定することで、ルックアップ回数を制限し、エラーのないSPFを楽しむことができます。

2.redirect "を使用しているドメインでSPFポリシーが定義されていない場合、Permerrorの結果が返されます。

SPFレコードを含まない、または無効なドメインを含む場合、検証処理に影響を与えないsoftfail(none)という結果が返されます。 

しかし、SPF redirect modifierを使用しているときに、リダイレクト先のドメインにSPFのレコードが無効または見つからない場合、SPF Permerrorの結果が返され、これはハードエラーであり、SPFが中断する原因となる可能性があるのです。

SPFリダイレクトモディファイアの代わりにSPFインクルードメカニズムを使用する。

我々は、いくつかの一般的な合併症を回避するために、redirect修飾子の代わりにSPFのincludeメカニズムを使用することをお勧めします。

  • リダイレクトメカニズムを使用した場合、レコードの終了を意味し、それ以上の修正は不可能です。一方、SPFのincludeを使用すると、レコードに変更を加えて、さらにincludeやa、mxレコードを自由に追加できるため、より柔軟性が高まります。
  • インクルードメカニズムは、SPFレコードを短縮してSPFの文字数制限を下回るようにするために役立ちます。元々1つの長いSPFレコードを分割して、spfrecord1.xyz.comとspfrecord2.abc.comにそれぞれSPF TXTレコードを作成し、一方のドメインのTXTレコードに両方のドメインを含めることができます(例: xyz.com )。
  • がある場合。 SPFレコードが見つかりません リダイレクトされたドメインでは、上記のようなリダイレクト時のエラー状態(permerror値)の保持は、includeメカニズムを使用することによっても回避することができ、代わりにsoftfailの結果を返し、メールは配信されます。
  • SPF redirect modifierは、allメカニズムに影響を与えないSPF includeとは異なり、サーバーに SPF ~all のように、ルートドメインに対してリダイレクトを行うことができます。
    domain1.com "v=spf1 redirect=_spf.domain2.com"。
    _spf.domain2.com "v=spf1 ip4:164.100.226.127 ~all
    これは、redirectを使用するレコードでは、そもそもall機構が存在しないためで、include機構を使用している間は共存する可能性があります。したがって、リダイレクトされたサブドメインに設定された"~all "は、 ルートドメインにも課されることになる。

結論

10 DNSルックアップ制限のような「リダイレクト」モディファイアを使用する場合、注意すべき点が多くあります。したがって、お客様の組織は、SPFレコードを設定する際に注意する必要があります。DNSルックアップが制限内に収まるように、時々SPFレコードを最適化する必要があります。SPFに関連するすべてのクエリについては、PowerSPFを参照してください。.自動フラット化とネットブロックの自動更新を行い、認証IPを常に最新で安全な状態に保ちます。さらに、DNS検索制限の超過を心配する必要はありません。

SPFによるメールの安全性を確保するためには、DKIMと一緒に実装するのが一番で フリーDMARC.これは、スパムメールやスピアフィッシングの可能性から組織を保護するのに役立ちます。PowerDMARCをチェックして、あなたの組織がアクティブなアンチスプーフィングDMARC技術サービスプロバイダを使用していることを確認してください。

この記事では、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レコードの作成

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

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

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

v=spf1使用しているSPFのバージョンを指定する
IP4/IP6この仕組みでは、ドメインからのメール送信を許可された有効なIPアドレスを指定します。
インクルード受信側のサーバーに、指定したドメインのSPFレコードの値を含めるように指示する仕組みです。
-すべてこの仕組みにより、SPFに準拠していないメールを拒否することができます。これは、SPFレコードを公開する際に使用できる推奨タグです。ただし、SPF Soft Failを意味する~に置き換えることもできます(SPFに準拠していないメールはソフトフェイルとしてマークされますが、それでも受け入れられます)。また、+は、あらゆるサーバーがあなたのドメインに代わってメールを送信することを許可することを指定しますが、これは強く推奨されません。

すでにドメインに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レコードに、メールソースを左から右に重要度の低い順に入力してみてください。
  • 廃止されたメールソースをDNSから削除
  • AやMXの代わりにIP4/IP6の仕組みを使う
  • INCLUDE機構の数をできるだけ少なくし、ネストしたインクルードを避けます。
  • DNSで同一ドメインのSPFレコードを複数発行しないこと
  • SPFレコードに余計な空白や構文エラーがないことを確認してください。

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

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

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

  • 簡単に送信元を追加・削除できる
  • DNSを手動で変更することなく、簡単にレコードを更新することができます。
  • 最適化された自動SPFレコードをボタン一つで取得
  • DNSルックアップ数を常に10件以内に抑える
  • PermErrorの緩和に成功しました。
  • SPFレコードの構文エラーや設定の問題を解消
  • お客様に代わってSPF制限を解決する負担を軽減します

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