如何设置系统的 DNSSEC?

一、启用 DNSSEC 的核心步骤

  1. 域名注册商配置(必需前置条件)

    • 登录域名注册商控制台(如阿里云),开启 DNSSEC 功能并获取 ‌DS 记录‌(含密钥标签、算法类型、摘要类型和摘要值)。
    • 将 DS 记录提交给顶级域(TLD)注册局(如 .com 管理局),完成域名层信任链绑定。
  2. DNS 服务器部署(权威解析端)

    • Windows Server‌:
      # 签名 DNS 区域 Add-DnsServerSigningZone -Name "example.com" -ZoneSigningKey -KeySigningKey # 生成并发布 DNSKEY 资源记录 Invoke-DnsServerZoneSign -Name "example.com" ```:ml-citation{ref="7" data="citationList"}
    • Linux (BIND)‌:
      编辑 named.conf 添加:
      zone "example.com" { type master; file "db.example.com.signed"; dnssec-enable yes; dnssec-validation yes; };
      使用 dnssec-keygen 生成密钥,dnssec-signzone 签名区域文件。

 ‌二、客户端验证配置

  1. 操作系统级启用 DNSSEC 验证

    • Windows 10/11‌:
      管理员权限执行:
       
      netsh dns add global queryresolutionpolicy "DOT" (DNSSEC规则) enforce yes
      或通过组策略:计算机配置 → 网络 → DNS 客户端 → DNSSEC → 启用验证
    • Linux (systemd-resolved)‌:
      编辑 /etc/systemd/resolved.conf
       
      [Resolve] DNSSEC=allow-downgrade DNSOverTLS=opportunistic
      重启服务:systemctl restart systemd-resolved
  2. 路由器级支持(家庭网络)

    • 登录路由器管理页(如 OpenWRT),启用 ‌DNSSEC 验证‌ 并指定上游加密 DNS(如 1.1.1.1#dns.cloudflare.com)。

 ‌三、关键安全措施

  1. 信任密钥分发
    • 在 DNS 服务器配置 ‌信任锚点‌(Trust Anchor),同步公钥至客户端或递归解析器。
  2. 阻断传统 DNS 端口
    • 防火墙规则禁止 UDP 53 出站,强制使用 DoT(853端口)或 DoH(443端口)加密传输。

 ‌四、注意事项

  1. 启用 DNSSEC 后需持续维护密钥轮转(建议每 3 个月更新一次签名密钥)。
  2. 若使用付费 DNS 服务(如阿里云),服务到期前需‌先删除 DS 记录再关闭 DNSSEC‌,避免解析中断。
  3. 验证是否生效:
     
    dig +dnssec example.com # 查看返回的 RRSIG 和 AD 标志
    若 AD 标志为 true 表示验证成功。

附:DNSSEC 部署依赖全链路支持(注册商→权威DNS→递归DNS→客户端),任一环节缺失均导致失效。