如何关闭Apache的服务器签名?

2014-10-10 宇易网络 4683

只要网站服务器返回错误页面,比如404、403等页面,页面底部就会出现网站服务器的签名信息(比如Apache的版本号和操作系统的信息)。此外,打开任何php页面,网站服务器会返回php的版本信息。显示了网站服务器的版本信息和php的版本信息,相当于把自己服务器的信息告诉了攻击者,这给网站的安全带来了很大的隐患,所以泰州网站建设宇易网络建议将服务器签名信息关闭,这是服务器加固的一个措施。

带有签名

禁用Apache服务器签名

只要编辑Apache配置文件,就可以禁用Apache服务器签名。

在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

然后重启网站服务器,以激活变更:

$ 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版本信息。

Curl显示Apache版本信息

不过,要是没有第二行“ServerTokens Prod”,Apache服务器还是会将详细的服务器令牌添加到HTTP响应头,这会显示Apache版本号。

Curl不显示Apache版本信息

隐藏PHP版本 

另一个潜在的安全威胁是HTTP响应头中泄露的PHP版本信息。默认情况下,Apache网站服务器通过HTTP响应头里面的“X- Powered-By”字段,添加PHP版本信息。如果你想隐藏HTTP响应头中的PHP版本,不妨用文本编辑工具打开php.ini文件,找到 “expose_php = On”,将其改成“expose_php = Off”。

带有php的版本信息

在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网站服务器,重新装入更新后的PHP配置文件。

没有php的版本信息

现在你再也看不到HTTP响应头里面的“X-Powered-By”字段了。


相关文章

展开
联系电话:0523-82182818 客服QQ:1098369