安全

小网站要不要开 DNSSEC:有用,但不是万能

DNSSEC 验证 DNS 响应来源和完整性。它不加密 DNS,不防 DDoS,也不能弥补注册商账号安全差。

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。

稳妥开通路径

  1. 确认当前权威 DNS 服务商。
  2. 如果在迁移,切换 nameserver 前处理旧 DNSSEC 材料。
  3. 在权威 DNS 服务商启用 DNSSEC。
  4. 在注册商添加生成的 DS 记录。
  5. 用至少两个独立工具验证 DNSSEC 链路。
  6. 记录回滚方法和注册商凭证位置。

资料来源

  1. ICANN DNSSEC 说明DNSSEC 通俗背景。
  2. RFC 4033DNSSEC 的能力和边界。
  3. RFC 9364DNS 数据来源认证的当前最佳实践。
  4. Cloudflare DNSSEC 文档Cloudflare 开启流程和 DS 记录。
  5. APNIC DNSSEC 验证统计各国家和地区 DNSSEC 验证率背景。