修改設定,隱藏版本提高伺服器安全性
之前有提到有關如何設定META TAG,管理你的網站可見度,今天要再跟大家介紹的是一些簡單的伺服器軟體設定來隱藏軟體版本資訊,防止針對釋出版本漏洞的攻擊,針對Apache與Nginx。
何謂釋出版本漏洞攻擊?
這是指,不論是免費還是付費軟體程式,都可能會有後期發現的漏洞,而因為舊版會引發安全性問題,發送版本更新的訊息給客戶或使用者。
然而這種方式會被某些不肖人士利用,例如如果我今天知道你的伺服器舊版本是2.3.0,Apache推出了新版本2.3.1的更新,這時Apache就會列出release notes,說明他們修正了甚麼問題,因此版本沒有更新,且又有放出伺服器版本資訊,就有可能在釋出的第一時間被針對修正的問題攻擊。
因為上述被攻擊的原因,所以才在這裡簡單介紹如何隱藏伺服器版本資訊,至少不會曝光版本,讓伺服器變成很明確的目標,一般建議網站伺服器安裝啟用後就要盡快修改此項設定。
Apache的設定檔是調整隱藏Apache的版本,而PHP版本的隱藏也是針對Apache環境下的PHP。
Nginx只需要隱藏Nginx版本,不會顯示PHP的版本資訊。
隱藏Apache版本資訊:
請先找到您的Apache設定檔,
apache1設定檔名是:httpd.conf,位置在/etc/httpd/
apache2設定檔名是:apache2.conf,位置在/etc/apache2/
請增加或取消註解,如下方的設定:
設定檔
… ServerTokens ProductOnly ServerSignature Off ...
隱藏PHP版本資訊(僅針對Apache環境):
設定檔位置在,
/etc/php5/apache2/php.ini
請增加或取消註解,如下方的設定:
設定檔
… expose_php = Off ...
Apache環境下修改完設定檔,記得reload來更新設定:
指令
/etc/init.d/httpd reload 或 /etc/init.d/apache2 reload
隱藏Nginx版本資訊:
設定檔位置在,
/etc/nginx/nginx.conf
請增加或取消註解,如下方的設定:
設定檔
… server_tokens off; ...
Nginx環境下修改完設定檔,記得reload來更新設定:
指令
/etc/init.d/nginx reload 或 service nginx reload
參考資料:
http://www.nginxtips.com/how-to-hide-nginx-version/
http://www.ducea.com/2006/06/15/apache-tips-tricks-hide-apache-software-version/
http://www.ducea.com/2006/06/16/apache-tips-tricks-hide-php-version-x-powered-by/
我要留言