跳转到主要内容

邮件认证

本文约需 2 分钟阅读

邮件认证是指组合 SPF、DKIM、DMARC 三种协议,验证邮件发件域名是否正当的机制。邮件协议 (SMTP) 自 1982 年最初设计以来就容易伪造发件人,成为钓鱼商业邮件诈骗的温床。2024 年 2 月,Google 和 Yahoo 对大量发件方强制要求设置 SPF/DKIM/DMARC,使邮件认证从“推荐”转变为“必需”的基础设施。

三种协议的作用

SPF (Sender Policy Framework)

在 DNS 的 TXT 记录中列举“允许从该域名发送邮件的 IP 地址”。接收服务器验证发件 IP 是否包含在 SPF 记录中,若不包含则判断为非法发件源。这是一种验证信封发件人 (Return-Path) 的机制。

DKIM (DomainKeys Identified Mail)

发件服务器为邮件的标头和正文附加电子签名。接收服务器用 DNS 公开的公钥验证签名,确认邮件未被篡改且确实来自正当域名。其作用类似于信件上的火漆封印。

DMARC (Domain-based Message Authentication, Reporting and Conformance)

基于 SPF 和 DKIM 的验证结果,定义如何处理认证失败邮件的策略。分为 none (仅监控)、quarantine (隔离)、reject (拒绝) 三个级别。此外还具备向域名管理员发送认证结果报告的功能。

认证流程全貌

发件服务器附加 DKIM 签名
接收服务器验证 SPF (IP 比对)
验证 DKIM 签名 (公钥比对)
根据 DMARC 策略决定处理方式

Google / Yahoo 的 2024 年强制要求

从 2024 年 2 月起,Google 和 Yahoo 对每天发送 5,000 封以上邮件的域名强制要求以下事项。

  • 通过 SPF 或 DKIM 之一 (所有发件方)
  • 同时通过 SPF 和 DKIM 并设置 DMARC 策略 (大量发件方)
  • 包含一键退订链接 (营销邮件)
  • 将垃圾邮件举报率维持在 0.3% 以下

由于这一强制要求,来自未设置邮件认证域名的邮件,在 Gmail 和 Yahoo 邮箱中要么被分到垃圾邮件文件夹,要么直接被拒收。从钓鱼防范的角度看,设置邮件认证也是守护组织可信度的基本防御措施。

BIMI - 品牌徽标显示的兴起

BIMI (Brand Indicators for Message Identification) 是一种机制,允许已设置 DMARC 强制策略 (quarantine 或 reject) 的域名在收件箱中显示品牌徽标。Gmail、Apple Mail、Yahoo 邮箱均已支持。徽标的显示使收件人能够直观判断邮件是否正规,从而提升对鱼叉式钓鱼的抵御能力。引入 BIMI 需要取得 VMC (Verified Mark Certificate),每年需花费数十万日元,因此目前以大型企业和重视品牌保护的组织为主。

常见的配置错误与陷阱

  • SPF 记录的 DNS 查询超过 10 次。使用大量外部服务时,include 的连锁会达到上限,导致 SPF 失效
  • DKIM 密钥长度仍为 1024 位。推荐使用 2048 位以上,部分接收服务器会将 1024 位签名判定为较弱
  • 将 DMARC 策略一直放任为 p=none。作为监控阶段有效,但由于实际不拒收邮件,缺乏防御效果。应分析报告,逐步从 p=quarantine 过渡到 p=reject
  • 邮件转发时 SPF 会被破坏。由于转发服务器的 IP 不包含在原始 SPF 记录中,有时需要设置 ARC (Authenticated Received Chain)

一并参考邮件账户保护AI 生成钓鱼的文章,便可把握邮件安全的全貌。邮件安全相关书籍 (Amazon)也推荐用来学习实现的细节。

相关术语

这篇文章对您有帮助吗?

XHatena