Linux有问必答:如何在Apache网站服务器上关闭服务器签名

81f9e53d014a2cbc895ad84466f97f54 的头像

·

·

·

11,300 次阅读

问题:每当Apache2网站服务器返回错误页时(如,404 页面无法找到,403 禁止访问页面),它会在页面底部显示网站服务器签名(如,Apache版本号和操作系统信息)。同时,当Apache2网站服务器为PHP页面服务时,它也会显示PHP的版本信息。我如何在Apache2网站服务器上关闭这些网站服务器签名呢?

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

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

然而,若没有第二行的‘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上:

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


via: http://ask.xmodulo.com/turn-off-server-signature-apache-web-server.html

译者:GOLinux 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

6 条回复

  1. 微博评论 的头像
    微博评论

    #如何防止被人吐槽#

  2. 微博评论 的头像
    微博评论

    又不是 IIS,怕个毛//@Garfield550: 轉發微博

  3. 微博评论 的头像
    微博评论

    这个貌似可以设置不显示嗯

  4. ZMOM1031 的头像
    ZMOM1031

    扫描工具一扫就出来了

    来自杭州
  5. 微博评论 的头像
    微博评论

    很简单,在配置服务器时,删除配置文件中一句代码即可,还可以自定义名称

  6. 来自印度的 Chrome 77.0|Windows 10 用户 的头像
    来自印度的 Chrome 77.0|Windows 10 用户

    I reached out previously and hadn’t heard back from you yet. This tells me a few things:

    1) You’re being chased by a T-rex and haven’t had time to respond.
    2) You aren’t interested.
    3) You’re interested but haven’t had a time to respond.

    Whichever one it is, please let me know as I am getting worried! Please respond 1,2, or 3. I do not want to be a bother.

    ====================== Original Message ========================

    Hi,

    I am Alex editor at Guru99.  There is 69% chance you will not ope

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注