日志數(shù)據(jù)很重要,所有的從Web服務(wù)器和路由器所記錄的重要日志記錄都應(yīng)該送到一個(gè)集中管理的日志主機(jī),這個(gè)日志主機(jī)主要用來(lái)監(jiān)視所有計(jì)算機(jī)的運(yùn)行狀態(tài)。通過(guò)這種方法,攻擊者就就很難遁形滅跡了。
另外,將Solar Designer [13]設(shè)計(jì)的安全內(nèi)核補(bǔ)丁集成到系統(tǒng)中是個(gè)很好的主意,有了這個(gè)安全補(bǔ)丁,利用緩沖區(qū)溢出做手腳的攻擊方式將變得更困難。
應(yīng)該剝奪那些suid和sgid程序所具有的沒(méi)必要的過(guò)高特權(quán)。這可以通過(guò)將那些不再需要具有特權(quán)的程序逐個(gè)輸入到/etc/permissions.local然后手工去掉程序的授權(quán)(或啟動(dòng)SuSEconfig)的方法實(shí)現(xiàn)。
這個(gè)工作直到?jīng)]有sgid程序并且僅僅有下面列出的少數(shù)幾個(gè)suid程序時(shí)結(jié)束:
-rwsr-xr-x 1 root shadow 27920 Mar 11 11:50 /usr/bin/passwd
-rwsr-x--- 1 root trusted 56600 Mar 11 18:41 /usr/bin/sudo
-rwsr-xr-x 1 root root 6132 Mar 11 09:36 /usr/lib/pt_chown
如果系統(tǒng)由幾個(gè)分區(qū),通過(guò)使用mount選項(xiàng)ro(只讀)、nodev(無(wú)設(shè)備)、nosuid (沒(méi)有高特權(quán)的suid文件)和noexec (沒(méi)有可執(zhí)行文件)顯著地提高系統(tǒng)的安全級(jí)別。
除此之外,可以使用ext2文件系統(tǒng)標(biāo)志"append-only"和"immutable" (通過(guò)chattr命令設(shè)置) 定義內(nèi)核能力,這樣就可以保護(hù)日志和引導(dǎo)文件等不被篡改。
如果服務(wù)器需要具有防止本地攻擊的能力,必須為L(zhǎng)ILO引導(dǎo)裝載器配備一個(gè)口令,這可以通過(guò)在/etc/lilo.conf文件的頂端輸入下面的腳本行實(shí)現(xiàn):
password=something_difficult_to_guess
restricted
最后,Web服務(wù)器不僅僅只是Apache。通常要包括1到2個(gè)數(shù)據(jù)庫(kù),還要引入一些附加的模塊和程序,或者需要激活其它一些服務(wù)(如Dns服務(wù)器)。Linux包過(guò)濾(參見(jiàn)第二步中的例子)可以方便有效地提供保護(hù)支持。一個(gè)稱(chēng)為“隔離間”("compartment":可以從這里獲得)的程序支持chroot、特權(quán)分配以及Linux能力配置等任務(wù)。
當(dāng)然,還可以做很多其它的事情,但我所能想到的只有這些了。
最后的提示
更新!一個(gè)沒(méi)有采用最新的安全補(bǔ)丁進(jìn)行更新的系統(tǒng)會(huì)很快稱(chēng)為攻擊者的目標(biāo)。
已經(jīng)完成配置安全系統(tǒng)所需的所有工作之后,要記住:CGI腳本將是最大的安全隱患。大多數(shù)成功的攻擊都是通過(guò)這些腳本實(shí)現(xiàn)的。簡(jiǎn)明的建議是:最好使用那些公開(kāi)發(fā)布并且已經(jīng)被不同的網(wǎng)站使用了一段時(shí)間的CGI腳本;如果管理員不得已需要寫(xiě)一些CGI腳本程序的話(huà),這些程序應(yīng)該由其它人對(duì)其安全因素進(jìn)行例行檢查。
結(jié)論
一個(gè)非常安全且高可用的Web服務(wù)器――這似乎有些矛盾,但確實(shí)是很好的折中――能夠在短短45分鐘的時(shí)間內(nèi)配置完。當(dāng)然您可以通過(guò)更多的工作以提高系統(tǒng)的安全級(jí)別,但是這里配置的系統(tǒng)對(duì)大多數(shù)應(yīng)用來(lái)說(shuō)已經(jīng)足夠了。
新聞熱點(diǎn)
疑難解答
圖片精選