[ 报告与调查 ]

安全摄取压缩的DMARC XML 文件

单独的附件接收、有限解压缩、安全解析和事务导入,因此一份恶意报告不会破坏分析或耗尽收集器的资源。

由EmailAuth研究团队提供

[ 要点 ]

  • 在每个摄取层将报告附件视为不可信。
  • 在解压缩期间绑定扩展字节,而不是在完全分配之后。
  • 仅提交经过验证的、重复处理的数据并保留受控诊断。
在此页面上

报告邮箱是输入边界,而不是可信数据源。附件可能格式错误、尺寸过大或故意造成处理成本过高。构建摄取路径,以便传输接受并不自动意味着解析器接受,并且解析器接受并不自动意味着报告的声明是值得信赖的。

RFC 9990 描述聚合 XML 交付并警告资源耗尽和虚假信息。下面的管道是实施建议,而不是声称特定产品已经提供了这些控件。

将摄入量与分析分开

参考: RFC 9990 §8.1, RFC 9990 §8.2.

分配到达标识符并保留对原始附件的有界、访问控制的引用。记录其大小、指纹、到达时间和传输元数据。应用队列和每源资源控制,以便一个流不能垄断工作人员。将发件人地址或熟悉的文件名视为不足以证明其真实性。

保持工作人员的最低特权,并与用于发布最终指标的数据库凭据分开。防止附件内容确定可执行命令或目标路径。失败的输入属于受控诊断路径,而不是公共错误页面或不受限制的日志。

运行时绑定解压

参考: RFC 9990 §3.5.2, RFC 9990 §8.1.

RFC 9990指定了 XML 并推荐 GZIP 压缩。根据记录的兼容性策略检测支持的格式并拒绝不支持的容器。如果有意支持较旧的存档格式,请检查其额外的提取和路径风险,而不是将它们视为等同于单个 XML 流。

设置压缩字节、扩展字节、处理时间、内存、记录计数和并发的限制。在读取时强制执行扩展大小限制,而不是在分配整个输出之后。容器内的尺寸声明不能替代测量实际输出。当达到配置的限制时停止处理。

解析没有不必要的功能

参考: RFC 9990 §3.1.1, RFC 9990 §8.1.

参考: OWASP XML 外部实体预防,一般指南.

使用经过维护的解析器并检查其实际运行时配置。禁用不需要的文档类型、外部实体解析、XInclude 和外部资源检索。将不受支持的强化设置视为配置失败,而不是要忽略的警告。在需要验证的地方使用受信任的本地架构,而不是遵循附件提供的架构位置。对嵌套和文本大小以及总字节应用限制。

验证预期的报告结构和字段语义与 XML 格式良好性分开。文档可能格式良好但无法用作 DMARC 报告。保留拒绝的原因,而不将解析器失败转换为邮件身份验证判决。

使用小型有界夹具

说明性分段配置:允许为特意小型测试工作人员提供 64 KiB 压缩输入和 256 KiB 扩展输出。无害的 GZIP 固定装置可扩展至 300 KiB 的重复测试文本。预期结果是在完全实现之前进行扩展大小停止、未提交任何报告行以及包含限制和输入引用的诊断。

这些数字是示范限制,而不是生产规模建议。之后立即测试有效的小报告,以验证工作人员是否仍然可用。在声称控制有效之前记录实际测量结果。本文描述所需的暂存行为,而不是执行的租户测试。该评论包还记录了一个新的有界 Python GZIP 演示:它最多用一个额外的检测字节来检测超出 256 KiB 上限的扩展,然后成功处理一个微小的有效 XML 文本流。这仅演示了本地解压防护,而不演示了解析器强化、内存隔离或数据库行为。

仅提交经过验证的数据

参考: RFC 9990 §3.5.4, RFC 9990 §9.2.

暂存规范化记录并在验证和重复处理后自动完成导入。中断的文件不应在生产分析中留下部分计数。使重放幂等并保留将重复到达与计数报告联系起来的决策。

监视拒绝的字节、处理时间、队列寿命和恢复结果。合法报告可能会超出当地限制,因此请提供受控的审查路径,而不是自动提高每个限制。与指定所有者完成操作设计,以进行接收、解析器维护、存储保留和事件响应。

[ 外卖 ]

仅提交经过验证的、重复处理的数据并保留受控诊断。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

强制执行流扩展限制。

在提交指标之前进行验证。测试重放和故障后恢复。

后续步骤

  1. 强制执行流扩展限制。
  2. 在提交指标之前进行验证。
  3. 测试重放和故障后恢复。

CISO / SecOps

检查工人的权限和出口。

需要测量资源测试。让恶意输入远离不受限制的日志。

后续步骤

  1. 检查工人的权限和出口。
  2. 需要测量资源测试。
  3. 让恶意输入远离不受限制的日志。

创始人/非技术人员

分配所有权以获得收集器的可靠性。

将摄取中断与邮件故障区分开来。资助受控的超大报告审查路径。

后续步骤

  1. 分配所有权以获得收集器的可靠性。
  2. 将摄取中断与邮件故障区分开来。
  3. 资助受控的超大报告审查路径。

[ 常见问题解答 ]

常见问题

附件是否因为到达 rua 而受信任?

不可以。Intake 必须将报告内容视为不可信。

RFC 9990 §8.2

当前聚合 RFC 建议采用何种压缩方式?

XML 报告的 GZIP;其他遗留容器需要明确的兼容性策略。

RFC 9990 §3.5.2

何时应运行扩展尺寸检查?

在解压缩期间,在分配或写入完整输出之前。

压缩大小限制是否足够?

不,扩展的字节、时间、内存和并发也需要控制。

RFC 9990 §8.1

解析器架构位置是否应该触发网络获取?

使用受信任的本地验证资源并防止附件定向检索。

格式错误的 XML 是欺骗邮件的证据吗?

不,这是处理结果,而不是消息认证结果。

如果有效报告超出当地限制怎么办?

对其进行隔离以进行受控审查,而不会默默地削弱整个管道。

导入失败应该如何恢复?

不提交部分指标,保留安全诊断并正常验证下一个有效报告流程。

[ 来源 ]

来源

  1. RFC 9990

    部分 §3.1 · §3.1.1 · §3.5.2 · §3.5.4 · §8.1 · §8.2 · §9.2

  2. OWASP XML 外部实体预防

    部分 一般指导

[ 词汇表 ]

词汇表

展开尺寸
解压缩产生的输出字节,与压缩输入长度无关。
原子提交
本地存储设计可以同时公开所有经过验证的导入更改,也可以不公开任何更改。
汇总报告
在报告间隔期间对DMARC评估进行分组的接收者观察结果。

RFC 9990 §3.1

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库