DNSSEC详解:为DNS签名
普通DNS没有认证:解析器无法区分真实应答与攻击者注入的伪造应答(缓存投毒)。DNSSEC通过为DNS记录签名来解决这一问题,使其完整性和来源可被验证。
涉及的记录
| 记录 | 作用 |
|---|---|
| DNSKEY | 区域的公钥(KSK与ZSK) |
| RRSIG | 用密钥对记录集做的签名 |
| DS | 区域KSK的哈希,发布在父区域 |
| NSEC/NSEC3 | 某名称不存在的可认证证明 |
信任链
根区域是每个验证解析器内置的信任锚。根为TLD的DS签名,TLD为你域名的DS签名,你的DNSKEY为你的记录签名。验证解析器沿此链逐级验证;若每一环都通过,则设置AD(Authenticated Data)标志。若签名缺失、过期或DS不匹配,它会返回SERVFAIL而非伪造应答。
如何启用
- 在DNS托管商处启用签名(会自动生成DNSKEY/RRSIG)。
- 把生成的DS记录复制到注册商——这是人们最易遗忘的一步,没有它信任链就断了。
- 用本站 DNSSEC检测 验证。
备注: DNSSEC提供真实性而非隐私,它不加密查询。要保密请用DNS-over-HTTPS/TLS。另见 DNS记录类型。