权力管理机构

什么是 DKIM 漏洞?DKIM l= 标签限制说明

DKIM 漏洞
阅读时间 6 分钟

DKIM 中的 DKIM l= 标签(小写 "L")是一个可选标签,用于指定应签名的邮件正文长度。由于 l= 标签可以对邮件正文进行部分签名,因此可以认为这是一个 DKIM 漏洞。这会使威胁行为者更容易利用 DKIM 签名邮件。 

让我们探讨一下 DKIM的工作原理,以及为什么我们不鼓励在 DKIM 签名中使用 DKIM l= 标记。

DKIM 主体长度限制(l= 标记)的目的

DKIM(DomainKeys Identified Mail)是一种电子邮件验证协议,可确保您的电子邮件内容在传输过程中未被篡改。它允许收件人验证电子邮件是否确实由该域名所有者发送和授权。

当中间服务器转发您的邮件时,它们可能会更改邮件正文。它们可能会在页脚或邮件内容中添加额外信息。引入 DKIM l 标签是为了防止您的合法邮件在转发过程中或被邮件列表修改内容时无法通过 DKIM。 

DKIM l= 标签如何工作

  1. 指定长度:指定长度 l=标记后跟一个整数,表示 DKIM 签名覆盖的邮件正文字节数。
  2. 部分主体签名:通过指定长度,只有正文的前'n'字节会包含在用于生成 DKIM 签名的哈希值中。对超出此长度的正文的任何修改都不会影响 DKIM 签名验证。

示例:带有 l-Tag DKIM 漏洞的 DKIM 签名

例如,一封邮件的正文长度为 1000 字节,但只有前 500 字节被签名:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; l=500; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=Subject:Message-ID:To:Date:Content-Type:From:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

在本例中 l=500表示 DKIM 签名只包含电子邮件正文的前 500 字节。

然而,欧洲领先的域名注册商 Zone.eu 的分析师团队发现了一个与 DKIM 签名中的 l 标签有关的严重漏洞。除了在邮件转发情况下的好处外,网络犯罪分子可以轻易利用 l 标签发送仍能通过 DKIM 检查的网络钓鱼电子邮件

DKIM l= 标签漏洞

我们不建议使用 DKIM l= 标签,因为它会削弱您的安全态势,使您的域名即使配置了电子邮件验证,也容易受到攻击。 

攻击者可以更改邮件正文的内容,并在邮件未签名部分附加超出 "l "标签定义的字节范围的恶意文件或链接。当这封电子邮件到达您的收件人时,它将通过 DKIM 校验。随后,如果您的域名启用了DMARC,它也会通过。 

您的收件人可能会打开这封邮件,相信您的域名,成为又一次网络钓鱼攻击的受害者!这可能会造成严重的隐私泄露、凭证被盗和对您的信誉失去信任。如果您的客户在此过程中蒙受损失,您甚至可能需要承担经济赔偿责任。 

BIMI 在 DKIM 漏洞恶化中的作用 

BIMI 是一种新兴协议,由于能在电子邮件中附加品牌徽标,因此在安全和营销行业都越来越受欢迎。不久前,Gmail 和 Apple Mail 等主要电子邮件提供商扩展了对 BIMI 的支持,使您的电子邮件看起来更专业,并通过可视化验证增强了安全性。 

由于从签名中使用 DKIM l 标签的域名发送的伪造邮件可以通过 DKIM 和 DMARC 检查,因此品牌的 BIMI 标识也会被附加到这些恶意邮件中!现在,从您的域名发送的伪造邮件不仅通过了所有验证过滤器,而且还附有您的品牌徽标!这进一步增加了收件人相信其可信度的机会。 

由于 DKIM l= 标签可能被利用,Gmail 在其 Google 管理工作区帮助中心中极力反对使用该标签。以下是 谷歌对此的看法:

"如果您使用 Google Workspace 以外的电子邮件系统设置 DKIM,请不要在发出的邮件中使用 DKIM 长度标签 (l=)。使用此标签的邮件容易被滥用"。

RFC 6376 第 8.2 节进一步强调了与 DKIM l 标签相关的风险。 RFC 6376 第 8.2 节标题为 "滥用正文长度限制("l="标记)"的 RFC 6376 第 8.2 节中进一步强调了与 DKIM l 标记相关的风险。RFC 警告用户,在 DKIM 签名中指定 l 标签可能会导致用户在没有任何警告的情况下访问恶意电子邮件内容。RFC 敦促 DKIM 签名者在使用该标记时格外小心,并建议评估服务器完全忽略指定了 l= 标记的 DKIM 签名。

检查您的 DKIM 签名是否存在 l-Tag DKIM 漏洞 

首先必须确定您的域名是否存在漏洞。为此,我们在下面列出了几种可以使用的方法: 

手动方法:检查原始 DKIM 签名头 

1.给自己发送一封空白邮件(这里我们以 Gmail 用户为例)

2.打开此电子邮件。

3.转到 "更多选项",右上角有三个点。

4.点击 "显示原文"。

5.在 "原始邮件 "页面,向下滚动以查看原始标题。 

6.导航至 "DKIM-Signature:(DKIM 签名:)"部分并分析语法。如果您看到 DKIM 签名标头中有 DKIM l= 标记,说明您的域名存在漏洞。如果不存在,则没有问题,无需采取任何措施。 

自动方法:使用电子邮件标题分析工具

1.在 PowerDMARC 上注册,免费试用。转到分析工具 > MailAuth Analyzer。 

2.复制自动生成的电子邮件地址,并将其粘贴到 Gmail 中,作为新测试邮件的收件人。发送测试邮件。 

3.现在返回门户网站并刷新页面。点击 "操作 "部分的 "查看 "图标,检查结果。 

4.我们会立即生成一份包含 DKIM、SPF 和 DMARC 配置等信息的汇总报告! 

5.您可以向下滚动,查看原始和解析格式的 DKIM 签名头。在此,您可以确定您的签名是否有 l= 标记。如果存在,则需要采取措施消除这一漏洞。 

示例:无 l 标记 DKIM 漏洞的 DKIM 签名

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=Subject:Message-ID:To:Date:Content-Type:From:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

防止 DKIM 漏洞:什么是 DKIM 最佳实践?

如果您想充分利用您的 DKIM 协议,我们的专家建议您参考以下提示: 

  1. 避免在 DKIM 签名标头中使用 DKIM l= 标记。 
  2. 请与您的电子邮件服务提供商联系,他们会为您设置新的 DKIM 公钥(不含 l= 标记),并将其添加到您的 DNS 中。 
  3. 定期轮换您的 DKIM 密钥,以确保存在 l 标记漏洞的旧密钥可以被不存在此漏洞的新密钥替换。 
  4. 您可以使用强大的 DKIM 密钥,如 2048 位密钥,而不是 1024 位密钥,以增强 DKIM电子邮件的安全性。 
  5. 使用 托管 DKIM解决方案来管理 DKIM 选择器和密钥,并从一个集中式仪表板监控 DKIM 验证结果。
  6. 使用自动 DKIM 生成器工具创建您的 DKIM 密钥。这将帮助您避免容易忽略的语法错误。

与 DKIM 一起使用的补充协议

为了提高 DKIM 的功效,您可以执行以下协议(最后还有一项额外建议!): 

  1. 使用 ARC(验证接收链)以确保合法邮件即使在转发或使用邮件列表时也能通过验证检查。这将自动消除对 DKIM l= 标记的需求。ARC 会自动保留邮件的原始标头,以防止误报。
  2. 配置 SPF 和 DMARC 等后备机制,以提高验证准确性和整体安全性。 
  3. 启用 DMARC 报告以跟踪电子邮件渠道和发送源。DMARC 报告可帮助您检测恶意 IP 地址和发件人,以便快速对其采取行动。

通过遵守这些最佳实践,企业可以大大提高电子邮件的安全状况,并保护其域名声誉。虽然 l= 标签可以灵活处理可能在传输过程中被更改的电子邮件,但它会削弱域名的安全性。因此,我们与各种电子邮件提供商、行业专家和组织都不推荐使用这种方法。要了解更多域名安全和电子邮件验证服务、 联系我们今天就联系我们!

退出手机版