1. 程式人生 > >隱藏Apache的版本號及其它敏感資訊

隱藏Apache的版本號及其它敏感資訊

為了防止某些別有用心的傢伙窺視我們的伺服器,應該做些什麼.
我們來看一下相關的2個引數,分別為ServerTokens和ServerSignature,通過控制這2個閥門應該就能起到一些作用,比如我們可以在配置檔案中這麼寫:
ServerTokens Prod
ServerSignature Off

ServerTokens
用於控制伺服器是否相應來自客戶端的請求,向客戶端輸出伺服器系統型別或內建模組等重要的系統資訊。 在主配置檔案中提供全域性控制預設閥值為"Full"(ServerTokens Full),所以,如果你的Linux發行版本沒有更改過這個閥值的話,所有與你的系統有關的敏感資訊都會向全世界公開。比如RHEL會將該 閥值更改為"ServerTokens OS",而Debian依然使用預設的"Full"閥值
以apache-2.0.55為例,閥值可以設定為以下某項(後面為相對應的Banner Header): 
Prod

>>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.0.55
OS >>> Server: Apache/2.0.55 (Debian)
Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b

ServerSignature

控制由系統生成的頁面(錯誤資訊,mod_proxy ftp directory listing等等)的頁尾中如何顯示資訊。

  • 可在全域性設定檔案中控制,或是通過.htaccess檔案控制
  • 預設為"off"(ServerSignature Off),有些Linux發行版本可能會開啟這個閥門,比如Debian在預設的虛擬主機上預設將這個閥門設定為開放
  • 全域性閥門的閥值會被虛擬主機或目錄單位的配置檔案中的閥值所覆蓋,所以,必須確保這樣的事情不應該發生

可用的閥值為下面所示:
Off (default): 不輸出任何頁尾資訊 (如同Apache1.2以及更舊版本,用於迷惑)
On:輸出一行關於版本號以及處於執行中的虛擬主機的ServerName (2.0.44之後的版本,由ServerTokens負責是否輸出版本號)
EMail

: 建立一個傳送給ServerAdmin的"mailto"

注意*上述關於如何設定2個閥門從而儘量減少敏感資訊洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必儘快將系統升級,降低被蠕蟲攻擊的風險。