KNOWLEDGE ARTICLE
DNSSEC 是什么?
DNS 安全扩展
通过数字签名验证 DNS 响应是否被篡改。
核心解释
DNSSEC 为 DNS 记录增加可验证签名,使解析器能够确认响应来自正确的域名区域,并且在传输过程中没有被修改。它保护的是解析真实性,不负责加密网页内容。
DNSSEC 解决的是哪一种 DNS 风险
普通 DNS 主要负责返回域名记录,本身没有为回答提供端到端的真实性证明。如果递归解析器收到伪造回答并把它写入缓存,后续用户可能被带到错误地址。DNSSEC 在 DNS 数据上增加数字签名,让支持验证的解析器能够确认回答来自对应授权区域,并且数据在传递过程中没有被修改。
DNSSEC 保护的是解析数据的真实性与完整性,不隐藏查询内容,也不加密浏览器与网站之间的通信。访问链路通常还需要 HTTPS 保护页面传输;如果希望减少 DNS 查询被旁观,则属于 DoH、DoT 等加密解析协议的职责。
信任链如何从根延伸到具体域名
- DNS 根区域发布受信任的起点,顶级域通过 DS 记录保存下级区域密钥的摘要,形成逐级委派关系。
- 域名区域使用 DNSKEY 公布验证密钥,并用 RRSIG 为 A、MX、TXT 等记录集签名;解析器会检查签名、密钥与上级 DS 是否能够连续对应。
- 当查询的名称不存在时,NSEC 或 NSEC3 记录提供经过签名的不存在证明,防止攻击者随意伪造 NXDOMAIN。
- 只要委派、密钥、签名有效期或算法中的任一关键环节断裂,验证解析器就可能返回 SERVFAIL,而不是把无法验证的数据交给用户。
密钥轮换和配置失误为什么重要
DNSSEC 上线并不是一次性增加 DS 记录。运营方需要管理区域签名密钥、密钥签名密钥、签名刷新和算法升级,并在更换 DNS 服务商时协调新旧密钥。若父区 DS 已经指向旧密钥,而子区只保留新密钥,域名可能在验证解析器中整体不可用。
常见排查顺序是先确认普通解析是否有回答,再检查 DS、DNSKEY 和 RRSIG 是否匹配、签名是否过期、服务器时间是否准确,以及不同权威节点是否发布一致区域。分阶段轮换并保留重叠期,通常比直接删除旧密钥更稳妥。
实际应用与信息解读
查询到有效 DS 和 DNSKEY,并且签名链可验证时,可以确定该域名启用了 DNSSEC 验证链。只看到 DNSKEY 而父区没有 DS 时,可能只是区域已经准备签名,尚未建立从父区向下的信任关系。
未取得 DNSSEC 记录时,应根据查询是否完整区分“未启用”和“未知”。DNSSEC 正常可以推测域名重视解析完整性,但不能据此判断网站内容、服务器漏洞或 HTTPS 配置;这些属于不同的安全层。
重点关注
启用 DNSSEC 可以降低缓存投毒和伪造解析的风险,但配置错误也可能导致域名无法解析。
常见问题
DNSSEC 会让 DNS 查询变成加密通信吗?
不会。DNSSEC 为 DNS 数据提供签名验证,主要解决回答是否真实、是否被篡改的问题;DoH 或 DoT 才负责加密客户端与解析服务之间的查询传输。
为什么启用 DNSSEC 后域名反而打不开?
常见原因是父区 DS 与当前 DNSKEY 不匹配、签名过期、算法不受支持或不同权威节点数据不一致。验证解析器遇到断裂信任链时通常会拒绝返回结果。
没有 DNSSEC 就代表网站不安全吗?
不能这样判断。它表示解析链少了一项真实性验证,实际网站安全还取决于 HTTPS、应用安全、账号保护和基础设施管理等多个层面。