如何關(guān)閉Apache網(wǎng)站服務(wù)器上的服務(wù)器簽名?
譯文有讀者提問,只要Apache2網(wǎng)站服務(wù)器返回出錯頁面(比如404 not found或403 access forbidden pages),它就會在頁面底部顯示網(wǎng)站服務(wù)器簽名(比如Apache版本號和操作系統(tǒng)信息)。此外,當(dāng)Apache2網(wǎng)站服務(wù)器打開任何PHP頁面時,同樣會顯示PHP版本信息。該如何關(guān)閉Apache2網(wǎng)站服務(wù)器中的這些網(wǎng)站服務(wù)器簽名?
顯示網(wǎng)站服務(wù)器簽名以及服務(wù)器/PHP版本信息可能是個安全風(fēng)險,因為你無異于將系統(tǒng)的已知安全漏洞告訴給了攻擊者。因而,建議你禁用所有的網(wǎng)站服務(wù)器簽名,這是服務(wù)器加固方法的一部分。
禁用Apache網(wǎng)站服務(wù)器簽名
只要編輯Apache配置文件,就可以禁用Apache網(wǎng)站服務(wù)器簽名。
在Debian、Ubuntu或Linux Mint上:
$ sudo vi /etc/apache2/apache2.conf
在CentOS、Fedora、RHEL或Arch Linux上:
$ sudo vi /etc/httpd/conf/httpd.conf
將下面這兩行添加到Apache配置文件的末尾處:
ServerSignature Off
ServerTokens Prod
然后重啟網(wǎng)站服務(wù)器,以激活變更:
$ 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網(wǎng)站服務(wù)器隱藏任何出錯頁面上的Apache版本信息。
不過,要是沒有第二行“ServerTokens Prod”,Apache服務(wù)器還是會將詳細(xì)的服務(wù)器令牌添加到HTTP響應(yīng)頭,這會顯示Apache版本號。
第二行“ServerTokens Prod”的作用是,抑制HTTP響應(yīng)頭中的服務(wù)器令牌,確保顯示的信息盡可能少。
所以有了這兩行,Apache就會不在網(wǎng)頁或HTTP響應(yīng)頭中顯示Apache版本信息。
隱藏PHP版本
另一個潛在的安全威脅是HTTP響應(yīng)頭中泄露的PHP版本信息。默認(rèn)情況下,Apache網(wǎng)站服務(wù)器通過HTTP響應(yīng)頭里面的“X-Powered-By”字段,添加PHP版本信息。如果你想隱藏HTTP響應(yīng)頭中的PHP版本,不妨用文本編輯工具打開php.ini文件,找到“expose_php = On”,將其改成“expose_php = Off”。
在Debian、Ubuntu或Linux Mint上:
$ sudo vi /etc/php5/apache2/php.ini
在CentOS、Fedora、RHEL或Arch Linux上:
$ sudo vi /etc/php.ini expose_php = Off
最后,重啟Apache2網(wǎng)站服務(wù)器,重新裝入更新后的PHP配置文件。
現(xiàn)在你再也看不到HTTP響應(yīng)頭里面的“X-Powered-By”字段了。
英文:http://ask.xmodulo.com/turn-off-server-signature-apache-web-server.html