[ 标头和传送错误 ]

List-Unsubscribe和List-Unsubscribe-Post标头

将列表管理链接与签名的一键取消订阅机制区分开来,并在不取消真实收件人的情况下进行测试。

由EmailAuth研究团队提供 · 3 分钟阅读

[ 要点 ]

  • 将列表管理链接与签名的一键取消订阅机制区分开来,并在不取消真实收件人的情况下进行测试。
  • 标头语法、有效的覆盖签名和授权端点行为是三个独立的发现;没有一个可以替代其他的。
在此页面上

消息正文中的取消订阅链接, List-Unsubscribe header 和一键机制是相关但不同的功能。诊断应确定发送方实际发出的机制以及是否存在所需的签名标头。仅在源代码中看到“取消订阅”一词并不能建立有效的一键实现。

一起读取两个字段

RFC 2369将List-Unsubscribe定义为包含用于离开列表的 URL 的列表命令字段。它可以描述 mailto 或 HTTPS 等方法。 RFC 8058为一键机制添加了List-Unsubscribe-Post 。后者使用值List-Unsubscribe =One-Click,并在List-Unsubscribe中使用 HTTPS URI。单独的 mailto 选项并不是RFC 8058 HTTPS 机制。 RFC 2369第 3.2 节, RFC 8058第 3 节.

一键接收器发送带有指定取消订阅值的 HTTPS POST。用于检查 URL 的例程 GET 本身不得执行RFC 8058取消订阅操作。这种区别很重要,因为链接扫描器可能会在用户不打算留下列表的情况下获取 URL。不要将诊断检查变成未经授权的订阅更改。

检查签名要求

RFC 8058需要有效的 DKIM签名 涵盖List-Unsubscribe和List-Unsubscribe-Post 。在签名的 h= 列表中查找两个字段名称是一种有用的结构检查,但它并不能证明签名已验证。

保留原始签名消息以进行实际验证。多重签名、重复头域需要谨慎选择;简单的子字符串搜索可能会将不相关的签名误认为是满足要求的签名。将签名覆盖率、加密验证和端点行为作为单独的检查。

使用受控示例

考虑一条具有正确的两个标头值的假设消息。它唯一有效的签名涵盖发件人和主题,但不包含取消订阅字段。第二个签名列出了这两个字段,但验证失败。此消息同时具有 DKIM 在其源代码中的某个地方通过了明显的覆盖范围,但这两个签名都不满足组合的RFC 8058要求。

下一步是通过批准的发件人更改来识别或创建既验证又涵盖这两个字段的签名。本教学示例未验证签名或更改订阅。即使随后验证的覆盖签名也会使 HTTPS 端点行为和下次发送抑制未经测试。

对于授权的端到端测试,请使用专用的测试订阅和发送者支持的测试环境。验证有效签名,发送预期的 POST 并通过服务自身的证据确认测试订阅的状态。 RFC 8058禁止 HTTPS 重定向,并从 POST 中排除 cookie、HTTP 授权和其他请求上下文。接收者在发布之前必须获得用户同意。将任何重定向或登录要求记录为缺陷,而不是点击;端点必须在没有额外交互的情况下完成取消订阅。

保护订户标识符

取消订阅 URL 通常包含收件人特定的令牌。将完整 URL 视为可能能够更改该人的订阅。编辑或替换一般诊断副本中的令牌,私下保留未更改的消息,并且不要将实时 URL 粘贴到公共票证或自动获取器中。

以明确的检查表结束:存在字段、正确的语法、涵盖已验证的签名以及已完成或未执行的授权端点测试。提供商批量发件人资格和取消订阅界面显示是单独的产品问题。标准级标头检查并不能保证任何邮箱提供商都会显示特定按钮。

独立报告各层

如果标头存在但签名验证不可用,则仅报告结构发现。如果验证通过但未发生授权端点测试,则不测试行为。记录准确的最终样本和下一层所需的证据。

[ 外卖 ]

将列表管理链接与签名的一键取消订阅机制区分开来,并在不取消真实收件人的情况下进行测试。

[ 按角色 ]

这对您意味着什么

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

IT/邮件管理员

分别验证每一层

标头语法只是第一个检查。

后续步骤

  1. 验证两个签名字段。
  2. 识别覆盖签名。
  3. 通过授权测试 POST 行为。

CISO / SecOps

防止意外的订阅操作

不应随意获取或共享操作 URL。

后续步骤

  1. 保护接收者令牌。
  2. 使用受控测试帐户。
  3. 记录端点测试范围。

创始人/非技术人员

让留下的清单变得可靠

可见链接和经过身份验证的一键式流程服务于不同的用户路径。

后续步骤

  1. 指定取消订阅的所有者。
  2. 使用测试订阅。
  3. 避免不支持的接口承诺。

[ 常见问题解答 ]

常见问题

正文链接与一键式标题相同吗?

不。它们是独立的机制,必须单独评估。

仅使用 mailto 就足以满足RFC 8058要求了吗?

不可以。一键机制需要 HTTPS URI。

List-Unsubscribe-Post属于什么值?

List-Unsubscribe=One-Click.

两个取消订阅标头都必须签名吗?

是的。 RFC 8058需要涵盖两者的有效DKIM签名。

仅 h= 覆盖范围就可以证明合规性吗?

不会。签名有效性和端点行为也很重要。

打开 URL 是否应该取消某人的订阅?

GET 不是RFC 8058取消订阅 POST。检查期间不要触发真正的变化。

取消订阅交易是否实际执行?

不。本文提供了一个假设的签名选择示例和一个授权的测试计划,而不是一个已执行的取消订阅交易。

完整的退订 URL 是否敏感?

是的。它可能包含特定于接收者的操作令牌,并应进行相应处理。

[ 来源 ]

来源

  1. RFC 2369 :邮件列表命令字段

    部分 §3.2

  2. RFC 8058 :一键取消订阅

    部分 §3.1 · §3.2 · §4 · §5 · §6

  3. RFC 6376 : DKIM签名

    部分 §3.5 · §5.4 · §6.1

[ 词汇表 ]

词汇表

一键取消订阅
RFC 8058签名标头机制通过 HTTPS POST 请求取消订阅。
标头签名覆盖率
DKIM签名的 h= 列表中包含的标头字段。
行动令牌
URL 或请求中可能授权特定更改的值。

企业出处

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

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

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

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

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

知识库