通常,大多數默認設置安裝的web服務器存在信息洩露,這其中之一就是PHP。PHP 是如今流行的服務端html嵌入式語言(之一?)。在如今這個充滿挑戰的時代,有許多攻擊者會嘗試發現你服務端的漏洞。因此,我會簡單描述如何在Linux服務器中隱藏PHP信息。
默認上expose_php默認是開的。關閉“expose_php”參數可以使php隱藏它的版本信息。
[root@centos66 ~]# vi /etc/php.ini在你的php.ini, 定位到含有expose_php的那行把On設成Off:
expose_php = Off在此之前,web服務器頭看上去就像這樣:
[root@centos66 ~]# curl -I http://www.ehowstuff.com/ HTTP/1.1 200 OK Server: nginx Content-Type: text/html; charset=UTF-8 Vary: Accept-Encoding X-Powered-By: PHP/5.3.3 X-Pingback: http://www.ehowstuff.com/xmlrpc.php Date: Wed, 11 Feb 2015 14:10:43 GMT X-Page-Speed: 1.9.32.2-4321 Cache-Control: max-age=0, no-cache
更改並重啟 Web 服務後,php就不會在web服務頭中顯示版本了:
HTTP/1.1 200 OK Server: nginx Content-Type: text/html; charset=UTF-8 Vary: Accept-Encoding X-Powered-By: PHP/5.3.3 X-Pingback: http://www.ehowstuff.com/xmlrpc.php Date: Wed, 11 Feb 2015 14:10:43 GMT X-Page-Speed: 1.9.32.2-4321 Cache-Control: max-age=0, no-cacheLCTT譯注:除了 PHP 的版本之外,Web 服務器也會默認洩露版本號。如果使用 Apache 服務器,請參照此文章關閉Apache 版本顯示;如果使用 Nginx 服務器,請在 http 段內加入
server_tokens off;
配置。以上修改請記得重啟相關服務。