如果您收到 "DKIM 签名无效 "错误,说明您的 DKIM 配置有问题,需要立即修复!出现 DKIM 签名无效错误的原因可能是
- 错误的 DKIM DNS 记录条目
- DNS 传播延迟
- 在 DKIM 签名评估过程中发现的错误
- 对电子邮件信息的潜在修改或其他原因。
本博客将重点讨论导致 "DKIM 签名无效 "错误的一些常见原因,以及让您恢复正常的一些建议!
主要收获
- 出现 "DKIM 签名无效 "错误的原因是 DNS 记录不正确、DNS 传播延迟或信息更改。
- 确保正确配置 DKIM DNS 条目,并使用 DKIM 查找工具排除故障。
- DNS 传播延迟可能需要 24-48 小时;请等待完全传播后再重新检查。
- 发件人域和 DKIM 签名域不匹配也可能导致 DKIM 签名错误。
- 自动转发和修改电子邮件会破坏 DKIM 身份验证,但可以通过 ARC 协议加以缓解。
- 定期监控 DKIM 合规性,定期更换密钥,启用 SPF 和 DMARC 以加强保护。
关于 DKIM 签名
DKIM或 Domain Keys Identified Mail 是一种电子邮件验证协议。DKIM 可确保在传输过程中不做任何更改,从而帮助维护电子邮件的合法性。这可以防止威胁行为者和中间人攻击者更改电子邮件内容。
A DKIM 签名是添加到电子邮件中的标题,以便收件人的邮件服务器通过检查发件人的 DKIM 密钥来验证电子邮件。这一过程基于 密码学为基础的在线安全。
DKIM 签名标头中的一些常用标记如下:
- v(版本):指定正在使用的 DKIM 版本。例如,"v=DKIM1 "表示 DKIM 版本 1。
- a(算法):表示用于生成签名的加密算法。常用算法包括 rsa-sha256 和 rsa-sha1。例如,"a=rsa-sha256"。
- d(域):指定拥有用于生成签名的 DKIM 密钥的域。例如,"d=example.com"。
- s(选择器):表示用于在 DNS 记录中查找 DKIM 公钥的特定 DKIM 密钥选择器。例如,"s=dkim2024"。
- h(签名标头):列出 DKIM 签名计算中包含的标头。这可确保对这些标头的任何更改都会导致签名验证失败。例如,"h=发件人:收件人:主题:日期"。
- b(签名):包含为完整电子邮件生成的实际加密签名。例如,"b=AbCdEfGhIjKlMnOp..."。
出现错误的 DKIM 记录或缺少 DKIM 标头字段会导致 DKIM 签名无效错误。
什么情况下 DKIM 会出现 "您的 DKIM 签名无效 "错误?
当DKIM认证检查失败时,你会看到 "你的DKIM签名无效 "的消息。以下是造成这种失败的常见原因。
- DKIM签名域和发件人域不一致。
- 在DNS中公布的DKIM公钥记录是不对的。
- 在DNS中公布的DKIM公钥记录根本就没有公布。
- 服务器无法到达发件人的域名DNS区域进行查询。这是不良主机供应商的常见情况。
- DKIM密钥的长度不够为1024,支持2048位长的密钥。当你的网络邮件托管服务商用较小的DKIM密钥长度签署邮件时,会出现无效的DKIM签名错误。
- 在自动转发过程中,对信息进行了一些修改。
除了最后一种情况,其他情况都属于技术问题,可以由专家解决。不过,要避免最后一种情况是不现实的,因为你无法控制收件人停止添加合规页脚。那么,当这些自动转发的邮件SPF 和 DKIM都失败,而你又设置了 DMARC 策略为 "拒绝 "时,会发生什么情况?
早些时候,对于收件人服务器来说,管理这种未经认证但合法的电子邮件是相当具有挑战性的。但现在,所有主要的电子邮件服务提供商或ESP都使用了 认证的接收链或ARC协议。
这个协议让邮件服务器识别之前管理它的邮件服务器。这让他们知道认证评估的步骤。
如何修复 "DKIM 签名无效 "错误?
尽管对准了DKIM记录,你可以看到无效的DKIM签名错误。让我们看看 "DKIM签名无效 "的可能原因是什么,以及如何解决这些问题。
1.排除不正确的 DKIM DNS 条目
创建 DKIM TXT 记录并将其添加到 DNS 配置文件后,如果遇到 "DKIM 签名无效 "错误,可以通过以下步骤解决:
查找 DKIM 记录错误的步骤
- 注册并导航至 DKIM 查找工具。
- 输入您的域名和选择器(或留空,以便我们的平台自动检测您的选择器)。点击 "查找 "按钮。
- 我们的工具将分析您的 DKIM DNS 条目,并突出显示记录语法中的错误。
修复 DNS 中的错误
- 登录 cPanel 或您使用的任何 DNS 管理控制台。
- 点击 高级DNS区域编辑域名下的选项。
- 从列表中选择域。
- 转到 编辑 DNS 记录。
- 通过编辑当前值为 DKIM 记录输入正确的值。
- 单击保存。
2.等待 DNS 传播延迟
尽管更改了 DNS 配置文件中的设置,但仍会出现错误。出现这种情况的原因通常是,在更改 DNS 设置后,DNS 传播需要 24 到 48 小时。这取决于 DNS 记录中提到的 TTL 值。
在这种情况下,建议等待3到4天,以便DNS完全传播。同时,你可以使用DNS传播工具或分析器检查域名的DNS传播状态。
为什么会看到 "DKIM-签名体散列未验证"?
如果您看到 DKIM 签名的状态为 "DKIM-签名正文哈希值未验证",这仅仅意味着电子邮件的计算哈希值与 "bh="标记中添加的正文哈希值不一致。
许多商业电子邮件服务器会在组件分解前将内联文本更改为传入电子邮件的底部。这会导致无效的正文哈希值,引发 DKIM 签名正文哈希值未验证错误。这最终会导致 DKIM 失败,进而导致 DMARC检查失败。
在某些情况下,由于黑客篡改了您的邮件内容,邮件源可能无法通过 DKIM 和 DMARC 检查。这也会导致 DKIM 签名正文哈希值未验证错误。
你看到DKIM=中性(主体哈希值没有验证)的一些可能原因是。
- 转发器、智能主机或其他过滤代理会修正电子邮件内容。
- 签名者计算错误的签名值。
- 一个恶意的行为者欺骗了电子邮件,并在没有正确的私钥的情况下签署了它。
- DKIM-Signature头中指定的公钥不正确。
- 发件人在其DNS中公布的公钥并不正确。
这些是导致 DKIM 签名正文哈希值未验证错误的一些常见原因。
你如何调查来源?
当您遇到 DKIM-signature body hash not verified(DKIM 签名正文哈希值未验证)错误时,调查电子邮件来源可能会有所帮助。
- 检查源是否属于您的域的授权发送源列表。
- 在互联网上搜索来源。
- 检查它是否出现在 RBL 黑名单网站
- 检查DMARC取证报告,查看源头发送的邮件类型。
- 搜索文件以 设置 DMARC正确设置 DMARC。
- 联系消息来源。
DKIM是否过滤电子邮件?
DKIM 并不过滤电子邮件,但它共享的详细信息有助于收件人域名使用的过滤器。因此,如果一封电子邮件来自一个受信任的域并通过了 DKIM 检查,它的垃圾邮件得分可能会降低。如果未通过 DKIM 检查,则会被标记为垃圾邮件,或被隔离或在主题行添加垃圾邮件标签。
我已经修复了 "DKIM 签名无效 "错误,下一步该怎么办?
为加强 DKIM 合规性,您可以采取以下步骤:
- 订阅 DKIM 分析器以监控您的 DKIM 验证结果
- 启用 SPF 和 DMARC 以提高安全性并进行准确评估
- 定期轮换您的 DKIM 密钥,加强保护
我仍然无法修复错误
如果DKIM签名无效的错误仍然存在,请与您的电子邮件服务提供商联系以获得指导,或 联系我们以获得关于所有电子邮件认证的专家建议
- 雅虎日本建议用户在 2025 年采用 DMARC- 2025 年 1 月 17 日
- MikroTik 僵尸网络利用 SPF 配置错误传播恶意软件- 2025 年 1 月 17 日
- 禁止发送 DMARC 未验证邮件 [解决]- 2025 年 1 月 14 日