隱藏apache和php的版本信息
web server避免一些不必要的麻煩,可以把apache和php的版本信息不顯示
隱藏 Apache 版本信息
/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf
引用:
ServerTokens ProductOnly
ServerSignature Off
重啟 apache
現在 http 頭裡面只看到:
Server: Apache
隱藏 PHP 版本
php.ini
引用:
expose_php On
改成
expose_php Off
重啟apache后,php版本在http頭中隱藏了。
詳解 :
為了防止某些別有用心的家伙窺視我們的服務器,應該做些什麼.
我們來看一下相關的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個閥門從而盡量減少敏感信息泄露的方法,並不會使你的服務器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕虫攻擊的風險。