可以在域名上发布多条 SPF 记录吗?
2021-02-28 14:20:23 Author: www.freebuf.com(查看原文) 阅读量:86 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

你可以在域名上发布多条 SPF 记录吗?答案是否定的:一个域名一定不能有多条 SPF 记录,否则 SPF 会失败并返回永久错误(PermError)。

SPF 记录是位于 DNS 中的 TXT 记录,准确地以 "v=spf1" 开始,后面跟一系列的 mechanisms 和 modifiers。

SPF 检查先获取域名上面的所有以 "v=spf1" 开始的 TXT 记录:

如果没有找到记录,返回

None

如果找到多条记录,返回

PermError

比如,如果您有 2 个 TXT 记录在 yourdomain.com 上面:

Record TypeNameValueTTL
TXTyourdomain.comv=spf1 include:_spf.google.com -allDefault
TXTyourdomain.comv=spf1 include:servers.mcsv.net -allDefault

所有代表 yourdomain.com 发出的邮件将不会通过 SPF 验证,并且返回 PermError。

要改正这个问题,您需要把所有要添加的 mechanisms 和 modifiers 放在 1 个 SPF 记录中,如下所示:

Record TypeNameValueTTL
TXTyourdomain.comv=spf1 include:_spf.google.com include:servers.mcsv.net -allDefault

要使 SPF 验证通过,必须满足以下所有的条件:

域名上有且仅有 1 个 SPF 记录;

该记录的语法是正确的;

DNS 查询不能超过 10。否则,用 Safe SPF来修复它。

使用 Safe SPF来修复 SPF PermError: Too Many DNS Lookups问题。

监测 SPF 记录

既然 SPF 设置的有效性对 SPF 验证成功如此重要,当 SPF 被错误设置的时候,您也许想要获得警报,这样可以尽快修正错误。

DMARCLY's 域名监测功能允许您做到这些。要监测您的域名的话:

登录到控制面板;

去 DNS Records => Domains,添加域名;

去 Reporting and Alerts => DNS Alerts,用您的邮件地址创建一个接收人。

从此以后,如果在域名上面找到多条 SPF 记录的话,您将会收到类似下面的警报:

相关问题:可以在域名上发布多条 DMARC 记录吗?

本文翻译自 https://dmarcly.com/blog/can-i-have-multiple-spf-records-on-my-domain,已经经过作者授权。


文章来源: https://www.freebuf.com/articles/network/264596.html
如有侵权请联系:admin#unsafe.sh