在之前已经讲过DNS server 安装配置,那么今天来讲一下DNS配置中可能存在的安全问题之一——DNS域间传送。
下面我们通过实验来说明一下DNS域间传送安全问题
step1.还是用我之前的搭建的DNS Server做实验
- 启动DNS Server(Bind服务)
[root@localhost ~]# service named start
- 首先我们不对配置文件做任何修改,nslookup测试一下
可以看到默认域间策略是打开的,但有时候是关闭的,我的环境上测试是打开的。
step2.配置DNS域间传送
- 一般DNS是公司重要的基础性业务,很多公司都会对dns进行主备配置,也可以叫做主从配置,也就是需要dns服务器之间需要数据同步,这个时候就要需要打开域间策略,如下图:
[root@localhost ~]# vim /etc/named.conf
- 配置完后重启服务!!!
- 然后再来测试
发现这样配置域间策略是错误的,很危险,原因就是上面配置的
allow-transfer { any; };
这行配置打开DNS域间传输没有错,但是里面写的是any;
这个就不对了,这样写任何人都可以同步到你的DNS Server数据。正确配置应该写备DNS服务器的地址。
- 正确配置:我这就一个DNS Server ,就设置为只有本机可以访问的到了。如下图所示:
地址改为127.0.0.1 ,localhost也行,别漏掉最后的分号。
保存并退出,然后记得重启服务。
[root@localhost ~]# service named restart
停止 named: [确定]
启动 named: [确定]
[root@localhost ~]#
- 然后再测试
这次就发现Query refused
拒绝查询。
扩展1:上面是使用nslookup工具来测试DNS域间传送漏洞,然后再介绍一个dig工具(Linux下)也可以用来测试,测试方法如下:
[root@localhost ~]# dg @192.168.3.112 axfr zzqa.com
扩展2:上面写配置是在/etc/named.conf
里面options部分配置,其实也可以在/etc/named.rfc1912.zones
自定义的域里面配置,如下图所示:
上面我说了安全配置有两个文件,选择任意一个即可,但是注意的是:/etc/named.rfc1912.zones
要比/etc/named.conf
优先级要大!!!
好了,DNS 域间传送就先讲到这,之后学习到新的东西在继续写。