岗位

ǞǞǞ 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技术服务提供商。

在这篇文章中,我们将探讨如何为你的域名轻松优化SPF记录。对于拥有电子邮件域名的企业和小型企业来说,他们在客户、合作伙伴和雇员之间发送和接收信息,很可能默认存在一条 SPF 记录,这是由你的收件箱服务提供商设置的。不管你是有一个预先存在的SPF记录,还是需要创建一个新的记录,你都需要为你的域名正确地优化你的SPF记录,以确保它不会造成电子邮件的交付问题。

一些电子邮件收件人严格要求SPF,这表明如果你的域名没有发布SPF记录,你的电子邮件可能会在收件人的收件箱中被标记为垃圾邮件。此外,SPF有助于检测未经授权的来源以你的域名名义发送电子邮件。

让我们首先了解什么是SPF,为什么需要它?

发件人政策框架(SPF

SPF本质上是一个标准的电子邮件认证协议,它规定了被授权从你的域名发送电子邮件的IP地址。它的运作方式是将发件人地址与特定域名的授权发送主机和IP地址列表进行比较,该列表公布在该域名的DNS中。

SPF与DMARC(基于域的信息验证、报告和一致性)一起,旨在检测电子邮件发送过程中伪造的发件人地址,并防止欺骗性攻击、网络钓鱼和电子邮件诈骗。

需要知道的是,尽管你的主机提供商将默认的 SPF 集成到你的域名中,确保从你的域名中发送的邮件能够通过 SPF 认证,如果你有多个第三方供应商从你的域名中发送邮件,那么这个预先存在的 SPF 记录需要被定制和修改,以适应你的要求。你怎样才能做到这一点呢?让我们来探讨两种最常见的方法。

  • 创建一个全新的SPF记录
  • 优化现有的SPF记录

关于如何优化SPF记录的说明

创建一个全新的SPF记录

创建 SPF 记录,只是在你的域名的 DNS 中发布一条 TXT 记录,为你的域名配置 SPF。这是一个强制性的步骤,在你开始了解如何优化SPF记录之前。如果你刚开始接触认证,对语法没有把握,你可以使用我们免费的在线SPF 记录生成器,为你的域名创建 SPF 记录。

一个具有正确语法的SPF记录条目将看起来像这样。

v=spf1 ip4:38.146.237 include:example.com -all

v=spf1指定正在使用的SPF的版本
ip4/ip6这一机制指定了被授权从你的域名发送电子邮件的有效IP地址。
包括这个机制告诉接收服务器包括指定域的 SPF 记录的值。
全部这个机制规定,不符合 SPF 标准的邮件将被拒绝。这是你在发布 SPF 记录时可以使用的推荐标签。不过,你可以用 ~ 代替 SPF Soft Fail (不符合规定的邮件将被标记为软失败,但仍会被接受),也可以用 + 代替,这说明任何和每一个服务器都可以代表你的域名发送邮件,但这是非常不可取的。

如果你已经为你的域名配置了SPF,你也可以使用我们免费的SPF记录检查器来查询和验证你的SPF记录并检测问题。

配置SPF时的常见挑战和错误

1) 10个DNS查询限制 

域名所有者在为他们的域名配置和采用 SPF 认证协议时,面临的最常见的挑战是 SPF 对 DNS 查询的次数有限制,不能超过 10 次。对于依赖多个第三方供应商的域名来说,10个DNS查询的限制很容易超过,这反过来又会破坏SPF,并返回一个SPF PermError。在这种情况下,接收服务器会自动使你的 SPF 记录无效,并将其屏蔽。

启动DNS查询的机制。MX, A, INCLUDE, REDIRECT修改器

2) SPF无效查询 

无效查询是指返回 NOERROR 响应或 NXDOMAIN 响应(无效回答)的 DNS 查询。在实施 SPF 的过程中,我们建议首先确保 DNS 查询不会返回无效答案。

3) SPF 递归循环

这个错误表明,你指定的域的 SPF 记录包含一个或多个 INCLUDE 机制的递归问题。这发生在INCLUDE标签中指定的一个域中,该域的SPF记录包含原域的INCLUDE标签。这导致了一个永无止境的循环,使电子邮件服务器不断地对SPF记录进行DNS查询。这最终会导致超过10次的DNS查询限制,从而导致电子邮件无法通过SPF。

4) 语法错误 

一个 SPF 记录可能存在于你的域名的 DNS 中,但是如果它包含语法错误,那就没有用了。如果你的 SPF TXT 记录在输入域名或机制名称时包含了不必要的空白,那么在执行查询时,接收服务器会完全忽略多余的空格前的字符串,从而使 SPF 记录无效。

5) 同一域名的多个SPF记录

一个域名在 DNS 中只能有一条 SPF TXT 记录。如果你的域名包含一个以上的SPF记录,接收服务器会使所有的记录失效,从而导致邮件无法通过SPF。

6) SPF记录的长度 

一个 SPF 记录在 DNS 中的最大长度被限制为 255 个字符。然而,这个限制可以被超越,SPF的TXT记录可以包含多个字符串串联在一起,但不能超过512个字符的限制,以适应DNS的查询响应(根据RFC 4408)。尽管后来对此进行了修订,但依赖旧的DNS版本的收件人将无法验证从含有冗长的SPF记录的域名中发送的电子邮件。

优化你的SPF记录

为了及时修改你的SPF记录,你可以使用以下SPF最佳实践。

  • 试着在你的SPF记录中按重要性从左到右依次打下你的电子邮件来源
  • 从你的DNS中删除过时的电子邮件来源
  • 使用IP4/IP6机制而不是A和MX
  • 尽可能减少INCLUDE机制的数量,并避免嵌套式包含。
  • 不要在你的DNS中为同一个域名发布一个以上的SPF记录。
  • 确保你的SPF记录不包含任何多余的空白或语法错误。

注意:SPF扁平化不被推荐,因为它不是一次性的。如果你的电子邮件服务提供商改变了他们的基础设施,你将不得不相应地改变你的SPF记录,每次都是如此。

用PowerSPF轻松优化你的SPF记录

你可以继续尝试实施上述所有的修改来手动优化你的 SPF 记录,或者你可以忘记这些麻烦,依靠我们的动态 PowerSPF 来自动完成这一切PowerSPF可以帮助你一键优化你的 SPF 记录,在这里你可以。

  • 轻松地添加或删除发送源
  • 轻松地更新记录,而不必手动修改你的DNS
  • 只需点击一个按钮,就能获得一个优化的自动SPF记录
  • 始终保持在10个DNS查询限制之下
  • 成功地缓解了PermError
  • 忘记SPF记录的语法错误和配置问题
  • 我们代表你解决SPF限制的问题,减轻你的负担

今天就注册 PowerDMARC,永远告别SPF值的限制!