区域传送必须严格限定于指定辅助dns服务器ip,禁用ns记录自动判断和任意服务器访问;启用tsig签名防ip伪造;辅助服务器须设为只读且禁用动态更新;每日校验soa序列号并审计dns日志。
必须把区域传送范围严格限定在已知辅助dns服务器的ip地址上,不能依赖ns记录自动判断,更不能开放给任意服务器。
主服务器上只允许指定IP发起传送
默认Windows DNS禁止区域传送,但一旦启用就必须精确控制。在DNS管理器中右键主区域 → “属性” → “区域传送”选项卡:
- 勾选“允许区域传送”
- 选择“仅到下列服务器”(不要选“仅到名称服务器选项卡所列服务器”)
- 点击“编辑”,逐个输入辅助DNS服务器的IPv4或IPv6地址(注意:不支持主机名,不能用缩写格式如::1,要写全为0000:0000:0000:0000:0000:0000:0000:0001)
- 每输一个地址后按Enter,系统会尝试解析验证;失败说明该IP不可达或未运行DNS服务
启用TSIG签名防止IP伪造攻击
仅靠IP白名单存在被源地址欺骗绕过的风险,关键区域务必叠加TSIG验证:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
- 在主服务器和所有辅助服务器上创建相同名称与算法的密钥(推荐HMAC-SHA256)
- 使用PowerShell命令 Set-DnsServerPrimaryZone -Name "example.com" -SecondaryServers 192.168.10.5 -Notify -TsigKey "key1"
- 辅助服务器添加区域时,在“新建辅助区域”向导中指定同一密钥名称
- 成功启用后,事件查看器中出现ID 4515表示TSIG校验失败,可快速定位配置不一致问题
辅助服务器必须设为只读且禁用动态更新
辅助区域本质是只读副本,任何写入操作都会破坏同步一致性并埋下安全漏洞:
- 在辅助服务器DNS管理器中右键对应区域 → “属性” → “常规”选项卡
- 确认“区域类型”显示为“辅助区域”
- “动态更新”下拉菜单必须为“不允许任何动态更新”(若显示“非安全和安全”,立即修改)
- 检查该区域是否意外出现在“正向查找区域”右键菜单的“新建主机”等操作中,如有则说明配置异常
定期验证同步状态与日志审计
限制配置只是起点,持续验证才能确保防护有效:
- 每天执行 dnscmd /zoneinfo example.com 对比主辅服务器SOA序列号,不一致需立即排查
- 在事件查看器中筛选“DNS Server”日志,重点关注ID 4013(传送开始)、4016(传送完成)、4006(拒绝请求)
- 对跨防火墙或跨网段的辅助同步,用 Test-NetConnection 192.168.10.5 -Port 53 -Protocol TCP 验证TCP 53端口双向可达
- 禁用不必要的DNS调试日志,但保留标准查询与传送类日志至少7天










