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