资讯文章 资讯 · NEWS
DNSSEC 要不要开:目录站域名被劫持的那几种场景和防护成本
2026-10-24 约 1,635 字 预计阅读 4 分钟 yiyunkj
D
每隔一段时间就有同行在群里问:我的站怎么突然排在菠菜关键词上了?查下来往往是域名解析被人改了——NS 被换到别人的服务器,你的域名指去了别人的主机。
恢复的成本不在于改回解析那一步:搜索引擎已经把这个地址重新认识了一遍,等它再认回来,几周起。

图片来源:网络,版权归原作者所有,侵权请联系删除
DNSSEC 挡的是哪一种攻击
一句话版本:DNSSEC 给 DNS 应答签名,让递归解析器能验出这份应答有没有半路被人改过。
- 区里的记录带上数字签名,写在
RRSIG记录里 - 验签用的公钥是
DNSKEY,一般分两层:KSK(密钥签名密钥)签 DNSKEY,ZSK(区域签名密钥)签具体记录 - 父域(比如 com、cn)里放一条
DS记录,它是你 KSK 的摘要——这一步由注册商提交给注册局,是整个信任链的关键
于是形成「根 → 顶级域 → 你的域名」这条可以逐级验证的链。DNSSEC 解决的问题是:应答被篡改或被伪造。
它管不了的三件事
很多期待其实放错了地方:
- 注册商账号被盗。别人直接登录后台改 NS、申请转移、甚至把 DNSSEC 关掉,DNSSEC 无能为力——因为攻击者走的是合法通道。
- 主机或 CDN 被拿下。解析没问题,内容被换了,DNSSEC 一样看着干瞪眼。
- 应用层漏洞。网站被挂马、被写暗链,和 DNS 层没关系。
所以它是拼图里的一块,不是保险箱。
配置错误的后果比不开更糟
DNSSEC 最让人头疼的地方在于:配错了比不配还危险。
因为信任链一旦在某处断掉,做校验的递归解析器会认为这个域名的数据不可信,直接返回 SERVFAIL。注意不是「回退到不校验」,而是拒绝解析。要不要做校验取决于访问者用的是什么解析器,于是现场通常是:自己用运营商 DNS 打开正常,别人用公共 DNS 打不开,监控系统一半在报警一半没反应。
四个高频故障
| 故障 | 典型诱因 | 现象 |
|---|---|---|
| DS 与当前 DNSKEY 不匹配 | 换了 DNS 服务商、换了 NS | 部分解析器全部 SERVFAIL |
| 旧的 DS 没删干净 | 历史上接过多个 DNS 服务商 | 同上,且很难第一时间想到 |
| 签名过期 | 没开自动续签 | 到某一时间点后突然全部校验失败 |
| 密钥轮换顺序错 | 先删旧密钥再更新 DS | 轮换窗口内解析中断 |
这几条里最常见的一条是:换 DNS 服务商或者换 NS 之前,没有把 DNSSEC 排进变更窗口。不只一份行业文档把它列为域名「变暗」的头号原因。正确做法是把它当成变更的一部分——顺序、回滚方案、验证手段事先写好,而不是先从 DNS 面板改起。
上线前后该做的验证
- 出发前确认两件事:注册商支持提交 DS,DNS 托管商支持签名。缺一个就没法做。
- DS 记录从 DNS 服务商那边复制粘贴过去,不要手打。四个字段(Key Tag、Algorithm、Digest Type、Digest),抄错一个就是 SERVFAIL。
- 改完用外部工具看:
dig +dnssec yourdomain.com看有没有 RRSIG 与 AD 标志,再用 DNSViz、Zonemaster 这类工具各跑一遍。 - 给密钥过期和 DS 变更单独设一条监控告警,别指望半年后还记得检查。
性价比更高的三件事,先做完
如果不确定有没有人长期盯着 DNSSEC,先把这三条做实,收益更直接:
- 注册商账号的双因素加转移锁。这一步挡的是「后台被盗」这条主要路径。
- DNS 记录变更的每日 diff 告警。把 NS、A、MX、CNAME 每天比对一次,有变化就发到负责人手上。这个脚本几十行。
- 解析快照留档。把正常状态的一份记录导出存好,出事时能立刻知道该改回什么,而不是现场回忆。
三件事加起来一天的工作量,挡住的是最高频的那几种打扰。做完之后还有余力,再考虑 DNSSEC。
什么站值得开
| 情况 | 建议 |
|---|---|
| 有在线支付、有用户账户数据 | 开,并且配套监控 |
| 品牌词本身有相当搜索量,被劫持损失大 | 开 |
| 目标用户在海外,公共 DNS 覆盖率高的地区 | 开 |
| 注册商或 DNS 托管商有一方不支持 | 先解决可用性 |
| 全站一个人维护,半年不看一次域名后台 | 先做上面那三件事 |
一句总结:DNSSEC 是一个「开着就要有人长期管」的东西。它的价值不在开启那天,而在于之后每一次换 DNS 服务、每一次密钥轮换,都有人知道要去检查那一层。