SPF“包含:”MX 是否保持为包含域的 MX,还是转换为包含者的 MX?

SPF“包含:”MX 是否保持为包含域的 MX,还是转换为包含者的 MX?

SPF 记录允许您将其他域的 SPF 记录包含在您自己的记录中。例如,example.com您可以include:_spf.google.com在其 SPF 记录中包含 的所有 SPF 规则_spf.google.com

所包含规则的mx和 普通a(没有)部分会发生什么情况?:hostnameexample.com

mx被解析为 MX 记录_spf.google.comexample.com

(是的,我知道没有 MX 记录_spf.google.com,但我只是想举一个明显的include:例子,但针对的是存在 MX 记录的情况)

答案1

首先,为了澄清一下includeRFC 4408 第 5.2 节规定

仅使用所引用的 SPF 记录的评估结果,而不是好像所引用的 SPF 记录实际上包含在第一个中。

至于d 记录MX中的 RR是否include指的是您的MX,还是d 域MXinclude,我很高兴地承认OpenSPF 的协议页面对这个问题毫无帮助,因为他们的示例对源记录和包含的记录使用了相同的域。但是 RFC 写得(非常)清楚一些(同样在 s5.2 中):

“包含”机制触发 check_host() 的递归评估。 域规范按照第 8 节进行扩展。然后使用结果字符串作为 <domain> 来评估 check_host()。<ip> 和 <sender> 参数与 check_host() 的当前评估保持相同。

mx我已将我理解为在 d 域上下文中评估和类似记录的部分突出显示include。但由于没有什么比真实数据更好,我在我的一个家庭域中定义了以下子域(waide.me.uk,感谢临时借用!):

foo     IN      TXT     "v=spf1 include:bar.waide.me.uk -all"
foo     IN      A       10.5.5.5

bar     IN      TXT     "v=spf1 mx -all"
bar     IN      MX      5       baz.bar
baz.bar IN      A       78.46.204.154

当我使用贝弗里奇测试仪(openspf.org 建议),它表示来自[email protected]的邮件78.46.204.154是 SPF 通行证。请注意,没有提到该地址任何地方foo.waide.me.uk那里记录MX中的参考,但bar.waide.me.ukincludedfoo.waide.me.uk没有 MX。如果d 记录MX中的include没有在 d 域的上下文中进行评估includebar.waide.me.uk),则根本无法解析。

并且为了完整起见,当我includefoo.waide.me.ukSPF 记录中删除时,正如我们现在所预料的那样,Beveridge 会报告失败。

相关内容