基础设施

安全 DNS 部署清单:从 DNSSEC、DoT/DoH 到递归解析器隔离

面向小团队和 VPS 用户的 DNS 安全实践,覆盖权威 DNS、递归 DNS、加密传输和日志监控。

DNS 是安全边界的一部分

DNS 经常被当作“解析一下域名”的基础服务,但它实际上影响访问控制、证书签发、邮件可信度、CDN 调度和攻击检测。解析错误、缓存污染或错误委派,都会变成业务故障。

小团队不一定要自建所有 DNS,但应该知道哪些环节必须检查。

国外安全指南的核心思路

APNIC 对 NIST 安全 DNS 指南的解读强调了一点:DNS 不只是基础设施,它也是安全控制面。保护性 DNS、DNSSEC、加密传输、日志和策略执行应该一起看,而不是单独追某个功能。

国外运维社区里,DNS 故障案例非常多:错误 NS 委派、DNSSEC DS 没同步、CAA 配错导致证书签发失败、开放递归被用于反射攻击、迁移 DNS 时 TTL 估计错误。它们看起来都是“小配置”,但影响范围往往比 Web 服务本身更大。

对 VPS 用户来说,最实用的策略不是自建复杂 DNS,而是明确边界:权威 DNS 交给可靠托管服务,递归解析器只在内网使用,关键记录变更有审计。

DNSSEC 开启前的检查

DNSSEC 最怕半开半关。建议先做:

  1. 确认 DNS 托管商支持自动签名。
  2. 确认注册商支持 DS 记录。
  3. 在测试域名上演练一次。
  4. 记录 KSK/ZSK 轮换方式。
  5. 准备关闭 DNSSEC 的回滚流程。

验证命令:

dig +dnssec example.com
delv example.com
dig DS example.com

如果不理解 DS、DNSKEY 和签名链,生产域名不要急着开启。

递归解析器的最小安全线

很多 VPS 被投诉,不是因为用户主动攻击,而是因为开放了递归 DNS。最小规则:

  • 只监听内网或 localhost。
  • 严格 ACL。
  • 禁止全网递归。
  • 开启查询速率限制。
  • 监控异常 qps。

如果你只是让服务器解析外部域名,使用系统解析器或可信上游即可,不需要对公网开放 53 端口。

权威 DNS 检查项

  • 至少使用两个不同网络位置的权威 DNS。
  • 开启 DNSSEC 前先确认注册商支持 DS 记录。
  • 变更 NS、DS、DNSKEY 时记录时间窗口。
  • 重要记录设置合理 TTL,避免过低 TTL 增加查询压力。
  • 对 MX、CAA、TXT、SPF、DKIM、DMARC 做变更审计。

DNSSEC 的关键不是“开关打开”,而是密钥轮换和 DS 记录同步。配置错误时,启用 DNSSEC 反而会让严格验证的解析器返回失败。

递归 DNS 检查项

如果你在 VPS 上自建递归解析器:

  1. 不要开放给全网递归。
  2. 限制监听地址和 ACL。
  3. 开启 rate limit。
  4. 记录异常查询量。
  5. 定期更新根提示和软件版本。

开放递归解析器很容易被用作反射攻击,也会让你的 VPS IP 被投诉。

加密 DNS 怎么看

DoH、DoT、DoQ 解决的是客户端到解析器之间的隐私和完整性,不等于解析结果一定可信。它们应该和 DNSSEC、可信解析器、日志策略一起看。

对个人用户:

  • 公共网络可用 DoH/DoT 降低劫持风险。
  • 企业网络要注意 DoH 绕过安全审计。
  • 服务器侧解析建议固定上游,避免系统默认解析器漂移。

VPS 上的实用配置

最小化原则:

resolvectl status
dig +dnssec example.com
dig CAA example.com
dig TXT _dmarc.example.com

如果只是建站,优先选择成熟托管 DNS。只有在需要内网解析、实验协议、Split-horizon 或特殊合规时,再自建权威或递归服务。

参考来源