web-dev-qa-db-ja.com

REDIRECTおよびINCLUDEを含むSPFレコード

共有ドメインのSPFレコードを作成する必要があります-2つのメールシステム、1つはOffice 365です。通常は次のようになります。

“v=spf1 mx include:MAIL_SERVER include:spf.protection.Outlook.com ~all”

事前に次のように構成されていれば、非常に簡単です。

“v=spf1 mx include:MAIL_SERVER ~all"

しかし、私は次のような別の状況にあります。

“v=spf1 mx redirect:_spf.PROVIDERSERVER.COM"

よくわかりませんが、次のようにできます。

“v=spf1 mx redirect:_spf.PROVIDERSERVER.COM include:spf.protection.Outlook.com ~all”

このように機能しますか?そうでない場合、何を変更する必要がありますか?

7
kjubus

redirectmechanismではなく、modifierです。他のすべてのmechanismsがテストされた後にのみ考慮されます。 includeとは異なり、redirectがナビゲートされると、次の用語を評価するために戻りません。明確にするために無効です。他のすべての用語がテストされて渡された後でのみ評価されるため、レコードの最後の用語として表示されます。つまり、SPFレコード内での位置は、処理の順序を決定しません。

レコードで代替メカニズムの条件が満たされている場合、処理はその条件で停止し、評価された条件が返されます。これには、存在する可能性のあるallメカニズムが含まれます。したがって、allメカニズムのため、redirectallと組み合わせて使用​​することはできません。常に最初にテストされ、満足されます。redirectは処理されません。もちろん、リダイレクトされたドメインのSPFのallメカニズムは、-allincludeこれは、not-matchedをインクルードメカニズムコールに返すことで無視されます。 (注意:+ allがトラバースされたinclude内で検出された場合、matchedが返されます、およびその結果の前に付加されている結果をトリガーします。通常はデフォルト+です。)

リダイレクトされたドメイン自体のSPFにはさらにリダイレクトが含まれている可能性があり、期待どおりにカスケードされることに注意してください。ただし、各redirectlookup count制限にカウントされます。

要約すると、次のようなものを使用したいでしょう...

“v=spf1 mx include:spf.protection.Outlook.com redirect:_spf.PROVIDERSERVER.COM”
6
Gavin Jackson

以前の回答のアドオンを作成します。

RFC、リダイレクト修飾子のセクション6.1 から:

この機能は、複数のドメインに同じレコードを適用したい組織による使用を目的としています。例えば:

 la.example.com. TXT "v=spf1 redirect=_spf.example.com"
 ny.example.com. TXT "v=spf1 redirect=_spf.example.com"
 sf.example.com. TXT "v=spf1 redirect=_spf.example.com"    
_spf.example.com. TXT "v=spf1 mx:example.com -all"

この例では、3つのドメインのいずれかからのメールが同じレコードで記述されています。これは管理上の利点となります。

注:一般に、ドメイン「A」は、同じ管理制御下にない別のドメイン「B」へのリダイレクトを確実に使用できません。以来
は同じままです。ドメイン「B」のレコードがドメイン「A」のメールボックスで正しく機能する保証はありません。
特にドメイン「B」がローカル部分を含むメカニズムを使用する場合。あ
"include"ディレクティブは一般により適切です。

また、redirect修飾子をallメカニズムと組み合わせてはいけません:

明確にするために、「リダイレクト」修飾子は最後に表示する必要があります(SHOULD)
レコードの期間。 「リダイレクト」修飾子がある場合は無視する必要があります
は、レコードの任意の場所にある「すべて」のメカニズムです。

これらすべてを考慮して、@ Synchroが提供する構文を使用することをお勧めします。規則に違反するわけではありませんが、メカニズムをredirect修飾子と組み合わせることは非常にまれです。

1
Reinto

よくわかりませんが、ここで推測します。 The docsredirectは現在のレコードを完全に置き換えるため、他のすべての句は無視されると予想しますが、左から右に評価されるため、おそらくmx lookup first-手動でテストできます。

そもそもなぜredirectを見ているのかわかりません。

私はあなたがあなたが目指していることを達成することができると思います:

"v=spf1 mx include:_spf.PROVIDERSERVER.COM include:spf.protection.Outlook.com ~all"
1
Synchro

私の知る限り(/理解 https://tools.ietf.org/html/rfc7208#page-26 )、最後の例のレコードを作成できます。 redirect修飾子は、他のすべてが失敗した場合に使用されます。つまり、最後にチェックされることになります)。

この同じRFCによると、redirect修飾子は~allの前のレコードの最後に置くことをお勧めします。

0
Lanexbg