在之前已經(jīng)講過DNS server 安裝配置,那么今天來講一下DNS配置中可能存在的安全問題之一——DNS域間傳送。
下面我們通過實(shí)驗(yàn)來說明一下DNS域間傳送安全問題
step1.還是用我之前的搭建的DNS Server做實(shí)驗(yàn)
- 啟動DNS Server(Bind服務(wù))
[root@localhost ~]# service named start
- 首先我們不對配置文件做任何修改,nslookup測試一下

圖片.png
可以看到默認(rèn)域間策略是打開的,但有時(shí)候是關(guān)閉的,我的環(huán)境上測試是打開的。
step2.配置DNS域間傳送
- 一般DNS是公司重要的基礎(chǔ)性業(yè)務(wù),很多公司都會對dns進(jìn)行主備配置,也可以叫做主從配置,也就是需要dns服務(wù)器之間需要數(shù)據(jù)同步,這個(gè)時(shí)候就要需要打開域間策略,如下圖:
[root@localhost ~]# vim /etc/named.conf

圖片.png
- 配置完后重啟服務(wù)?。?!

圖片.png
- 然后再來測試

圖片.png
發(fā)現(xiàn)這樣配置域間策略是錯(cuò)誤的,很危險(xiǎn),原因就是上面配置的
allow-transfer { any; };這行配置打開DNS域間傳輸沒有錯(cuò),但是里面寫的是any;這個(gè)就不對了,這樣寫任何人都可以同步到你的DNS Server數(shù)據(jù)。正確配置應(yīng)該寫備DNS服務(wù)器的地址。
- 正確配置:我這就一個(gè)DNS Server ,就設(shè)置為只有本機(jī)可以訪問的到了。如下圖所示:

圖片.png
地址改為127.0.0.1 ,localhost也行,別漏掉最后的分號。
保存并退出,然后記得重啟服務(wù)。
[root@localhost ~]# service named restart
停止 named: [確定]
啟動 named: [確定]
[root@localhost ~]#
- 然后再測試

圖片.png
這次就發(fā)現(xiàn)Query refused拒絕查詢。
擴(kuò)展1:上面是使用nslookup工具來測試DNS域間傳送漏洞,然后再介紹一個(gè)dig工具(Linux下)也可以用來測試,測試方法如下:
[root@localhost ~]# dg @192.168.3.112 axfr zzqa.com

圖片.png
擴(kuò)展2:上面寫配置是在/etc/named.conf里面options部分配置,其實(shí)也可以在/etc/named.rfc1912.zones自定義的域里面配置,如下圖所示:

圖片.png
上面我說了安全配置有兩個(gè)文件,選擇任意一個(gè)即可,但是注意的是:/etc/named.rfc1912.zones要比/etc/named.conf優(yōu)先級要大?。?!
好了,DNS 域間傳送就先講到這,之后學(xué)習(xí)到新的東西在繼續(xù)寫。
檢測dns域傳送漏洞
- dig
dig @dns服務(wù)器 域名 axfr
- nslookup
1) nslookup #進(jìn)入交互式shell
2) server dns.xx.yy.zz #設(shè)定查詢將要使用的DNS服務(wù)器
3) ls xx.yy.zz #列出某個(gè)域中的所有域名
4) exit #退出