邮件经过转发或邮件列表后认证失败,怎么研判是正常间接投递还是伪造?

1 邮件经过转发或邮件列表后认证失败,怎么研判是正常间接投递还是伪造?
先理解失败的成因,再谈研判

RFC 7960《Interoperability Issues between Domain-based Message Authentication, Reporting, and Conformance (DMARC) and Indirect Email Flows》系统梳理了间接邮件流与 DMARC 的冲突:邮件经中间方转投时,信封发件人可能被替换、邮件内容可能被修改(列表在主题上加前缀、在正文尾部追加页脚),从而分别破坏 SPF 与 DKIM,最终导致 DMARC 失败。这类失败是机制固有的互操作问题,不等于攻击。

判据一:失败组合形态

正常转发的典型形态是 SPF 失败而 DKIM 通过——因为转发改变了连接 IP 与信封发件人,但未改动被签名的内容。邮件列表的典型形态是两者皆失败——因为它同时改了信封与内容。而伪造的典型形态是两者皆失败且发送 IP 无任何可归属关系、同时缺少与转发场景相符的中间跳痕迹。所以单看「DMARC 失败」不能判定,必须看失败的组合与上下文。

判据二:中间跳是否自洽

正常间接投递会在 Received 链中留下与之相符的中间方痕迹:存在明确的中继或列表处理跳,且该跳的域与列表/转发服务相符,时间顺序连续。伪造邮件往往要么完全没有中间跳,要么中间跳与所声称的转发路径对不上(例如声称来自某列表,但链中不存在该列表的处理跳)。

判据三:ARC 链是否存在且完整

RFC 8617《Authenticated Received Chain (ARC) Protocol》定义了一种机制,让参与转投的中间方把它在自己边界处观测到的认证结果,以带密码学签名的形式记录下来并串成一条链,供后续接收方在原始认证已被破坏时参考。研判要点:若存在 ARC 链,检查链是否完整、各环签名是否有效、以及链中记录的最初认证结果是否为通过。一条完整有效、且首环记录为通过的 ARC 链,是支持「正常间接投递」判断的有力证据。

ARC 的边界:它传递的是断言,不是信任

ARC 只能证明「某个中间方声称它当时看到的认证是通过的」,并不能证明这个中间方本身可信。如果攻击者控制了一个中间方,它同样可以签出一条形式完整的链。因此 ARC 的采信必须叠加对签名方的信誉判断——对不认识的签名方,链的完整性不构成放行理由。

处置建议

确认为正常间接投递的,应针对具体转发路径建立例外或引入对该中间方的 ARC 采信,而不是放宽整体 DMARC 策略;确认为伪造的,按仿冒处置并把发送 IP 与构造特征回写检测规则。

参考:RFC 7960RFC 8617