安全 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 最怕半开半关。建议先做:
- 确认 DNS 托管商支持自动签名。
- 确认注册商支持 DS 记录。
- 在测试域名上演练一次。
- 记录 KSK/ZSK 轮换方式。
- 准备关闭 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 上自建递归解析器:
- 不要开放给全网递归。
- 限制监听地址和 ACL。
- 开启 rate limit。
- 记录异常查询量。
- 定期更新根提示和软件版本。
开放递归解析器很容易被用作反射攻击,也会让你的 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 或特殊合规时,再自建权威或递归服务。