重要提示:谷歌和雅虎将从 2024 年 4 月起要求使用 DMARC。
权力管理机构

了解SPF在电子邮件认证中的局限性

了解SPF在电子邮件认证中的局限性

了解SPF在电子邮件认证中的局限性

阅读时间 5 分钟

发件人策略框架或 SPF在保护企业电子邮件免受网络钓鱼和垃圾邮件攻击方面,SPF 网络钓鱼和垃圾邮件攻击。SPF 对 DNS 查询最大次数的限制以及发件人地址和域的不对齐会导致执行错误,从而造成电子邮件可送达性问题。本博客将讨论这些问题以及DMARC如何帮助克服这些 SPF 限制。

什么是 SPF 记录的限制?

有2个主要的SPF限制,使其在实施和维护上有些棘手。 

1.SPF 10-查询限制

当用户查询DNS服务器时,它的验证器资源,如带宽、时间、CPU和内存都被占用。为了避免验证器的任何负载,SPF 有一个 10 次额外查询的限制。然而,对 SPF 策略记录本身的 DNS 查询并不计入这个限制。

根据 RFC7208第4.6.4节的规定,一旦达到了 10 次查询的限制,收件人的邮件服务器就不应该进一步处理。在这种情况下,邮件会以 Permerror 错误拒绝 SPF 验证。SPF Permerror 是 SPF 实施过程中经常出现的信息之一。它导致电子邮件无法投递,并且在一个域名上存在多个 SPF 记录、弹出一个语法错误或者由于超过 SPF 记录的限制时发生。

你可以使用免费的 SPF记录检查器工具来消除这个错误,确保安全的电子邮件对话。

此外,根据RFC的规定,DNS查询在一个 MX记录不应产生超过10个 A记录或 AAAA 记录。如果一个DNS PTR查询产生的结果超过10个,则只显示和使用前10个结果。

2.人类可读的发件人地址

SPF的第二个限制是,SPF记录适用于特定的Return-Path域名,而不是From地址。收件人一般不会太注意Return-Path地址,当他们打开一封邮件时,只关注From地址。黑客利用这一漏洞,通过伪造发件人地址来进行网络钓鱼攻击。

SPF记录大小对邮件发送的影响

当收件人超过 SPF 记录限制时,它将无法通过 SPF 检查,并出现 Permerror。您可以在使用DMARC 监控时观察到此错误。收件人可以选择如何处理 Permerror 失败的电子邮件。他们可以选择拒绝其条目,这意味着电子邮件会被退回。有些收件人会将其配置为显示 "中性 "SPF 结果(就像没有使用 SPF 一样)。他们还可以选择 "失败 "或 "软失败",这意味着 SPF 验证检查失败的电子邮件不会被拒收,而是会进入垃圾邮件文件夹。 

这些结果也是通过考虑DMARC、DKIM和垃圾邮件评级的结果确定的。超出SPF的限制 影响了电子邮件的可送达性,因为它降低了电子邮件落入预定收件人的主要收件箱的概率。

验证器从左到右评估 SPF 策略,当发现与发件人 IP 地址匹配时,这个过程就会停止。现在,根据发件人的情况,即使SPF策略需要10次以上的查询才能完全评估,验证器也不一定能达到查询的极限。这给识别与 SPF 记录限制相关的电子邮件交付能力问题带来了困难。 

如何减少所需的查询次数?

对于一些域名所有者来说,要保持在SPF的10次查询限制内是很困难的,因为与2006年(RFC4408实施的时间)相比,电子邮件交换的习惯已经发生了很大变化。现在,公司用一个域名使用多个基于云的程序和服务。所以,下面是一些克服这个常见的SPF限制的方法。

评估你的SF记录,看看是否有任何未使用或未要求的服务。检查它的'包括'或其他机制,显示不再使用的服务的域。

默认的SPF策略通常被设置为'v=spf1 a mx. 由于大多数A和AAAA记录是用于网络服务器的,可能不会发送电子邮件,因此,'aa'和'mx机制是不需要的。

ǞǞǞ ptr 机制由于其薄弱的安全性和不可靠,是非常不可取的。该机制通过要求更多的查找而导致 SPF 限制问题。因此,它应该被尽可能地避免。

ǞǞǞ mx机制是用来接收邮件的,而不一定是用来发送邮件的。这就是为什么你可以避免使用它,以保持在查找时设置的SPF记录限制之内。如果你是一个基于云的电子邮件服务的用户,请使用 ''包括机制来代替。

IPv4和IPv6不需要任何额外的查询,这意味着它们可以帮助你不超过SPF不超过10次查询的限制。然而,你需要定期更新和维护这两种机制,因为它们在不重新修整的情况下更容易出错。

一些资源声称,SPF 策略越扁平(或越短),域名的声誉就越好。他们建议采用这种方法,以保持在 SPF 记录的查询限制之内。然而,扁平化是不可取的,因为它使你的记录更容易出错,需要定期更新。 

DMARC在克服SPF限制方面的作用

DMARC通过要求人可读的 "发件人 "字段与通过SPF认证的服务器之间的匹配或一致,解决了SPF对人可读的 "发件人 "地址的限制。

因此,如果一封邮件通过了SPF检查,但域名与发件人地址不一致,DMARC就会推翻这种认证。这意味着该邮件未能通过认证测试。

SPF记录的扁平化是如何帮助克服10个DNS查询限制的?

SPF记录扁平化是一种用于优化SPF(发送方策略框架)记录的技术,以克服SPF的10次DNS查询限制。10次DNS查询限制是许多DNS解析器施加的限制,它限制了验证一个域名的SPF记录时可以进行的DNS查询次数。

当收到一封邮件时,收件人的邮件服务器会查询发件人域名的DNS的SPF记录,以验证发件人是否被授权从该域名发送邮件。然而,如果SPF记录包含许多嵌套的内容,它就会很快超过10个DNS查询的限制,导致SPF验证失败和假阳性的垃圾邮件检测。

为了克服这个限制,我们使用了 SPF 记录的扁平化。SPF 记录扁平化是一种技术,它将 SPF 记录中所有嵌套的包含语句替换为其相应的 IP 地址或 CIDR 范围。这减少了验证 SPF 记录所需的 DNS 查询的数量,因为每个包含的域都不再被单独查询。

通过扁平化SPF记录,验证SPF记录所需的DNS查询次数大大减少,即使原始记录有超过10次的DNS查询,电子邮件也能通过SPF验证。这项技术也减少了由于DNS查询超时或临时DNS服务器问题而导致的SPF记录验证失败的风险。

在大型企业中实施SPF的挑战

SPF已经强制限制了不超过10次的查询,以防止 DoS和DDoS攻击.不幸的是,这些查询会很快增加,特别是在大型企业。早期的公司运营自己的邮件服务器,然而现在他们使用第三方发送器。这就造成了一个问题,因为每个人可能需要3或4个服务器,你很快就达到了极限。

退出手机版