SPF记录允许您将他人的域SPF记录包含在您自己的范围内。例如,example.com可以让include:_spf.google.com在其SPF记录中包含_spf.google.com的所有SPF规则。
对于mx和普通a (没有:hostname)包含的example.com规则部分会发生什么?
mx会被解析为_spf.google.com或example.com的MX记录吗?
(是的,我知道_spf.google.com没有MX记录,但我只是尝试使用一个明显的include:示例,但在有一个实例的情况下)
发布于 2016-02-07 10:48:36
首先,为了清晰地了解include,RFC 4408中的s5.2说:
只使用引用SPF记录的评估结果,而不是像引用的SPF记录确实包含在第一个中一样。
关于MX d记录中的include RR是指您的MX还是included域的MX,我很高兴地承认,OpenSPF协议页面在这个主题上是非常没有帮助的,因为他们的示例对源记录和包含的记录都使用相同的域。但是,当RFC写到(同样在s5.2中)时,它(稍微地)更清晰了:
“包含”机制触发对check_host()的递归计算。按照第8节对域规范进行扩展,然后用得到的字符串作为check_host()进行计算。和参数与当前check_host()的计算结果相同。
我强调了我解释为mx和类似记录是在included域的上下文中评估的bit。但是,由于没有什么比真正的数据更好,我在我家族的一个域中定义了以下子域(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推荐的)时,它说从fred@foo.waide.me.uk到78.46.204.154的邮件是SPF通行证。请注意,在foo.waide.me.uk中的任何地方都没有引用该地址。MX在bar.waide.me.uk的S included记录中有一个引用,但foo.waide.me.uk没有MX。如果included记录中的MX没有在included域(bar.waide.me.uk)的上下文中进行评估,则根本无法解析。
为了完整起见,当我将include从foo.waide.me.uk的S记录中删除时,正如我们现在所预期的那样,贝弗里奇报告了一次失败。
https://serverfault.com/questions/748367
复制相似问题