區(qū)域傳送操作指的是一臺后備服務(wù)器使用來自主服務(wù)器的數(shù)據(jù)刷新自己的zone數(shù)據(jù)庫。這為運(yùn)行中的DNS服務(wù)提供了一定的冗余度,其目的是為了防止主域名服務(wù)器因意外故障變得不可用時(shí)影響到全局。一般來說,DNS區(qū)域傳送操作只在網(wǎng)絡(luò)里真的有后備域名DNS服務(wù)器時(shí)才有必要執(zhí)行,但許多DNS服務(wù)器卻被錯(cuò)誤地配置成只要有人發(fā)出請求,就會(huì)向?qū)Ψ教峁┮粋€(gè)zone數(shù)據(jù)庫的拷貝。如果所提供的信息只是與連到因特網(wǎng)上且具備有效主機(jī)名的系統(tǒng)相關(guān),那么這種錯(cuò)誤配置不一定是壞事,盡管這使得攻擊者發(fā)現(xiàn)潛在目標(biāo)要容易得多。真正的問題發(fā)生在一個(gè)單位沒有使用公用/私用DNS機(jī)制來分割外部公用DNS信息和內(nèi)部私用DNS信息的時(shí)候,此時(shí)內(nèi)部主機(jī)名和IP地址都暴露給了攻擊者。把內(nèi)部IP地址信息提供給因特網(wǎng)上不受信任的用戶,就像是把一個(gè)單位的內(nèi)部網(wǎng)絡(luò)完整藍(lán)圖或?qū)Ш綀D奉送給了別人。
在linux下檢查目標(biāo)站點(diǎn)的區(qū)域傳送漏洞:
dig NS linux.com
dig @doman.com linux.com AXFR ——用 dig 查看 zone 數(shù)據(jù)傳輸
在windows下檢測目標(biāo)站點(diǎn)的區(qū)域傳送漏洞:
nslookup
set type=soa or set type=NS
linux.com
server doman.com
ls -d linux.com >linux.txt
view linux.txt
解決方案:區(qū)域傳送是DNS常用的功能,區(qū)域傳送的漏洞也不是沒有辦法解決的,嚴(yán)格限制允許區(qū)域傳送的主機(jī)即可,例如一個(gè)主DNS服務(wù)器應(yīng)該只允許它的從DNS服務(wù)器執(zhí)行區(qū)域傳送的功能。
針對于bind軟件,可以通過allowe-transfer指令來控制,可以作為global選項(xiàng)或者zone選項(xiàng)的一個(gè)參數(shù),我們可以使用地址列表如下allowe-transfer {192.168.1.1; 172.24.123.253;};
但是使用基于地址的訪問控制列表可能會(huì)被某些“意志堅(jiān)定”黑客繞過,呵呵。最好的方法是使用TSIG key來嚴(yán)格定義區(qū)域傳送的關(guān)系,如下
allowe-transfer {key "dns1-slave1"; key "dns1-slave2";}.
設(shè)置方式為兩種:一種設(shè)置在options配置域;一種設(shè)置在zone配置域。優(yōu)先級為如果zone沒有進(jìn)行配置,則遵守options的設(shè)置。如果zone進(jìn)行了配置,則遵守zone的設(shè)置。