<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 建立安全的DNS服務(wù)器

建立安全的DNS服務(wù)器

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

和其它大型軟件一樣,BIND(DNS服務(wù)器)也因其體積龐大和功能繁雜而存在許多問(wèn)題。因此針對BIND安全漏洞的系統入侵數量也在大幅度上升,最嚴重的甚至可獲取目標主機的所有遠程控制權。由于DNS服務(wù)器主機對網(wǎng)絡(luò )系統有著(zhù)很大的影響,如何避免這些系統入侵也變得至關(guān)重要了。

本文引用地址:http://dyxdggzs.com/article/201609/304897.htm

這篇短文的主旨是講述如何利用chroot()環(huán)境在RedHat Linux(或類(lèi)似系統)中建立安全的BIND 8.x服務(wù)器。本文內容主要來(lái)自于A(yíng)dam Shostack和他在這方面的文章(Solaris版本)。

步驟一:軟件獲取和安裝

請到ISC FTP站點(diǎn)下載BIND的最新版本(本文內容在BIND 8.x版本中經(jīng)過(guò)測試)。

到Obtuse System FTP站點(diǎn)下載本文必需的免費軟件:holelogd(及其它有用的工具)。該軟件用于在chroot環(huán)境中建立/dev/log套接字(socket),從而使syslogd能夠記錄named進(jìn)程的日志。OpenBSD系統的syslogd已內建了這一功能(syslogd -a /chroot/dev/log),但Linux系統尚未實(shí)現這一功能。Holelogd軟件就是用來(lái)模仿OpenBSD的這個(gè)功能。

按照軟件文檔安裝holelogd(通常被安裝到/usr/local/sbin)。

步驟二:構造靜態(tài)(static)的named和named-xfer二進(jìn)制文件

在編譯和安裝后,你需要構造可執行文件的靜態(tài)鏈接版本。只要對%BIND%/src/port/linux目錄下的Makefile.set文件稍加修改后即可。

修改文件內容:

'CDEBUG= -O2 -g'

替換為:

'CDEBUG= -O2 -static'

切換到BIND的源代碼路徑,執行make clean和make命令。在下面的步驟中將會(huì )把這些文件復制到chroot()目錄下。

本步驟構造的靜態(tài)鏈接執行文件在運行時(shí)無(wú)需裝載動(dòng)態(tài)鏈接庫。在chroot()環(huán)境中,這種“獨立”可執行文件可避免出現缺少鏈接庫文件問(wèn)題。它在chroot()環(huán)境中無(wú)需任何靜態(tài)鏈接庫,可使服務(wù)配置簡(jiǎn)單化。其它所有的網(wǎng)絡(luò )守護進(jìn)程也可以編譯和使用這種靜態(tài)鏈接版本。

步驟三:構造BIND目錄

為chroot()環(huán)境構造BIND目錄。這個(gè)目錄將在chroot()環(huán)境中被BIND當作系統根目錄。

/dev

/etc

/namedb

/usr

/sbin

/var

/run

需要復制以下文件到其下的相應子目錄中,和進(jìn)行一些必要的處理:

/

無(wú)

/etc

復制系統/etc目錄下的named.conf文件

復制系統/etc目錄下的localtime文件(為syslog提供正確的named日志記錄時(shí)間)

創(chuàng )建僅包含named GID的/etc/group文件

/etc/namedb

復制系統/etc/namedb目錄下的所有“區(zone)”數據庫和文件

/dev

mknod ./null c 1 3; chmod 666 null(請參閱相應版本的mknod命令)

/usr/sbin

復制系統%BIND%/src/bin/named目錄和系統%BIND%/src/bin/named-xfer目錄下的named和named-xfer二進(jìn)制文件(靜態(tài)鏈接版本)

/var/run

無(wú)

另外還可根據需要指定日志記錄目錄(如/var/log)。

步驟四:添加named用戶(hù)和組

在/etc/passwd和/etc/group文件中添加named用戶(hù)和組。它們是DNS服務(wù)器運行時(shí)的UID/GID。

此時(shí),你可以到chroot環(huán)境中執行chown -R named.named /etc/namedb命令。這樣當你向系統發(fā)送中斷信號(kill -INT )時(shí),named進(jìn)程能夠保存服務(wù)器緩存和統計信息。如果該目錄為root所有則named進(jìn)程無(wú)法將輸出寫(xiě)到目錄中,但不會(huì )影響n(yōu)amed服務(wù)器功能。另一個(gè)選擇是僅改變目錄權限(使named用戶(hù)具有寫(xiě)權限),而屬主仍然是root。這種方法也是可行的,但必須小心設置,確保其它用戶(hù)不會(huì )修改named記錄!

*** 重要警告***

不要用一個(gè)已存在的UID/GID(如nobody)運行named。記住,以chroot環(huán)境中使用任何已存在的UID/GID都可能會(huì )影響到服務(wù)的安全性。必須養成在chroot環(huán)境中為每一個(gè)守護進(jìn)程提供獨立的UID/GID的習慣。

步驟五:編輯啟動(dòng)腳本

Linux使用SYS V風(fēng)格的init文件,所以有幾個(gè)地方都可以放置運行named的命令。(大多數情況下)最好將named初始化腳本放置到/etc/rc.d/init.d/named中。在其中你會(huì )找到有關(guān)named啟動(dòng)的那一節內容。我們需要添加和修改其中的某些行。

1、在運行named前插入一行以啟動(dòng)holelogd。需要向holelogd提供遠程套接字

位置的參數,它應該是在上面步驟中創(chuàng )建的chroot named dev目錄。命令行

內容如下:

# 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)參數。BIND 8.x版本允許指定運行用戶(hù)ID和組ID,

它也應該是在上面步驟中特別創(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附帶的ndc腳本可用于控制named的工作。需要編輯這個(gè)文件以將PID

文件位置從/var/run/named.pid修改為/chroot/named/var/run/named.pid。

步驟六:服務(wù)器測試

輸入如下命令啟動(dòng)holelogd進(jìn)程

/usr/local/sbin/holelogd /chroot/named/dev/log

進(jìn)入/chroot/named/dev/目錄并輸入ls -al。應該得到與下面類(lèi)似的輸出:

srw-rw-rw- 1 root wheel 0 Jan 01 12:00 log

設定的s位指示這是一個(gè)套接字(socket)文件。chroot()環(huán)境中的named進(jìn)程將通過(guò)該套接字與syslog通訊。

現在輸入:

/chroot/named/usr/sbin/named -u named -g named -t /chroot/named

如果一切正常,named進(jìn)程將啟動(dòng),日志文件將記錄named服務(wù)器Ready to answer queries.。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>