DNSSEC 值得理解,因为每个网站都依赖 DNS。它也很容易被夸大。DNSSEC 让解析器验证 DNS 答案确实来自预期区域,并且没有被篡改。但它不会隐藏用户查询了哪个域名。
它真正保护什么
DNSSEC 通过一组记录,让解析器从根区、父区一路验证到你的域名。链路成立时,伪造的 DNS 响应应该验证失败,而不是悄悄把用户送到错误地址。
- RRSIG 用于签名 DNS 记录集。
- DNSKEY 发布区域的公开签名密钥。
- DS 把父区和子区的 DNSKEY 连接起来。
- NSEC 或 NSEC3 用于证明某个名称不存在。
最常见的错误
常见错误是以为在 DNS 面板点开关就结束了。Cloudflare 可以为区域签名并生成 DS 记录值,但父区或注册商也要发布正确 DS。如果注册商还保留旧 DNS 服务商的 DS,迁移 nameserver 后域名可能验证失败。
DNSSEC 不做什么
- 不加密 DNS 查询或响应。
- 不保护注册商账号免于被盗。
- 不防 DDoS。
- 不替代 HTTPS、HSTS、SPF、DKIM、DMARC 或账号 2FA。
稳妥开通路径
- 确认当前权威 DNS 服务商。
- 如果在迁移,切换 nameserver 前处理旧 DNSSEC 材料。
- 在权威 DNS 服务商启用 DNSSEC。
- 在注册商添加生成的 DS 记录。
- 用至少两个独立工具验证 DNSSEC 链路。
- 记录回滚方法和注册商凭证位置。