【问题标题】:SPF record descriptive text broken into two separate quoted stringsSPF 记录描述性文本分成两个单独的引号字符串
【发布时间】:2015-08-21 14:53:31
【问题描述】:

我想知道其他人是否曾经发生过这种情况。我有一个域,其 DNS 由机架空间托管。当我配置 TXT (SPF) 记录时,我从不包含描述性文本的引号——大多数主机无论如何都不允许您输入它们。下面是我在 rackspace 上配置 SPF 记录时输入的字符串示例:

v=spf1 mx a include:_spf.google.com ~all

但是当我直接查询 rackspace 的 DNS 服务器时,我得到以下结果:

host -t txt example.tld
example.tld descriptive text "v=spf1 mx a include:_spf.google.com " "~all"

如果我查询另一个域的 TXT 记录,其 DNS 由 Network Solutions 托管,并且其 SPF 信息以完全相同的方式输入,我会得到以下结果:

host -t txt example.tld
example.tld descriptive text "v=spf1 mx a include:_spf.google.com ~all"

注意,描述性文本是一个连续的字符串,而不是前面结果中的两个。

我得到与 dig 相同的结果。我还不能确认这是否会导致任何问题(还),但这是我第一次看到描述性文本分成两个单独的双引号字符串。我已经询问了 rackspace 技术支持,他们已经确认他们看到的是同样的东西,但他们无法解释原因。此外,这并没有发生在几天前——我知道是因为我不得不将来自 rackspace 托管域之一的一些 TXT 查询结果粘贴到电子邮件中。我逐字粘贴。在发布之前,我检查了我发送的邮件中的消息,以确认它当时没有发生,或者它确实发生了,但我根本没有注意到——它没有。

有没有其他人见过这个?这还重要吗?提前致谢。

【问题讨论】:

  • 好吧,至少有一种方法可以合理地发生。如果这是正在发生的事情,那不是问题。但是由于您隐藏了域,我无法检查是否是它。
  • 有些 SPF 实现不能按应有的方式处理拆分的记录。这些实现只使用第一个字符串,如果字符串在机制中间被拆分,则可能导致PERMERROR。在您的情况下,这些实现将忽略“~all”,然后如果没有其他机制匹配,则很可能返回 NEUTRAL。
  • 这真的很奇怪;当我将文本输入 Rackspace 的 DNS 管理器时,它没有被拆分、引用等。看起来表单或处理表单数据的脚本有问题。虽然它似乎没有引起任何问题,但我想最终找出是什么原因造成的。

标签: dns spf


【解决方案1】:

如果 spf 记录大于 255 个字符,则显示为两个字符串。

这些字符串在 spf 验证器处连接起来形成单个 spf 记录。

255 个字符的限制是 spf 记录标准的一部分。

参考: https://kb.isc.org/article/AA-00356/0/Can-I-have-a-TXT-or-SPF-record-longer-than-255-characters.html

【讨论】:

  • 很高兴终于有了这个答案。并不是说它曾经造成任何麻烦或任何事情。谢谢!
  • Also -- 原始字符串不是 255 个字符,但这并不意味着 rackspace 不会出于任何原因分解字符串的某些部分。我在 rackspace 上有另一个域,其 SPF 如下所示:example.tld descriptive text "v=spf1 mx a ip4:50.57.219.119/32 ip4:50.57.219.120/30 ip4:50.57.219.124/32 ip4:67.192.46.10/32 ip4:72.3.165.4/31 ip4:72.3.165.6/32 ip4:72.3.204.183/32 ip4:72.32.1.164/30 ip4:72.32.1.168/32 ip4:174.143.28.59/32 ip4:174.143.28.60/30 include:_spf.google.com " "~all" that 一个在 255 个字符的限制处中断。
猜你喜欢
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 2018-01-15
  • 2017-04-15
相关资源
最近更新 更多