首页/网络/网络排障速查/dig CH TXT:查询 DNS 服务器自身版本信息
DNS 与解析排查46 条

dig CH TXT:查询 DNS 服务器自身版本信息

通过 CHAOS 类查询 version.bind 可读出递归服务器软件版本(若未禁用):信息收集与加固核查的常用手法,也被视为信息泄露面。

网络排障速查网络更新于 2026-10-13

dig CH TXT 是什么

CHAOS 类(CH)是 DNS 的历史遗留类别,其中 version.bind 与 hostname.bind 被一些解析器用来暴露自身软件版本与主机名。查询它们可帮助运维与安全人员核对解析器身份,但同时也是一种信息泄露面:公开的版本号能让攻击者直接匹配已知漏洞。因此它既是加固核查项,也是基线检查项。

基本信息

适用平台BIND 9(dig 支持 CH 类查询)、Unbound、dnsmasq 行为各异
查询对象version.bind、hostname.bind、authors.bind
期望结果加固后返回 REFUSED 或 NOTIMP
合规前提仅对自有或获授权的服务器执行

典型使用场景

  • 安全基线核查:确认对外解析器未暴露版本号
  • 资产盘点:识别网络内未知解析器的软件与版本
  • 变更验证:加固后复测确认 version 已隐藏
  • 多台解析器一致性检查:避免个别实例遗漏加固
  • 应急响应:快速判断某台服务器的角色与实现

查询与加固对照

查询与加固对照
# 查询解析器版本与主机名
 dig CH TXT version.bind @192.168.1.1
dig CH TXT hostname.bind @192.168.1.1
# 加固后的期望结果:REFUSED 或 NOTIMP
# BIND 中隐藏版本(named.conf options 段)
# version none;
# 改完重新加载并复测
sudo rndc reload
 dig CH TXT version.bind @127.0.0.1

返回结果判读

返回结果含义处置建议
返回版本字符串未加固,版本已暴露在配置中隐藏版本并复测
REFUSED已按基线加固纳入基线清单,保持现状
NOTIMP服务未实现该类查询通常可视为安全
超时无响应被策略或 ACL 拦截结合服务器日志确认
不同实现对 CHAOS 查询的处理差异很大:BIND 默认应答,Unbound 与 dnsmasq 行为各不相同。返回空或超时不代表异常,需要结合具体实现判断。
对非自有或未获授权的 DNS 服务器执行此类查询属于边界行为:在企业合规与法律环境里,扫描行为需要事先取得书面授权。

批量核查自有解析器

批量核查自有解析器
# 对资产清单中的解析器逐台核查版本暴露情况
for ip in 10.0.0.53 10.0.0.54 10.0.1.53; do
  printf '%s: ' $ip
  dig +time=2 +tries=1 CH TXT version.bind @$ip | grep -o 'TXT.*' | head -1 || echo NO-ANSWER
done
# 核查主机名是否同样暴露
dig +time=2 CH TXT hostname.bind @10.0.0.53 | tail -3
核查结果要落到资产清单上而不是凭记忆:新上线的解析器常常沿用默认配置,如果没有清单驱动,很容易在加固后重新引入暴露版本号的实例。

易错点

  • 把返回空当异常:不同实现处理方式不同,需按实现判断
  • 加固后不复测:配置未生效却以为完成
  • 只检查一台解析器:资产清单里其他实例仍暴露版本
  • 用版本号直接推断存在漏洞:需结合具体版本与配置核实,避免武断结论
  • 对非授权服务器执行查询:合规风险,可能被判定为扫描行为

数据来源与参考

  • BIND 9:version 选项文档
  • DNS 服务器信息泄露加固实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌