access.conf文件包含一些指令控制允許什么用戶訪問Apache目錄。應該把deny from all作為初始化指令,然后使用allow from指令打開訪問權限。你可以允許來自某個域、IP地址或者IP段的訪問。例如:
<directory /usr/local/http/docs/private>
<limit>
order deny,allow
deny from all
allow from sans.org
</limit>
</directory>
密碼保護
使用.htaccess文件,可以把某個目錄的訪問權限賦予某個用戶。系統管理員需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打開目錄的訪問控制。以下是一個.htaccess示例文件:
AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require foo <---一個有效的用戶名
然后,使用如下命令填加一個用戶:
# htpasswd -c /path/to/httpd/users foo
Apache日志文件
系統管理員可以使用日志格式指令來控制日志文件的信息。使用LogFormat "%a %l"指令,可以把發出HTTP請求瀏覽器的IP地址和主機名記錄到日志文件。出于安全的考慮,你至少應該那些驗證失敗的WEB用戶,在http.conf文件中加入LogFormat "%401u"指令可以實現這個目的。這個指令還有其它的許多參數,用戶可以參考Apache的文檔。另外,Apache的錯誤日志文件對于系統管理員來說也是非常重要的,錯誤日志文件中包括服務器的啟動、停止以及CGI執行失敗等信息。
安全相關的指令
在Apache配置文件中,有一些安全相關的指令可以使用。
使用以下指令可以幫助你減小拒絕服務的威脅:
LimitRequestbody: 數字參數,控制HTTP請求的大小。
LimitRequestFields: 數字參數,控制請求頭的數目。
KeepAlive: 設置連接的生存期。
KeepAliveTimeout: 限制等待請求的時間。
使用以下指令可以幫助你叫囂緩沖區溢出的危險:
LimitRequestFieldSize: 限制每個請求頭的大小。
LimitRequestLine: 限制每個請求行的大小。
CGI(ommon Gateway Interface,通用網關接口)的安全威脅
CGI的安全性非常重要,攻擊者可以利用CGI的缺陷獲得系統信息、執行系統命令、占用系統資源。如果一個CGI程序使用靜態分配的內存,就可能為緩沖區溢出攻擊提供機會。為了減少這種風險,程序員應該在CGI代碼中使用動態分配內存。除了CGI編寫人員應該注意外,系統管理員可以采取對CGI進行封裝(例如:suEXEC或者CGI Wrap)的辦法加強CGI的安全性。通過這種方式可以使CGI程序以某個獨立的用戶權限運行,即使發生緩沖區溢出,也只影響那個用戶的目錄/文件。
新聞熱點
疑難解答