邮件认证
本文约需 2 分钟阅读
邮件认证是指组合 SPF、DKIM、DMARC 三种协议,验证邮件发件域名是否正当的机制。邮件协议 (SMTP) 自 1982 年最初设计以来就容易伪造发件人,成为钓鱼和商业邮件诈骗的温床。2024 年 2 月,Google 和 Yahoo 对大量发件方强制要求设置 SPF/DKIM/DMARC,使邮件认证从“推荐”转变为“必需”的基础设施。
三种协议的作用
在 DNS 的 TXT 记录中列举“允许从该域名发送邮件的 IP 地址”。接收服务器验证发件 IP 是否包含在 SPF 记录中,若不包含则判断为非法发件源。这是一种验证信封发件人 (Return-Path) 的机制。
发件服务器为邮件的标头和正文附加电子签名。接收服务器用 DNS 公开的公钥验证签名,确认邮件未被篡改且确实来自正当域名。其作用类似于信件上的火漆封印。
基于 SPF 和 DKIM 的验证结果,定义如何处理认证失败邮件的策略。分为 none (仅监控)、quarantine (隔离)、reject (拒绝) 三个级别。此外还具备向域名管理员发送认证结果报告的功能。
认证流程全貌
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)也推荐用来学习实现的细节。
这篇文章对您有帮助吗?