含まれる (セカンダリ) SPF レコードで「-all」は何をしますか?

含まれる (セカンダリ) SPF レコードで「-all」は何をしますか?

SPF レコードでは、この-allオプションは「ここで明示的にリストしているマシン/ドメインのみをホワイトリストに登録し、他のサーバーはこのドメインの電子メールを発信できない」という意味です。

では、include:SPFレコードのオプションを使用して2番目のSPFレコードを含めると、二次的なSPF レコードはありますか-all? そこにあるとどのような影響がありますか?

答え1

インクルード メカニズムは、インクルードされたレコードの再帰評価をトリガーします。この評価が失敗した場合 (インクルードされたレコードに -all が含まれている場合など)、インクルード メカニズムの結果は「一致しない」とみなされます。そのため、実際には、インクルードされた SPF レコード内の -all メカニズム (または - 修飾子を含むその他のメカニズム) は、プライマリ レコードの評価には影響しません。

インクルードメカニズムがプライマリレコードの評価にどのように影響するかについての完全な概要は、RFC 7208のセクション5.2の表で確認できます(https://www.rfc-editor.org/rfc/rfc7208#section-5.2

答え2

SPF チェックに合格するには、送信 IP アドレスが少なくとも 1 つのメカニズムに合格する必要があります。インクルード メカニズムは、インクルードされた SPF レコードを使用して受信 IP アドレスをテストし、結果を「返します」。

あなたの例を使用すると:

a.example.com    IN TXT "v=spf1 include:b.example.com +all"
b.example.com    IN TXT "v=spf1 -all"

含まれているレコードには-allメカニズムしか含まれていないため、失敗が返されます。ただし、最初のレコードにはメカニズムがあるため、成功します+all

より詳細な例を挙げます。

a.example.com            IN TXT "v=spf1 ip4:1.2.3.4 mx include:spf.example.org -all"
a.example.com            IN MX  0 mailserver.example.com
mailserver.example.com   IN A   1.2.3.5
spf.example.org          IN TXT "v=spf1 ip4:4.3.0.0/16 -all"

各メカニズムの結果を、レコードに指定されているのと同じ順序で書き留めます。したがって、結果は次のようにフォーマットされます。

  • a.example.com:[ip4] [mx] [include] [-all]
  • spf.example.org:[ip4] [-all]

送信者アドレスは次のとおりです:

1.2.3.4

  • spf.example.org ->fail fail
  • a.example.com ->pass fail fail fail

pass少なくとも1つのチェックに合格したため、最終結果は になります。

1.2.3.5

  • spf.example.org ->fail fail
  • a.example.com ->fail pass fail fail

pass少なくとも1つのチェックに合格したため、最終結果は になります。

4.3.10.20

  • spf.example.org ->pass fail
  • a.example.com ->fail fail pass fail

pass少なくとも1つのチェックに合格したため、最終結果は になります。

要約:include メカニズムは個別に評価され、その結果は、それを含むレコードの評価に返されます。一致するメカニズムがない場合、レコードの評価は失敗します。例を で終了したので+all、常に一致し、したがって合格します。

答え3

-all末尾の は、すべてのインクルードが処理された後に解釈されます。

その目的は、リストされているリソースを介して送信されていない電子メールをどのように処理する必要があるかを伝えることです。

-allは、それらを偽造として削除することを意味しますが、 は、~allそれらがまだ正当である可能性があり、より疑いを持って扱う必要があることを意味します。

関連情報