Apache Web服務器安全配置全攻略
2024-08-27 18:25:30
供稿:網(wǎng)友
作為最流行的Web服務器,Apache Server提供了較好的安全特性,使其能夠應對可能的安全威脅和信息泄漏。
Apache 服務器的安全特性
1、 采用選擇性訪問控制和強制性訪問控制的安全策略
從Apache 或Web的角度來講,選擇性訪問控制DAC(Discretionary Access Control)仍是基于用戶名和密碼的,強制性訪問控制MAC(Mandatory Access Control)則是依據(jù)發(fā)出請求的客戶端的IP地址或所在的域號來進行界定的。對于DAC方式,如輸入錯誤,那么用戶還有機會更正,從新輸入正確的的密碼;如果用戶通過不了MAC關卡,那么用戶將被禁止做進一步的操作,除非服務器作出安全策略調(diào)整,否則用戶的任何努力都將無濟于事。
2、Apache 的安全模塊
Apache 的一個優(yōu)勢便是其靈活的模塊結(jié)構(gòu),其設計思想也是圍繞模塊(Modules)概念而展開的。安全模塊是Apache Server中的極其重要的組成部分。這些安全模塊負責提供Apache Server的訪問控制和認證、授權(quán)等一系列至關重要的安全服務。
mod_access模塊能夠根據(jù)訪問者的IP地址(或域名,主機名等)來控制對Apache服務器的訪問,稱之為基于主機的訪問控制。
mod_auth模塊用來控制用戶和組的認證授權(quán)(Authentication)。用戶名和口令存于純文本文件中。mod_auth_db和mod_auth_dbm模塊則分別將用戶信息(如名稱、組屬和口令等)存于Berkeley-DB及DBM型的小型數(shù)據(jù)庫中,便于管理及提高應用效率。
mod_auth_digest模塊則采用MD5數(shù)字簽名的方式來進行用戶的認證,但它相應的需要客戶端的支持。
mod_auth_anon模塊的功能和mod_auth的功能類似,只是它允許匿名登錄,將用戶輸入的E-mail地址作為口令。
SSL(Secure Socket Lager),被Apache所支持的安全套接字層協(xié)議,提供Internet上安全交易服務,如電子商務中的一項安全措施。通過對通訊字節(jié)流的加密來防止敏感信息的泄漏。但是,Apache的這種支持是建立在對Apache的API擴展來實現(xiàn)的,相當于一個外部模塊,通過與第三方程序的結(jié)合提供安全的網(wǎng)上交易支持。
Apache服務器的安全配置
Apache具有靈活的設置,所有Apache的安全特性都要經(jīng)過周密的設計與規(guī)劃,進行認真地配置才能夠?qū)崿F(xiàn)。Apache服務器的安全配置包括很多層面,有運行環(huán)境、認證與授權(quán)設置等。Apache的安裝配置和運行示例如下:
1、以Nobody用戶運行
一般情況下,Apache是由Root 來安裝和運行的。如果Apache Server進程具有Root用戶特權(quán),那么它將給系統(tǒng)的安全構(gòu)成很大的威脅,應確保Apache Server進程以最可能低的權(quán)限用戶來運行。通過修改httpd.conf文件中的下列選項,以Nobody用戶運行Apache 達到相對安全的目的。
User nobody
Group# -1
2、ServerRoot目錄的權(quán)限
為了確保所有的配置是適當?shù)暮桶踩模枰獓栏窨刂艫pache 主目錄的訪問權(quán)限,使非超級用戶不能修改該目錄中的內(nèi)容。Apache 的主目錄對應于Apache Server配置文件httpd.conf的Server Root控制項中,應為:
Server Root /usr/local/apache
3、SSI的配置
在配置文件access.conf 或httpd.conf中的確Options指令處加入Includes NO EXEC選項,用以禁用Apache Server 中的執(zhí)行功能。避免用戶直接執(zhí)行Apache 服務器中的執(zhí)行程序,而造成服務器系統(tǒng)的公開化。
Options Includes Noexec
4、阻止用戶修改系統(tǒng)設置
在Apache 服務器的配置文件中進行以下的設置,阻止用戶建立、修改 .htaccess文件,防止用戶超越能定義的系統(tǒng)安全特性。
AllowOveride None