岗位

ǞǞǞ SPF(Sender Policy Framework) 重定向是一个记录修改器,它指向一个包含 SPF 记录的独立域名。域名所有者可以配置多个域名,利用SPF重定向来利用一个域名上托管的单个SPF记录。虽然它在某些方面似乎是有益的,但我们并不推荐它。阅读更多内容,找出原因!

SPF和重定向修改器的介绍

SPF是电子邮件认证标准,通过维护授权方的记录,保护你的组织免受冒名顶替和垃圾邮件的影响。 

虽然 SPF 重定向修改器是可选的,每个 SPF 记录只能使用一次。使用 SPF 重定向有一些先决条件。它们是:。

  • 只有当一个组织与多个领域合作时,它才有意义 
  • 所有这些域必须共享相同的电子邮件基础设施
  • 第二个被重定向的域名,必须有一个有效的SPF记录。
  • 要使用SPF重定向,参与重定向链的所有域名的控制权必须在域名所有者手中。

SPF重定向修改器是如何工作的?

为了更好地理解SPF重定向的功能,让我们看一下下面的例子。 

如果domain_test.com有一个SPF记录,如:。
v=spf1 redirect=domain_test2.com

这表明应该使用 "domain_test2.com "的 SPF 记录,而不是 "domain_test"。来自 domain_test 的邮件就会被重定向到 "domain_test2"。

什么时候可以使用SPF重定向修改器?

1.当一条记录要用于多个域时

比如说。

delaware.example.com。TXT "v=spf1 redirect=_spf.example1.com"
austin.example.com TXT "v=spf1 redirect=_spf.example1.com"
washington.example.com TXT "v=spf1 redirect=_spf.example1.com"
_spf.example.com.TXT "v=spf1 mx:example1.com -all"

在这个例子中,任何来自上述三个域名的邮件都将被同一记录所描述,在这种情况下,"_spf.example1.com",这为用户提供了管理优势。

2.当域名的名称需要改变时。

对于所有机制,"a"、"mx "和 "ptr "值是可选的。如果没有提供具体的值,它们将被设置为当前域。然而,当使用 "重定向 "时,"a"、"mx "和 "ptr "机制将指向重定向的域。

请考虑以下例子。
powerdmarc.com "v=spf1 a -all"

在这里,机制 "a "没有指定值,所以它将指向 "powerdmarc.com "的DNS'A'记录,因为这就是例子中指定的SPF记录的托管地。

现在,请考虑以下例子。
powerdmarc.com "v=spf1 redirect=_spf.powerdmarc.com"
_spf.powerdmarc.com "v=spf1 a -all"

在上面的例子中,"a "机制指向"_spf.powerdmarc.com "的DNS'A'记录,尽管 "powerdmarc.com "根域对其进行了重定向。

这是导致 SPF 验证问题的常见原因之一,而且很难调试。如果你的组织使用 SPF "重定向",请注意,如果你的重定向 SPF 记录中存在一个没有明确定义域名的 "a"、"mx "或 "ptr "机制,它将只指向重定向的域名。

使用SPF重定向的弊端

1."重定向 "修改器增加了DNS查询的数量

当使用 SPF 电子邮件认证时,每次电子邮件从一个域发送到收件人的域时,收件人的电子邮件服务器都会执行 DNS 查询请求,也称为 DNS 查询,以检查你的 DNS 中现有的授权 IP 地址,并将它们与收到的电子邮件的返回路径头中的 IP 地址进行比较。SPF RFC7208将这些查询的最大数量限制为10。 

当使用 "重定向 "修饰语时,也会增加这一计数。因此,你的组织在使用 "重定向 "修饰词时必须小心,因为 10个DNS查询限制可能会被超过。这可能会导致 SPF 崩溃,并导致认证失败。

在PowerDMARC,我们的用户配置了PowerSPF,这是一个有效的SPF扁平化工具,可以限制查找次数,享受无错误的SPF。

2.如果在使用 "重定向 "的域中没有定义SPF策略,则返回错误的结果。

如果你包含的域名不包含SPF记录,或者有一个无效的SPF记录,那么会返回一个softfail(无)的结果,这并不影响验证过程。 

然而,在使用 SPF 重定向修改器时,如果被重定向的域包含一个无效的或缺失的 SPF 记录,就会返回一个 SPF Permerror 结果,这是一个硬故障,会导致 SPF 断裂。

使用SPF包含机制而不是SPF重定向修改器

我们推荐使用SPF包含机制,而不是重定向修改器,以规避一些常见的复杂情况,它们如下。

  • 当使用重定向机制时,它表示记录的结束,不能做进一步的修改。另一方面,如果你使用 SPF include,你可以对你的记录进行修改,根据你的意愿添加更多的 include、a 或 mx 记录,从而在灵活性方面提供更多。
  • 包含机制可以帮助缩短你的 SPF 记录,使其在 SPF 的字符长度限制之下。你可以在 spfrecord1.xyz.com 和 spfrecord2.abc.com 上各创建一条 SPF TXT 记录,把原来单一的、长的 SPF 记录拆开,在其中一个域名的 TXT 记录中包括这两个域名(比如:xyz.com)。
  • 如果有 没有发现SPF记录 在一个重定向的域中,上述重定向的错误状态(permerror值)的保留也可以通过使用include机制来规避,该机制将返回一个softfail的结果,而你的邮件仍然被交付。
  • 与 SPF include 对所有机制没有影响不同,SPF 重定向修饰符指示服务器将 SPF~全部 为根域使用重定向,就像下面的情况。
    domain1.com "v=spf1 redirect=_spf.domain2.com"
    _spf.domain2.com "v=spf1 ip4:164.100.226.127 ~all
    这是因为对于任何使用重定向的记录,"all "机制首先是不存在的,在使用包含机制的过程中可能同时存在。因此,被重定向的子域的"~all "设置也被征用在根域上。

总结

在使用 "重定向 "修改器时,有很多事情需要谨慎,比如 10 个 DNS 查询限制,因此,你的组织在设置 SPF 记录时必须谨慎。你的组织必须不时地优化 SPF 记录,确保 DNS 查询在限额之内。对于你的组织的所有与 SPF 相关的查询,请查看 PowerSPF.它可以进行自动扁平化并自动更新网块,以确保授权的 IP 始终是最新的和安全的。此外,你不必担心permerror或超过DNS查询限制。

用SPF保护你的电子邮件的最好方法是与DKIM和 免费的DMARC.这将有助于保护你的组织免受垃圾邮件和可能的鱼叉式钓鱼尝试。请查看PowerDMARC,并确保你的组织正在使用一个活跃的反欺骗DMARC技术服务提供商。