這篇文章主要介紹了在Apache上隱藏服務器簽名的方法,示例基於Debian系的Linux,需要的朋友可以參考下
透露網站服務器帶有服務器/PHP版本信息的簽名會帶來安全隱患,因為你基本上將你系統上的已知漏洞告訴給了攻擊者。因此,作為服務器加固的一個部分,強烈推薦你禁用所有網站服務器簽名。
禁用Apache網站服務器簽名
禁用Apache網站服務器簽名可以通過編輯Apache配置文件來實現。
在Debian,Ubunt或者Linux Mint上:
?
1 $ sudo vi /etc/apache2/apache2.conf在CentOS,Fedora,RHEL或者Arch Linux上:
?
1 $ sudo vi /etc/httpd/conf/httpd.conf將下面兩行添加到Apache配置文件底部。
復制代碼 代碼如下:
ServerSignature Off
ServerTokens Prod
然後重啟網站服務器以使修改生效:
?
1 2 3 $ sudo service apache2 restart (Debian, Ubuntu or Linux Mint) $ sudo service httpd restart (CentOS/RHEL 6) $ sudo systemctl restart httpd.service (Fedora, CentOS/RHEL 7, Arch Linux)第一行‘ServerSignature Off'使得Apache2網站服務器在所有錯誤頁面上隱藏Apache版本信息。
然而,若沒有第二行的‘ServerTokens Prod',Apache服務器將仍然在HTTP回應頭部包含詳細的服務器標記,這會洩漏Apache的版本號。
第二行‘ServerTokens Prod'所要做的是在HTTP響應頭中將服務器標記壓縮到最小。
因此,同時放置兩行時,Apache將不會在頁面中或者HTTP響應頭中洩漏版本信息。
隱藏PHP版本
另外一個潛在的安全威脅是HTTP響應頭中的PHP版本信息洩漏。默認情況下,Apache網站服務器通過HTTP響應頭中的“X-Powered-By”字段包含有PHP版本信息。如果你想要在HTTP頭部中隱藏PHP版本,請使用文本編輯器打開php.ini文件,找到“expose_php = On”這一行,將它改為“expose_php = Off”即可。
在Debian,Ubunt或者Linux Mint上:
?
1 $ sudo vi /etc/php5/apache2/php.ini在CentOS,Fedora,RHEL或者Arch Linux上:
?
1 2 3 $ sudo vi /etc/php.ini expose_php = Off最後,重啟Apache2網站服務器來重新加載已更新的PHP配置文件。
現在,你不會再看到帶有“X-Powered-By”字段的HTTP響應頭了。