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