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技術サービスプロバイダを使用していることを確認してください。