一個安全WEB服務器的安裝(6)_Windows教程
日志數據很重要,所有的從Web服務器和路由器所記錄的重要日志記錄都應該送到一個集中管理的日志主機,這個日志主機主要用來監視所有計算機的運行狀態。通過這種方法,攻擊者就就很難遁形滅跡了。
另外,將Solar Designer [13]設計的安全內核補丁集成到系統中是個很好的主意,有了這個安全補丁,利用緩沖區溢出做手腳的攻擊方式將變得更困難。
應該剝奪那些suid和sgid程序所具有的沒必要的過高特權。這可以通過將那些不再需要具有特權的程序逐個輸入到/etc/permissions.local然后手工去掉程序的授權(或啟動SuSEconfig)的方法實現。
這個工作直到沒有sgid程序并且僅僅有下面列出的少數幾個suid程序時結束:
-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
如果系統由幾個分區,通過使用mount選項ro(只讀)、nodev(無設備)、nosuid (沒有高特權的suid文件)和noexec (沒有可執行文件)顯著地提高系統的安全級別。
除此之外,可以使用ext2文件系統標志"append-only"和"immutable" (通過chattr命令設置) 定義內核能力,這樣就可以保護日志和引導文件等不被篡改。
如果服務器需要具有防止本地攻擊的能力,必須為LILO引導裝載器配備一個口令,這可以通過在/etc/lilo.conf文件的頂端輸入下面的腳本行實現:
password=something_difficult_to_guess
restricted
最后,Web服務器不僅僅只是Apache。通常要包括1到2個數據庫,還要引入一些附加的模塊和程序,或者需要激活其它一些服務(如Dns服務器)。Linux包過濾(參見第二步中的例子)可以方便有效地提供保護支持。一個稱為“隔離間”("compartment":可以從這里獲得)的程序支持chroot、特權分配以及Linux能力配置等任務。
當然,還可以做很多其它的事情,但我所能想到的只有這些了。
最后的提示
更新!一個沒有采用最新的安全補丁進行更新的系統會很快稱為攻擊者的目標。
已經完成配置安全系統所需的所有工作之后,要記住:CGI腳本將是最大的安全隱患。大多數成功的攻擊都是通過這些腳本實現的。簡明的建議是:最好使用那些公開發布并且已經被不同的網站使用了一段時間的CGI腳本;如果管理員不得已需要寫一些CGI腳本程序的話,這些程序應該由其它人對其安全因素進行例行檢查。
結論
一個非常安全且高可用的Web服務器——這似乎有些矛盾,但確實是很好的折中——能夠在短短45分鐘的時間內配置完。當然您可以通過更多的工作以提高系統的安全級別,但是這里配置的系統對大多數應用來說已經足夠了。
- 相關鏈接:
- 教程說明:
Windows教程-一個安全WEB服務器的安裝(6)
。