在指责网关之前找到修改
安全网关可以合法地检查或转换邮件,同时使下游复杂化 DKIM 确认。 URL 重写、附件替换和正文警告都是可能的示例,但网关的存在本身并不能证明签名失败。确定哪些表示进入网关、哪些表示离开网关以及评估身份验证的位置。
本文未访问任何网关帐户或消息流。原始证据门:原始和修改后的原始消息、签名者放置以及前后验证测试。这些物品仍未收集。工作案例纯属虚构。任何操作变更都必须保留预期的安全控制并遵循所有者批准的流程。
盘点准确的加工顺序
绘制从消息接受到身份验证、威胁检查、内容修改、签名和转发传递的序列。一项服务可以组合这些功能,并且一条路由上可以出现多个网关。仅当实际配置支持时才记录版本和启用的行为。不要假设产品在重写之前总是进行验证,或其输出连接器总是进行签名。
RFC 7960描述了删除有害内容、标记可疑垃圾邮件或更改 URL 的边界过滤器。它还解释了为什么在过滤器修改后评估身份验证会产生不同的结果。这些是建筑上的可能性,而不是对特定租户的判断。消息跟踪和保留的副本是将记录的机制与事件连接起来所必需的。 RFC 7960第 3.2.5 节
确定失败的签名涵盖的内容
对于每个 DKIM-Signature, 保留签名域d=, 选择器 s=, 规范化 c=, header list h= and any l= body-length value. The 正文哈希 根据选定的规范化主体输入进行计算;签名还涵盖指定的标头实例。如果不知道是否选择了该实例以及规范化是否保留了差异,“网关更改了标头”是不完整的。 RFC 6376第 3.4–3.5 和 5.4 节
宽松的规范化可以容忍特定的空格和标头格式更改。它不会将任意 HTML 编辑、URL 替换或附件更改视为等效内容。相反,所选覆盖范围之外的添加字段不需要使现有签名无效。标头重复和过度签名可能会使评估变得复杂,因此请比较选定的实例,而不仅仅是唯一字段名称的列表。 RFC 6376第 3.4 和 5.4 节
比较原始消息而不改变证据
使用来自批准的捕获点的未更改的原始消息文件。渲染的屏幕截图可以隐藏MIME边界、编码更改和折叠标题。通过编辑器重新保存消息本身可以更改行结尾或序列化,因此请保留原始消息并对副本进行分析。记录捕获时间、路线位置和文件哈希,以将每个样本连接到所声明的步骤。
后来失败的签名并不能证明该签名在网关之前是有效的。 RFC 6376警告验证者通常无法从无效签名推断出先前的有效性。因此,建议的测试包括对保留的输入和输出的验证,并保留相关的密钥和验证者上下文。否则,先前存在的签名错误可能会被错误地归因于网关。 RFC 6376第 4.2 节
通过虚构的 URL 替换进行工作
假设一个虚构的作者域签名验证原始输入消息并覆盖其整个正文。然后,网关将 HTML MIME部分中的 URL 替换为威胁防护 URL。相应的输出包含不同的规范化主体字节,并且验证尝试报告主体哈希不匹配。这些假设形成了说明性测试结果;这里没有进行这样的测试。
该比较支持了一个狭隘的结论,即观察到的替换影响了该签名的覆盖主体。这并不意味着每个网关操作都会破坏每个签名或应该关闭保护。 gateway.example的附加签名可以验证该域对修改消息的处理,但它不会重建原始作者签名或自动与不相关的作者域对齐。 RFC 6376第 3.4 和 5.1 节 RFC 9989第 5.3 节
保持入口结果和下游验证不同
在内部安全转换之前,组织可能会依赖在其受信任入口处执行的身份验证。保留结果背后的评估者身份和信任边界。评估修改字节的下游接收器可能会正确获得不同的DKIM结果。复制一个 Authentication-Results 消息中的字段本身并不能使该字段在产生它的边界之外值得信赖。 RFC 8601第 5 节和第 7 节
ARC 可以通过参与的处理程序进行事先评估,但链验证和对这些处理程序的信心仍然是不同的问题。 RFC 8617并未使ARC成为恢复旧DKIM签名的机制。其发布类别为实验性;经审查的将ARC移至历史记录的提案仍然是一个活跃的草案。不要承诺启用ARC会使每个下游接收者接受网关修改的邮件。 RFC 8617第 5.2 和 9.3 节 IETF提案状态
在预期更改之后放置合法签名
对于在组织控制的域下编写的出站邮件,受支持的设计可以在最终合法内容更改之后放置授权一致签名者。验证后续步骤不会再次修改涵盖的内容。网关不能仅仅因为中继该作者的消息而合法地签名为外部作者的域;相关域名授权和密钥保管必须存在。 RFC 6376第 5.1 节
审查数据包应说明哪些控制保持活动状态、建议哪种处理顺序以及如何重复前后验证。不要仅仅为了产生绿色指示器而使用减少的身体覆盖范围或全面的身份验证绕过。成功的授权测试将仅支持其采样的路由和消息形式。该草案中仍然缺少原始原始对、实际签名者放置和受控验证结果。