apache 安全設置

一、確保你安裝的是最新的補丁

  如果門是敞開的話,在窗戶上加鎖就毫無意義。同樣道理,如果你沒有打補丁,繼續下面的操作就沒有什么必要。

  二、隱藏Apache的版本號及其它敏感信息

  默認情況下,很多Apache安裝時會顯示版本號及操作係統版本,甚至會顯示服務器上安裝的是什么樣的Apache模塊。這些信息可以為黑客所用,並且黑客還可以從中得知你所配置的服務器上的很多設置都是默認狀態。

  這裏有兩條語句,你需要添加到你的httpd.conf文件中:

  ServerSignature Off

  ServerTokens Prod

  ServerSignature出現在Apache所產生的像404頁面、目錄列表等頁面的底部。ServerTokens目錄被用來判斷Apache會在Server HTTP響應包的頭部填充什么信息。如果把ServerTokens設為Prod,那么HTTP響應包頭就會被設置成:

  Server:Apache

  如果你非常想嘗試其它事物,你可以通過編輯源代碼改成不是Apache的其它東西,或者你可以通過下面將要介紹的mod_security實現。

  三、確保Apache以其自身的用戶賬號和組運行

  有的Apache安裝過程使得服務器以nobody的用戶運行,所以,假定Apache和你的郵件服務器都是以nobody的賬號運行的,那么通過Apache發起的攻擊就可能同時攻擊到郵件服務器,反之亦然。

  User apache

  Group apache

  四、確保web根目錄之外的文件沒有提供服務

  我們不讓Apache訪問web根目錄之外的任何文件。假設你的所以web站點文件都放在一個目錄下(例如/web),你可以如下設置:

  Order Deny,Allow

  Deny from all

  Options None

  AllowOverride None

  Order Allow,Deny

  Allow from all

  注意,因為我們設置Opitins None 和AllowOverride None,這將關閉服務器的所有Option和Override。你現在必須明確把每個目錄設置成Option或者Override。
 五、關閉目錄瀏覽

  你可以在Directory標簽內用Option命令來實現這個功能。設置Option為None或者-Indexes。

  Options -Indexes

  六、關閉includes

  這也可以通過在Directory標簽內使用Option命令來實現。設置Option為None或者-Includes。

  Options -Includes

  七、關閉CGI執行程序

  如果你不用CGI,那么請把它關閉。在目錄標簽中把選項設置成None或-ExecCGI就可以:

  Options -ExecCGI

  八、禁止Apache遵循符號鏈接

  同上,把選項設置成None或-FollowSymLinks:

  Options -FollowSymLinks

  九、關閉多重選項

  如果想關閉所有選項,很簡單:

  Options None

  如果只想關係一些獨立的選項,則通過將Options做如下設置可實現:

  Options -ExecCGI -FollowSymLinks -Indexes

  十、關閉對.htaccess文件的支持

  在一個目錄標簽中實現:

  AllowOverride None

  如果需要重載,則保證這些文件不能夠被下載,或者把文件名改成非.htaccess文件。比如,我們可以改成.httpdoverride文件,然後像下面這樣阻止所有以.ht打頭的文件:

  AccessFileName .httpdoverride

  Order allow,deny

  Deny from all

  Satisfy All

  十一、運行mod_security

  Run mod_security是O’Reilly出版社出版的Apache Security一書的作者,Ivan Ristic所寫的一個非常好用的一個Apache模塊。可以用它實現以下功能:

  ·簡單過濾

  ·基於過濾的常規表達式

  ·URL編碼驗證

  ·Unicode編碼驗證

  ·審計

  ·空字節攻擊防止

  ·上載存儲限制

  ·服務器身份隱藏

  ·內置的Chroot支持

  ·更多其它功能

  十二、關閉任何不必要的模塊

  Apache通常會安裝幾個模塊,瀏覽Apache的module documentation,了解已安裝的各個模塊是做什么用的。很多情況下,你會發現並不需要激活那些模塊。

  找到httpd.conf中包含LoadModule的代碼。要關閉這些模塊,只需要在代碼行前添加一個#號。要找到正在運行的模塊,可以用以下語句:

  grep LoadModule httpd.conf

  以下模塊通常被激活而並無大用:mod_imap, mo_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex

轉自https://big5.chinaz.com:88/bbs.chinaz.com/Server/thread-1132002-1-1.html
創作者介紹
創作者 太陽派翠克的日誌 的頭像
evamax63

太陽派翠克的日誌

evamax63 發表在 痞客邦 留言(0) 人氣( 39 )