經過隱藏Nginx和PHP版本號防止黑客攻擊php
配置完一臺服務器後,並非就能夠高枕無憂了,前不久剛剛爆發的PHP 5.3.9版本的漏洞也搞得人心惶惶,因此說常常關注安全公告並及時升級服務器也是必要的。通常來講,黑客攻擊服務器的首要步驟就是收集信息,好比說你的軟件版本,這些將成爲下一步有針對性攻擊的依據。因此說必定程度的隱藏這些信息就顯得很是有必要了,本文將簡單介紹如何在網絡上隱藏Nginx版本號以及PHP的版本號。nginx
1.隱藏Nginx版本號安全
Nginx的版本號主要在兩個地方會有,一個是HTTP header,有個Server:nginx/1.x.x相似會暴露Web服務器所用軟件名稱以及版本號,這個也是大多數Web服務器最容易暴露版本號的地方,第二個地方是Nginx出錯頁面,好比404頁面沒有找到等,這是若是用戶沒有指定頁面的話,那麼Nginx本身的頁面會有版本戳記。服務器
不過幸運的是對於這兩個地方的版本號隱藏,Nginx都提供了簡單的辦法一步到位,參考server_tokens。經過在配置文件的http節配置server_tokens off來達到咱們目的。網絡
http {ide
# ...省略一些配置.net
server_tokens off;server
} token
最後別忘了使用命令nginx -s reload刷新當前配置。完成後你能夠查看全部頁面的響應頭或者錯誤頁,看看是否是隻看到nginx字樣而看不到版本號?ci
2.隱藏PHP的版本號
PHP容易暴露的版本號在什麼地方呢?其實也是在HTTP頭,以相似X-Powered-By: PHP/5.2.11這種形式存在,你們可能會想到會不會是Nginx問題,而去到Nginx裏面找相關配置,呵呵,其實這個是在PHP的配置文件php.ini裏改動,打開php.ini,找到下面敘述:
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = On
將expose_php = On改成expose_php = Off就搞定了!