DNS 域间传送

在之前已经讲过DNS server 安装配置,那么今天来讲一下DNS配置中可能存在的安全问题之一——DNS域间传送。

下面我们通过实验来说明一下DNS域间传送安全问题

step1.还是用我之前的搭建的DNS Server做实验
  • 启动DNS Server(Bind服务)
[root@localhost ~]# service named start
  • 首先我们不对配置文件做任何修改,nslookup测试一下
DNS 域间传送_第1张图片
图片.png

可以看到默认域间策略是打开的,但有时候是关闭的,我的环境上测试是打开的。

step2.配置DNS域间传送
  • 一般DNS是公司重要的基础性业务,很多公司都会对dns进行主备配置,也可以叫做主从配置,也就是需要dns服务器之间需要数据同步,这个时候就要需要打开域间策略,如下图:
[root@localhost ~]# vim /etc/named.conf
DNS 域间传送_第2张图片
图片.png
  • 配置完后重启服务!!!
图片.png
  • 然后再来测试
DNS 域间传送_第3张图片
图片.png

发现这样配置域间策略是错误的,很危险,原因就是上面配置的
allow-transfer { any; };这行配置打开DNS域间传输没有错,但是里面写的是any;这个就不对了,这样写任何人都可以同步到你的DNS Server数据。正确配置应该写备DNS服务器的地址。

  • 正确配置:我这就一个DNS Server ,就设置为只有本机可以访问的到了。如下图所示:
DNS 域间传送_第4张图片
图片.png

地址改为127.0.0.1 ,localhost也行,别漏掉最后的分号。

保存并退出,然后记得重启服务。

[root@localhost ~]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@localhost ~]# 
  • 然后再测试
DNS 域间传送_第5张图片
图片.png

这次就发现Query refused拒绝查询。

扩展1:上面是使用nslookup工具来测试DNS域间传送漏洞,然后再介绍一个dig工具(Linux下)也可以用来测试,测试方法如下:
[root@localhost ~]# dg @192.168.3.112 axfr zzqa.com
DNS 域间传送_第6张图片
图片.png
扩展2:上面写配置是在/etc/named.conf里面options部分配置,其实也可以在/etc/named.rfc1912.zones自定义的域里面配置,如下图所示:
DNS 域间传送_第7张图片
图片.png
上面我说了安全配置有两个文件,选择任意一个即可,但是注意的是:/etc/named.rfc1912.zones要比/etc/named.conf优先级要大!!!

好了,DNS 域间传送就先讲到这,之后学习到新的东西在继续写。

检测dns域传送漏洞
  • dig
dig @dns服务器 域名 axfr
  • nslookup
1) nslookup             #进入交互式shell
2) server dns.xx.yy.zz  #设定查询将要使用的DNS服务器
3) ls xx.yy.zz          #列出某个域中的所有域名
4) exit                 #退出

你可能感兴趣的:(DNS 域间传送)