DNS根密钥要换了,你的应用顶得住吗?10月11日前必做检查
DNS 根域名 KSK 密钥轮转:时间紧迫
如果你负责 DNS 基础设施,在日历上把 2026年10月11日 标红。这天是周日,ICANN 要对根区域密钥签名密钥(Root KSK)进行一次计划中的轮转——这是 DNSSEC 验证体系里最底层的加密密钥。
这事的影响比看起来大得多。打个比方,如果你的解析器还没更新到信任新密钥,它不只会验证不了 DNSSEC 签名,而是会彻底停止解析所有域名,等于直接"下线"了。
根 KSK 到底是什么?
把 DNS 层级想象成一条信任链。最顶端是根区域,而守护它的就是根 KSK——一个加密密钥,所有 DNSSEC 验证都锚定在它上面。你的递归解析器在检查一个带 DNSSEC 签名的域名时,会把签名链一路回溯到这根密钥。如果解析器不认识当前的根 KSK,这条链就断了。
ICANN 作为 DNS 根域的管理者,会定期轮换这些密钥,这是安全最佳实践的一部分。定期轮转密钥可以防止长期密钥被破解,确保加密基础设施能应对不断升级的威胁。
轮转是怎么进行的?
KSK 轮转过程中,用来签名根区域区域签名密钥(ZSK)的签名密钥会换新的。新 KSK 生成新的签名,而信任锚点必须同步更新。这不是纸上谈兵——这个流程以前就执行过,每次都有一些过时的解析器出岔子。
关键问题来了:当一个启用 DNSSEC 验证的解析器遇到无法验证的签名时——因为根密钥不在它的信任库里——符合 RFC 4033 规范的实现会返回 SERVFAIL。结果就是:所有查询都变成 NXDOMAIN,不管域名实际存不存在。
谁需要行动?
启用 DNSSEC 验证的解析器是最需要关注的。 如果你在跑 BIND、Unbound、Knot Resolver 或者其他支持 DNSSEC 的解析器,就得确保你的信任锚配置里包含新 KSK,这件事必须在 10月11日之前搞定。
对大多数用户来说,这事是自动的。主流操作系统和 DNS 软件会通过常规更新渠道接收密钥更新。但如果你管的是这些情况,就得手动更新了:
- 自定义的 DNS 基础设施
- 更新机制受限的嵌入式设备或物联网设备
- 配置锁死的内部解析器
- 跟外界隔离、无法定期更新的系统
怎么检查解析器状态?
好消息是:验证准备情况很简单。查一下你的解析器的根 DNSKEY 记录:
dig @<你的解析器IP> DNSKEY . +multi
找到 KSK 条目(通过标志值 257 识别)。然后跟 ICANN 公布当前 KSK 比对一下,具体信息在他们根区域 DNSSEC 实践声明文档里可以找到。
如果你用的是 BIND,检查一下 trusted-keys 或 dnssec-validation auto 配置。启用 dnssec-validation auto 的现代 BIND 版本会自动通过 RFC 5011 信任锚点维护机制获取和更新根密钥。
更大的图景:DNSSEC 为何重要
DNSSEC 要解决的是一个根本问题:DNS 诞生在一个人人互信的时代,根本没有加密验证。你查询 example.com,怎么知道返回的响应真的来自官方服务器,而不是中途被人拦截篡改了?
DNSSEC 给 DNS 记录加上了数字签名。每个区域给自己的记录签名,上级区域认证下级区域的密钥。根 KSK 就锚定了整条链。
没有 DNSSEC 验证,你的应用就暴露在 DNS 缓存投毒、中间人攻击、流量劫持等风险下。2024 和 2025 年,主流 DNS 提供商纷纷加强 DNSSEC 验证部署,这让密钥轮转变得越来越关键。
接下来两周的实操清单
- 清点你的解析器 — 搞清楚哪些解析器在做 DNSSEC 验证
- 检查信任锚配置 — 确认引用了当前和即将启用的 KSK
- 在测试环境先试一把 — 如果要做改动,先验证再上线
- 轮转后持续监控 — 留意有没有 SERVFAIL 飙升或解析失败
- 记录下来供将来参考 — 这种轮转大约每五年来一次
要是不做准备会怎样?
最好的情况,你可能会遇到间歇性的解析失败。最坏的情况,你的解析器对所有带 DNSSEC 签名的域名彻底失灵——而现在的互联网,这个比例已经越来越高了。
根 KSK 轮转不光是 ICANN 的事,这是整个 DNS 安全基础设施的共同责任。这周抽半小时审计一下你的解析器。等周日到来、一切正常运行的时候,你的用户会感谢你的。
保持安全,保持验证通过。
想了解更多 DNSSEC 部署和 DNS 最佳实践,可以看看 NameOcean 的基础设施指南和面向现代应用部署的托管 DNS 服务。