通常,大多數預設安裝的web伺服器存在資訊洩露,這其中之一就是PHP。 PHP 是現今流行的服務端html嵌入式語言(之一?)。在現今這個充滿挑戰的時代,有許多攻擊者會試圖發現你服務端的漏洞。因此,我會簡單描述如何在Linux伺服器中隱藏PHP資訊。
預設上expose_php預設是開的。關閉“expose_php”參數可以使php隱藏它的版本資訊。
[root@centos66 ~]# vi /etc/php.ini
[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: Type: text/html; charset=UTF-8
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3
X-Pingback: http://www.ehowstuff.com/xml
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 後,php就不會在web服務頭中顯示版本了:
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-88 Encoding
X-Powered-By: PHP/5.3.3
X-Pingback: http://www.ehowstuff.com/xmlrpc.php
Date: Wed, 11 Feb 2015 14:10:43 GMTMT X-Page-Speed: 1.9.32.2-4321
Cache-Control: max-age=0, no-cache
LCTT譯註:除了 PHP 的版本之外,Web 伺服器也會預設洩漏版本號。若使用 Apache 伺服器,請參考本文關閉Apache 版本顯示;如果使用 Nginx 伺服器,請在 http 段內加入server_tokens off; 設定。以上修改請記得重啟相關服務。