欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

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

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

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

禁用apache网站服务器签名

禁用apache网站服务器签名可以通过编辑apache配置文件来实现。

在debian,ubunt或者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版本信息。

在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上:

  $ sudo vi /etc/php5/apache2/php.ini

在centos,fedora,rhel或者arch linux上:

  $ sudo vi /etc/php.ini

  expose_php = off

最后,重启apache2网站服务器来重新加载已更新的php配置文件。

现在,你不会再看到带有“x-powered-by”字段的http响应头了。