如何设置系统的 DNSSEC?
一、启用 DNSSEC 的核心步骤
-
域名注册商配置(必需前置条件)
- 登录域名注册商控制台(如阿里云),开启 DNSSEC 功能并获取 DS 记录(含密钥标签、算法类型、摘要类型和摘要值)。
- 将 DS 记录提交给顶级域(TLD)注册局(如 .com 管理局),完成域名层信任链绑定。
-
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
签名区域文件。
- Windows Server:
二、客户端验证配置
-
操作系统级启用 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
。
- Windows 10/11:
-
路由器级支持(家庭网络)
- 登录路由器管理页(如 OpenWRT),启用 DNSSEC 验证 并指定上游加密 DNS(如
1.1.1.1#dns.cloudflare.com
)。
- 登录路由器管理页(如 OpenWRT),启用 DNSSEC 验证 并指定上游加密 DNS(如
三、关键安全措施
- 信任密钥分发
- 在 DNS 服务器配置 信任锚点(Trust Anchor),同步公钥至客户端或递归解析器。
- 阻断传统 DNS 端口
- 防火墙规则禁止
UDP 53
出站,强制使用 DoT(853端口)或 DoH(443端口)加密传输。
- 防火墙规则禁止
四、注意事项
- 启用 DNSSEC 后需持续维护密钥轮转(建议每 3 个月更新一次签名密钥)。
- 若使用付费 DNS 服务(如阿里云),服务到期前需先删除 DS 记录再关闭 DNSSEC,避免解析中断。
- 验证是否生效:
dig +dnssec example.com # 查看返回的 RRSIG 和 AD 标志
AD
标志为true
表示验证成功。
附:DNSSEC 部署依赖全链路支持(注册商→权威DNS→递归DNS→客户端),任一环节缺失均导致失效。