DMARC
本文约需 2 分钟阅读
DMARC (Domain-based Message Authentication, Reporting and Conformance) 是一种用于认证邮件发件域名、防止伪造邮件的协议。它整合了 SPF 和 DKIM 这两项既有技术,并新增了对认证失败邮件的处理方针 (策略) 和报告功能,作为应对钓鱼和鱼叉式钓鱼的有效对策,正逐渐成为邮件安全的国际标准。
SPF 、 DKIM 、 DMARC 的三层结构
要理解邮件认证,需要厘清三项技术各自的作用。 SPF (Sender Policy Framework) 是一种在域名的 DNS 记录中声明「允许从该域名发送邮件的 IP 地址」的机制。接收服务器会验证邮件的发件 IP 是否包含在 SPF 记录中。
DKIM (DomainKeys Identified Mail) 是一种由发送服务器为邮件附加电子签名、接收服务器使用 DNS 上的公钥验证签名的机制。它保证邮件内容在传输途中没有被篡改。
DMARC 是将这两者捆绑起来的「策略层」。它验证 SPF 或 DKIM 的认证结果与邮件 From 头部中显示的域名 (用户实际看到的域名) 之间的一致性。这被称为「对齐」。 DMARC 补足了 SPF 和 DKIM 单独无法覆盖的「所显示的发件域名的正当性」。
策略模式的分阶段导入
DMARC 的策略可以分三个阶段设置。 p=none 是监控模式,即使认证失败也不会影响邮件投递,仅收集报告。p=quarantine 会将认证失败的邮件分拣到垃圾邮件文件夹。p=reject 会彻底拒收认证失败的邮件。
在实务中,一开始就设置为 reject 是危险的。如果正规的邮件发送路径没有正确对应 SPF / DKIM,连本企业的正当邮件也会被拒收。推荐的导入步骤是,先用 none 收集 2-4 周的报告,掌握本企业域名的邮件发送路径。接着切换到 quarantine 确认影响,若无问题再提升到 reject 。通过这种分阶段的做法,可以在将对正规邮件的影响降到最低的同时增强安全性。
Google / Yahoo 的 2024 年强制化
2024 年 2 月, Google 和 Yahoo 对大量邮件发送者 (每天 5,000 封以上) 强制要求设置 DMARC。这一决定是邮件安全的转折点。不予对应的发送者,其邮件在 Gmail 或 Yahoo 邮箱中会受到投递限制,或被归类为垃圾邮件。
这一强制化的影响波及广泛。大量发送营销邮件的企业、新闻通讯发送服务、电商网站的订单确认邮件等,所有大量发送者都被迫应对。特别是同时并用多个邮件投递服务 (如 SendGrid 、 Amazon SES 、 Mailchimp 等) 的企业,需要在所有发送路径上正确设置 SPF 和 DKIM,许多企业在应对上颇感吃力。从钓鱼防护的角度来看,这一强制化也是一大进步。
DMARC 报告的读法与运用
设置 DMARC 后,接收服务器会发来两种报告。聚合报告 (Aggregate Report、 RUA) 为 XML 格式,按发件 IP 对认证结果进行统计性汇总。取证报告 (Failure Report、 RUF) 则是认证失败的单封邮件的详细信息。
由于聚合报告的 XML 难以由人直接阅读,实务上的常规做法是使用 DMARC Analyzer 或 dmarcian 等可视化工具。报告中应当读取的重要信息是「冒称本企业域名但认证失败的发件 IP」。如果它是本企业的正规服务器,则说明存在设置遗漏;如果是陌生的 IP,则可能是伪造。对于结合社会工程学的伪造邮件检测, DMARC 报告同样有效。邮件安全实践书 (Amazon)中详细讲解了报告分析的具体步骤。
导入率的现状与课题
截至 2025 年, Fortune 500 企业的 DMARC 导入率已达约 90%,但reject达到 reject 策略的企业仅有半数左右。日本企业的导入率更低,尤其在中小企业中,连 DMARC 的存在本身都不为人所知的情况也不在少数。与加密一样, DMARC 也是基础设施层面的安全对策,由于难以直观可见,存在投资优先级不易提升的结构性课题。在AI 生成钓鱼威胁日益加剧之际,邮件账户的保护变得愈发重要。
这篇文章对您有帮助吗?