技术解析 · 附来源的解答

ARC(Authenticated Received Chain)详解

ARC(Authenticated Received Chain,经认证的接收链)是一项邮件身份验证标准,允许中间邮件服务器对 SPF、DKIM 和 DMARC 的检查结果进行签名。这样,即使转发过程破坏了原始的 SPF 或 DKIM 签名,最终的收件服务器仍然可以信任邮件原本的身份验证状态。

ARC 的工作机制

邮件经过中间服务器时,ARC 会向邮件添加三个特定的邮件头。ARC-Seal 对 ARC-Message-Signature 提供数字签名,而后者又涵盖 ARC-Authentication-Results。这条链为每一跳的身份验证状态留下可验证的记录。邮件被转发后,下一台服务器可以验证 ARC 链,从而确认在转发方修改信封或邮件头之前,这封邮件是合法的。

对发件人的重要性

对于邮件经常被用户或邮件列表转发的发件人来说,ARC 至关重要。没有 ARC 时,转发方往往会更改发件地址或修改邮件正文,导致 SPF 和 DKIM 失败。如果发件人设置了严格的 DMARC reject 策略,这些合法的转发邮件就会被拦截。ARC 提供了一种机制:如果可信的中间服务器已经验证过邮件,最终收件方就可以忽略 DMARC 失败。

运维要点与常见错误

一个常见误区是认为 ARC 可以取代 DKIM 或 SPF。ARC 是依赖这些协议的补充层,只有在中间服务器支持 ARC、且最终收件服务器信任该 ARC 封印方时才会生效。在依赖 ARC 处理转发场景之前,发件人仍应使用 SendHQ 免费工具(https://sendhq.cc/tools)确认主 DKIM 和 SPF 记录配置正确。

具体实现示例

假设某位用户把工作邮件转发到个人 Gmail 账户。工作邮件服务器使用 DKIM 对邮件签名;转发服务器收到邮件后验证 DKIM,并添加 ARC 封印。Gmail 收到邮件时,由于转发服务器不是授权发件方,原始 SPF 检查失败。但 Gmail 看到来自可信转发方的 ARC 封印,验证了 ARC 邮件头中保存的原始 DKIM 结果,于是投递这封邮件,而不是拒收。

ARC 与 DMARC 的关系

ARC 是 DMARC 的安全网。DMARC 评估的是邮件的当前状态,而 ARC 提供身份验证的历史记录。如果当前的 DMARC 检查失败,但存在来自可信来源的有效 ARC 链,收件方的邮件传输代理可以选择覆盖 DMARC 策略并接收该邮件,从而减少垃圾邮件过滤器的误判。

团队常问的问题

ARC 会取代 DMARC 吗?

不会,ARC 不会取代 DMARC。它提供了一种保留身份验证结果的方式,使邮件被转发后仍能更准确地评估 DMARC。

谁需要部署 ARC?

ARC 主要由邮件中间方部署,例如邮件列表管理程序、转发服务和企业邮件网关。

ARC 能拦截所有垃圾邮件吗?

不能。ARC 的设计目的是防止合法的转发邮件被标记为垃圾邮件,而不是拦截垃圾邮件本身。它依赖于封印方与收件方之间的信任关系。

所有邮箱服务商都支持 ARC 吗?

Gmail 和 Microsoft 365 等大多数主流服务商都支持 ARC,但在规模较小的邮件服务器和旧系统中,支持程度参差不齐。

一手资料