全部指南
严重程度:中危DNS 与邮件安全

SPF 和 DMARC:阻止有人冒用你的域名发邮件

SPF 和 DMARC 是两种 DNS 记录,它们告诉接收邮件服务器哪些服务器可以代表你的域名发送邮件,以及对校验失败的邮件如何处理。没有它们,任何人都能在钓鱼邮件中冒用你的域名。

这是什么

SPF(Sender Policy Framework)是一条 TXT 记录,列出获授权的发送服务器,例如 v=spf1 include:_spf.google.com -all。其中的 -all 表示「拒绝其他一切」。

DMARC 建立在 SPF 和 DKIM 之上,发布在 _dmarc.yourdomain.com。它的策略(p=none、quarantine 或 reject)告诉接收方如何处理未通过认证的邮件。

为什么重要

没有 SPF/DMARC,攻击者可以发送看似来自 [email protected] 的邮件,让针对你客户和员工的钓鱼更加可信。

宽松的 SPF(+all)或停留在 p=none 的 DMARC 策略几乎提供不了真正的防护——伪造的邮件仍会被投递。

如何修复

发布一条严格的 SPF 记录

列出你真实的发件方,并以 -all 结尾。

yourdomain.com. TXT "v=spf1 include:_spf.google.com -all"
添加一条会强制执行的 DMARC 记录

先用 p=none 进行监控,确认合法邮件都能通过后,再改为 quarantine 或 reject。

_dmarc.yourdomain.com. TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
只保留一条 SPF 记录

发布两条 SPF 记录是一个会导致 SPF 失效的永久性错误。请把你所有的 include 合并到一条记录里。

常见问题

SPF、DKIM 和 DMARC 有什么区别?

SPF 授权发送服务器,DKIM 对邮件进行加密签名,而 DMARC 把两者串联起来,并告诉接收方在校验失败时如何处理。

强制执行 DMARC 会拦截我的合法邮件吗?

如果某个真实发件方没有被 SPF/DKIM 覆盖,就可能会。这正是你要先从 p=none 开始、读完报告后再收紧的原因。

你的应用受影响了吗?

AppSafe 一次免费扫描,就能检查这个问题以及数十项其他问题。

免费扫描我的应用