什么是 SPF?
SPF (Sender Policy Framework, 发送者策略框架) 是一个邮件验证机制;它允许经过授权的发送者使用域名发送邮件,同时阻止没有经过授权的用户这样做。SPF 使得接收服务器可以检查一封自称发送自某个域名的邮件是否来自该域名管理者授权的 IP 地址。
为什么使用 SPF?
在 SPF 中,您可以使用各种 mechanisms 和 modifiers 来定义一个 IP 地址的白名单,该白名单上的 IP 地址被允许发送来自您的域名的邮件。来自这个白名单之外的邮件会被标记为 “SPF 检查失败”。这样,您可以控制谁可以用您的域名发送邮件。
我可以在一个域名上面有多条 SPF 记录吗?
不可以。在一个域名上面发布多条 SPF 记录会使得 SPF 对所有发送自该域名的邮件返回 PermError (永久性错误)。
请参阅我可以在一个域名上面有多条 SPF 记录吗?以获取更多信息。
如何设置 SPF?
要设置 SPF,您需要在 DNS 中发布一条为域名指定合法 IP 地址的白名单的 SPF 记录。
下面是一些相关的教程:
如何检查/测试域名上的 SPF 记录?
要检查/测试您是否正确地在域名上发布了 SPF 记录,可以使用免费的 SPF 记录检查器。
该检查器可以返回 SPF 记录是否存在,语法是否正确,DNS 查询次数是否在 10 次以下等信息。
什么是 SPF 10 次 DNS 查询极限?
为了减轻拒绝服务攻击 (Denial of Service, DoS) 的风险,SPF 要求每次检查所发起的 DNS 查询不能超过 10 次,包括 “include” mechanism 和 “redirect” modifier。否则,SPF 将返回 “SPF PermError: too many DNS lookups”。
参阅当 SPF 记录超过 10 次 DNS 查询极限以了解更多信息。
如果我的 SPF 记录包含多于 10 次 DNS 查询,我的邮件会被标成垃圾邮件吗?
如果您的 SPF 记录包含多于 10 次 DNS 查询,那么您的邮件将有可能会被标成垃圾邮件。当您的邮件抵达接收服务器的时候,由于超越了该极限,SPF 返回 PermError,因此该邮件无法通过 SPF 检查。SPF, DKIM 或者 DMARC 检查失败的邮件比通过检查的邮件更容易被标成垃圾邮件。
因此,我们强烈建议您把 SPF 记录中的 DNS 查询保持在 10 以内。如果您的 SPF 记录中有很多服务,您可以使用 DMARCLY 的 Safe SPF来修复它。
我如何得知我的 SPF 记录有多少次 DNS 查询?
要找出您的 SPF 记录中的 DNS 查询次数,您可以使用这个免费的 SPF 记录检查器。
比如,这个 SPF 记录检查显示 microsoft.com
有 10 次 DNS 查询。
我该如何修复 SPF too many DNS lookups?
因为消耗大于 10 次 DNS 查询的 SPF 记录会导致返回 SPF PermError,从而会对邮件送达率产生影响,建议使用像 DMARCLY 的 Safe SPF这样的工具来自动/动态地压平这样的 SPF 记录。
Safe SPF 自动/动态地将您原来的 SPF 记录压平,压平后的 SPF 记录(也叫 Safe SPF 记录)包含小于或等于 10 次 DNS 查询。这样的话,您的 Safe SPF 记录不会触发上面提到的 PermError。
了解更多:如何修复 SPF PermError: too many DNS lookups。
什么是自动/动态 SPF 记录压平?
自动/动态 SPF 记录压平是一个 Safe SPF 中的过程;它在后台运行定期运行,自动地把有 10+ DNS 查询的 SPF 记录压平。
该过程遍历您原来的 SPF 记录,包括所有第三方的服务,把消耗 DNS 查询的 mechanisms 转化成 IP 地址,然后将这些 IP 地址更新到 DNS 中。
由于这个过程是递归的,任何在第三方服务中的变动都会反映到最终的 Safe SPF 记录中。
SPF 和子域名如何工作?
当邮件发送自子域名的时候,接收服务器仅使用该子域名上的 SPF 记录进行检查。与 DMARC 的策略发现过程不同,SPF 并不使用根域名上的 SPF 记录为子域名检查。
参阅 SPF 和子域名如何工作以了解更多信息。
本文翻译自 https://dmarcly.com/blog/spf-faqs-frequently-asked-questions,已经经过作者授权。
来源:freebuf.com 2021-03-15 15:02:12 by: hifall
请登录后发表评论
注册