最核心的做法是禁用默认开放策略,强制只允许指定ip服务器获取区域数据;windows dns默认禁止区域传送,启用后必须在主服务器“区域传送”中勾选“仅以下服务器”并精确填写辅助服务器ipv4/ipv6地址,禁用ns记录验证、关闭非必要区域传送、启用tsig签名及tcp 53端口管控。
最核心的做法是禁用默认开放策略,强制只允许指定 ip 的服务器获取区域数据。windows dns 默认不开启区域传送,但一旦启用,若未严格限制目标,就可能被扫描工具或攻击者利用 axfr 请求批量拉取所有主机名和 ip,直接暴露内网结构。
主服务器上关闭泛传,锁定可传送 IP
在 DNS 管理器中右键对应正向/反向区域 → “属性” → 切换到“区域传送”选项卡:
- 务必勾选“允许区域传送”,否则从服务器无法同步(但默认就是不勾选,容易被忽略)
- 选择“只允许传输到下列服务器”,点击“编辑”
- 逐个输入从 DNS 服务器的 IPv4 地址(如 192.168.5.10、10.20.30.40),不支持主机名或 IPv6 缩写(例如
::1要写成0000:0000:0000:0000:0000:0000:0000:0001) - 切勿选择“仅允许 NS 记录中列出的服务器”——NS 记录易被伪造或解析失败,反而降低可控性
禁用非必要区域的传送功能
并非所有区域都需要多服务器冗余。对以下类型区域,建议直接关闭区域传送:
- 仅用于内部服务发现的私有域名(如 svc.internal、lab.corp)
- 测试或临时部署的区域(即使短期使用,也应明确授权 IP 后再开启)
- AD 集成区域若已启用多域控制器自动复制,则辅助区域本身无必要,可不配置
关闭方法:取消勾选“允许区域传送”即可,无需填写任何 IP。
加固传送通道与验证机制
单纯限制 IP 还不够,需叠加传输层保护:
- 确保防火墙放行 TCP 53 端口(区域传送强制使用 TCP,UDP 53 不生效)
- 在主、从服务器间部署 TSIG 密钥:在 DNS 管理器中新建“名称服务器密钥”,绑定到区域,并在从服务器添加辅助区域时勾选“使用此密钥进行身份验证”
- 定期检查事件查看器 → “DNS Server” 日志:ID 4006(拒绝传送)、4010(超时)、4015(成功通知)、4016(成功同步)可快速定位异常请求来源
验证是否真正生效
界面显示“辅助区域已创建”不等于数据已同步,更不等于策略已起效:
- 在从服务器上执行
nslookup -type=soa example.com 127.0.0.1,比对 SOA 序列号是否与主服务器一致 - 从一台未授权 IP 的机器(如普通办公 PC)尝试手动发起 AXFR:
nslookup -type=any example.com 192.168.1.100(主 DNS IP),应返回 REFUSED 或超时 - 用网络抓包工具(如 Wireshark)过滤 TCP port 53,确认只有白名单 IP 出现 AXFR 流量











