在Apache上隐藏服务器签名的方法

时间:2022-04-17 23:42:15

透露网站服务器带有服务器/php版本信息的签名会带来安全隐患,因为你基本上将你系统上的已知漏洞告诉给了攻击者。因此,作为服务器加固的一个部分,强烈推荐你禁用所有网站服务器签名。

在Apache上隐藏服务器签名的方法

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

在Apache上隐藏服务器签名的方法

然而,若没有第二行的‘servertokens prod',apache服务器将仍然在http回应头部包含详细的服务器标记,这会泄漏apache的版本号。

在Apache上隐藏服务器签名的方法

第二行‘servertokens prod'所要做的是在http响应头中将服务器标记压缩到最小。

因此,同时放置两行时,apache将不会在页面中或者http响应头中泄漏版本信息。

在Apache上隐藏服务器签名的方法
隐藏php版本

另外一个潜在的安全威胁是http响应头中的php版本信息泄漏。默认情况下,apache网站服务器通过http响应头中的“x-powered-by”字段包含有php版本信息。如果你想要在http头部中隐藏php版本,请使用文本编辑器打开php.ini文件,找到“expose_php = on”这一行,将它改为“expose_php = off”即可。

在Apache上隐藏服务器签名的方法

在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响应头了。