Apache 安全配置方法
2024-08-27 18:25:05
供稿:網友
令Apache占領Web服務器半壁江山的一個重要原因就是它可以提供一個安全的Web操作環境。Apache團體為保證其安全性做了大量的工作。想當年,在此產品被發現存在一個安全缺陷時,Apache的開發人員就盡快地搞出了一個補丁。
然而,即管Apache已經堪稱安全的產品,如果你在構建你的服務器時沒有采取一些安全預防措施,這種Web服務器仍易于受到很多攻擊。
在本文中,筆者將為你提供10個技巧,借此你可以保護自己的Apache Web服務器免于受到許多攻擊。不過,必須謹記,你需要仔細地評估每一個技巧,以確保其適合于你的組織。
只安裝所需要的
Apache的一個最大的特點是其靈活性和大量的可選擇安裝模塊,這在涉及到安全問題時可成為一個極大的弱點。你安裝的越多,也就為潛在的攻擊者創造了越大的攻擊面。一個標準的Apache安裝包含20多個模塊,包括CGI特性,以及一些身份驗證機制。如果你不打算采用CGI,并且你只想采用靜態的Web 站點,不需要用戶身份驗證,你可能就不需要這些模塊所提供的任何服務,因此在安裝Apache時請禁用這些模塊。
如果你沿用了一個正在運行的Apache服務器,并且不想重新安裝它,就應當仔細檢查httpd.conf配置文件,查找以LoadModule開頭的行。請檢查Apache的文檔(也可以用Google、Yahoo等搜索),查找每個模塊的目的信息,找出那些你并不需要的模塊。然后,重新啟動 Apache。
暴露程度最小化
Apache易于安裝并且相當容易管理。不幸的是,許多Apache的安裝由于為完全的陌生者提供了關于自己服務器的太多"有幫助”的信息,例如 Apache的版本號和與操作系統相關的信息。通過這種信息,一個潛在的攻擊者就可以追蹤特定的可以影響你的系統的破壞性漏洞,特別是你沒有能夠保持所有補丁的更新的話情況更為嚴重。如此一來,攻擊者無需反復試驗就可以確切地知道你在運行什么,從而可以調整其攻擊方法。
要防止服務器廣播敏感信息,一定要保證將httpd.conf中的"ServerSignature”指令設置為"off”。一次默認的Apache安裝會將此指令設置為"off”,不過許多管理員卻啟用了它。
同樣地,禁用目錄瀏覽也是一個不錯的注意。在目錄瀏覽被啟用時,訪問一個并不包含其所需要文檔的目錄的用戶,會看到此目錄中完整的內容列表。無疑,你不應當將敏感材料以純文本的形式存儲到一個Web服務器上,除非你必須這樣做,你也不應該允許人們看到超過其需要的內容。
目錄瀏覽默認地是被啟用的。要禁用這個特性,應編輯http.conf文件,而且對每一個"Directory”指令,應清除"Indexs”。
例如,在筆者的做實驗用的Apache 2.2.4服務器上,這是默認的目錄命令:
復制代碼 代碼如下:
<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
</Directory>
清除Indexes后的樣子:
復制代碼 代碼如下:
<Directory "/usr/local/apache/htdocs">
Options FollowSymLinks
AllowOverrride None
Order allow,deny
Allow from all
</Directory>
你也可以保留Indexes指令,并用一個破折號引導,從而禁用此指令(也就是"-Indexes”)。
禁用符號連接追蹤
如果你是唯一一個校對Web內容的人員,而你在創建新的符號連接時又幾乎不犯錯誤,你可能不會擔心此措施。不過,如果你有很多人員能夠向你的站點增加內容,并非所有的人都像你一樣謹慎從事,那么就會有一種風險,即某個用戶可能偶然會創建一個符號連接指向你的文件系統的一部分,而你又確實不想讓人們看到這些文件。例如,如果你的Apache服務器的根目錄中的某人創建了一個指向 "/”文件夾的符號連接,你該怎么辦?