
日期:2008-06-18 作者:喜騰小二 來源:PHPChina
Apache伺服器是眾多WEB伺服器中,一個設計上較安全的程式;但它也同樣存在諸多缺陷,比如可以使用HTTP協定進行拒絕訪問攻擊等。因此合理的設定是保證Apache服務免遭攻擊的首要工作。
一. Apache服務缺陷分析
緩衝區溢位。攻擊者利用程式編寫的一些缺陷,使程式偏離正常的流程;接着發送一個超長請求使緩衝區溢位。一旦係統緩衝區溢位,攻擊者就可對攻擊端使用各種惡意指令了。
輕易獲得root授權權。該缺陷主要是因為Apache伺服器一般以root授權權執行,攻擊者會透過此途徑獲得root授權權,進而控制整個Apache係統。
“拒絕服務”(DoS)攻擊。它主要是存在於Apache的chunk encoding中,這是一個HTTP協定定義的用於接受web使用者所提交資料的功能。這會造成Apache對係統資源需求的劇增,並最終導緻係統變慢乃至癱瘓。
二. 主Apache服務配置參考
Apache服務除了主配置檔案“httpd.conf”外,還有兩個重要的配置檔案,它們分別是:
srm.conf 填加資源檔案
access.conf 設定檔案的訪問授權權
三個檔案都位於/usr/local/apache/conf目錄下,大部分服務配置都在這三個文
件裡完成。
1.配置Apache伺服器的目錄安全認證。
在Apache Server中是允許使用 .htaccess做目錄安全保護的,慾讀取這保護的目錄需要先鍵入正確使用者帳號與密碼。這樣可做為專門管理網頁存放的目錄或做為會員區等。或者在配置檔案“httpd.conf”中加入以下內容也可達到目的:
options indexes followsymlinks
allowoverride authconfig
order allow,deny
allow from all
2.合理設定訪問控制。
主要設定配置檔案“access.conf”。它包含一些指令控制比如允許什麼使用者訪問Apache目錄等。可以透過以下舉例的設定來允許來自某個域、某個IP地址或者IP段的訪問。
order deny,allow
deny from all
allow from safechina.net
解釋:在此配置指令中,將“deny from all”設為初始化指令,再使用“allow from”指令來開啟訪問授權權。
3.合理設定密碼保護。
密碼保護問題是任何程式、任何係統都要注意的問題。在Apache服務環境下,可以在“httpd.conf”或“srm.conf”配置檔案中使用“AccessFileName”指令開啟目錄的訪問控制。舉例如下:
AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require Phoenix
# htpasswd -c /path/to/httpd/users Phoenix #增加一個使用者
Apache是一款非常優秀的伺服器,只要能夠正確配置和維護好Apache伺服器,一定會感受到Apache服務所帶來的吸引力。總的說來,在Apache的安裝維護中應注意以下方麵的問題:
檢查檔案和目錄的授權權是否恰當。
httpd.conf、srm.conf和access.conf這三個配置檔案設定是否恰當。
對某些需要特別保護的目錄使用密碼保護機制(.htaccess)。
讓伺服器日誌檔案盡可能的詳細記錄資訊。
對CGI指令檔進行封裝,如果CGI指令檔使用的是Perl編寫,一定要詳細檢查其安全性。
使用TCP Wrappers和Tripwire安全工俱。其中“TCP Wrappers”可以限制Telnet和FTP的訪問授權權;而“Tripwire”是一個資料完整性監測工俱,可以使用它來即時監視係統是否被變更。