建立安全的DNS服務(wù)器_第1頁
建立安全的DNS服務(wù)器_第2頁
建立安全的DNS服務(wù)器_第3頁
建立安全的DNS服務(wù)器_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、建立安全的DNS服務(wù)器  和其它大型軟件一樣,BIND(DNS服務(wù)器)也因其體積龐大和功能繁雜而存在許多問題。因此針對(duì)BIND安全漏洞的系統(tǒng)入侵?jǐn)?shù)量也在大幅度上升,最嚴(yán)重的甚至可獲取目標(biāo)主機(jī)的所有遠(yuǎn)程控制權(quán)。由于DNS服務(wù)器主機(jī)對(duì)網(wǎng)絡(luò)系統(tǒng)有著很大的影響,如何避免這些系統(tǒng)入侵也變得至關(guān)重要了。 這篇短文的主旨是講述如何利用chroot()環(huán)境在RedHat Linux(或類似系統(tǒng))中建立安全的BIND 8.x服務(wù)器。本文內(nèi)容主要來自于Adam Shostack和他在這方面的文章(Solaris版本)。 步驟一:軟件獲取和安裝 請(qǐng)到ISC FTP站點(diǎn)下載BIND的最新版本(本文內(nèi)容在BI

2、ND 8.x版本中經(jīng)過測(cè)試)。 到Obtuse System FTP站點(diǎn)下載本文必需的免費(fèi)軟件:holelogd(及其它有用的工具)。該軟件用于在chroot環(huán)境中建立/dev/log套接字(socket),從而使syslogd能夠記錄named進(jìn)程的日志。OpenBSD系統(tǒng)的syslogd已內(nèi)建了這一功能("syslogd -a /chroot/dev/log"),但Linux系統(tǒng)尚未實(shí)現(xiàn)這一功能。Holelogd軟件就是用來模仿OpenBSD的這個(gè)功能。 按照軟件文檔安裝holelogd(通常被安裝到/usr/local/sbin)。 步驟二:構(gòu)造靜態(tài)(static)的

3、named和named-xfer二進(jìn)制文件 在編譯和安裝后,你需要構(gòu)造可執(zhí)行文件的靜態(tài)鏈接版本。只要對(duì)%BIND%/src/port/linux目錄下的Makefile.set文件稍加修改后即可。 修改文件內(nèi)容: "CDEBUG= -O2 -g" 替換為: "CDEBUG= -O2 -static" 切換到BIND的源代碼路徑,執(zhí)行"make clean"和"make"命令。在下面的步驟中將會(huì)把這些文件復(fù)制到chroot()目錄下。 本步驟構(gòu)造的靜態(tài)鏈接執(zhí)行文件在運(yùn)行時(shí)無需裝載動(dòng)態(tài)鏈接庫。在chroot()環(huán)境中,

4、這種“獨(dú)立”可執(zhí)行文件可避免出現(xiàn)缺少鏈接庫文件問題。它在chroot()環(huán)境中無需任何靜態(tài)鏈接庫,可使服務(wù)配置簡單化。其它所有的網(wǎng)絡(luò)守護(hù)進(jìn)程也可以編譯和使用這種靜態(tài)鏈接版本。 步驟三:構(gòu)造BIND目錄 為chroot()環(huán)境構(gòu)造BIND目錄。這個(gè)目錄將在chroot()環(huán)境中被BIND當(dāng)作系統(tǒng)根目錄。 /dev /etc /namedb /usr /sbin /var /run 需要復(fù)制以下文件到其下的相應(yīng)子目錄中,和進(jìn)行一些必要的處理: / 無 /etc 復(fù)制系統(tǒng)/etc目錄下的named.conf文件 復(fù)制系統(tǒng)/etc目錄下的localtime文件(為syslog提供正確的named日志記

5、錄時(shí)間) 創(chuàng)建僅包含named GID的/etc/group文件 /etc/namedb 復(fù)制系統(tǒng)/etc/namedb目錄下的所有“區(qū)(zone)”數(shù)據(jù)庫和文件 /dev mknod ./null c 1 3; chmod 666 null(請(qǐng)參閱相應(yīng)版本的mknod命令) /usr/sbin 復(fù)制系統(tǒng)%BIND%/src/bin/named目錄和系統(tǒng)%BIND%/src/bin/named-xfer目錄下的named和named-xfer二進(jìn)制文件(靜態(tài)鏈接版本) /var/run 無 另外還可根據(jù)需要指定日志記錄目錄(如/var/log)。 步驟四:添加named用戶和組 在/etc/p

6、asswd和/etc/group文件中添加named用戶和組。它們是DNS服務(wù)器運(yùn)行時(shí)的UID/GID。 此時(shí),你可以到chroot環(huán)境中執(zhí)行"chown -R d /etc/namedb"命令。這樣當(dāng)你向系統(tǒng)發(fā)送中斷信號(hào)(kill -INT )時(shí),named進(jìn)程能夠保存服務(wù)器緩存和統(tǒng)計(jì)信息。如果該目錄為root所有則named進(jìn)程無法將輸出寫到目錄中,但不會(huì)影響named服務(wù)器功能。另一個(gè)選擇是僅改變目錄權(quán)限(使named用戶具有寫權(quán)限),而屬主仍然是root。這種方法也是可行的,但必須小心設(shè)置,確保其它用戶不會(huì)修改named記錄! * 重要警告* 不

7、要用一個(gè)已存在的UID/GID(如"nobody")運(yùn)行named。記住,以chroot環(huán)境中使用任何已存在的UID/GID都可能會(huì)影響到服務(wù)的安全性。必須養(yǎng)成在chroot環(huán)境中為每一個(gè)守護(hù)進(jìn)程提供獨(dú)立的UID/GID的習(xí)慣。 步驟五:編輯啟動(dòng)腳本 Linux使用SYS V風(fēng)格的init文件,所以有幾個(gè)地方都可以放置運(yùn)行named的命令。(大多數(shù)情況下)最好將named初始化腳本放置到/etc/rc.d/init.d/named中。在其中你會(huì)找到有關(guān)named啟動(dòng)的那一節(jié)內(nèi)容。我們需要添加和修改其中的某些行。 1、在運(yùn)行named前插入一行以啟動(dòng)holelogd。需要向h

8、olelogd提供遠(yuǎn)程套接字 位置的參數(shù),它應(yīng)該是在上面步驟中創(chuàng)建的chroot named dev目錄。命令行 內(nèi)容如下: # Start daemons. echo -n "Staring holelogd: " daemon /usr/local/sbin/holelogd /chroot/named/dev/log echo echo -n "Starting named: " daemon named echo touch /var/lock/subsys/named ; 2、另外還需要修改BIND的啟動(dòng)參數(shù)。BIND 8.x版本允許指定運(yùn)行用

9、戶ID和組ID, 它也應(yīng)該是在上面步驟中特別創(chuàng)建的UID/GID: # Start daemons. echo -n "Staring holelogd: " daemon /usr/local/sbin/holelogd /chroot/named/dev/log echo echo -n "Starting named: " daemon /chroot/named/usr/sbin/named -u named -g named -t /chroot/named echo touch /var/lock/subsys/named ; 3、named

10、附帶的"ndc"腳本可用于控制named的工作。需要編輯這個(gè)文件以將PID 文件位置從/var/run/named.pid修改為/chroot/named/var/run/named.pid。 步驟六:服務(wù)器測(cè)試 輸入如下命令啟動(dòng)holelogd進(jìn)程 /usr/local/sbin/holelogd /chroot/named/dev/log 進(jìn)入/chroot/named/dev/目錄并輸入ls -al。應(yīng)該得到與下面類似的輸出: srw-rw-rw- 1 root wheel 0 Jan 01 12:00 log 設(shè)定的"s"位指示這是一個(gè)套接字(socket)文件。chroot()環(huán)境中的named進(jìn)程將通過該套接字與syslog通訊。 現(xiàn)在輸入: /chroot/named/usr/sbin/named -u named -g named -t /chroot/named 如果一切正常,named進(jìn)程將啟動(dòng),日志文件將記錄named服務(wù)器"Ready to answer queries."。 進(jìn)行適當(dāng)?shù)腄NS測(cè)試以確保服務(wù)器能正確工作,然后重新啟動(dòng)系統(tǒng)并檢驗(yàn)所有配置。BIND正常啟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論