Apache:如何对用户隐藏服务器版本和操作系统?

问题描述 投票:0回答:4

我在一个网站上读到,我需要向

httpd.conf
文件添加两行:

服务器签名关闭

服务器令牌产品

但是当我添加它们后,一切都没有改变。正如之前我可以在浏览器中看到的那样

Apache/2.2.16(Debian)

也许这很重要:当我打开文件时(我的意思是在添加上述行之前)

httpd.conf
我看到它是空的。我用的是VPS。

谢谢!

apache apache2
4个回答
50
投票

简单:

sudo nano /etc/apache2/conf-enabled/security.conf

然后:

  • ServerTokens OS
    更改为
    ServerTokens Prod
  • ServerSignature On
    更改为
    ServerSignature Off

重新启动阿帕奇:

sudo service apache2 restart

本文也可能对您有帮助:隐藏 Apache 信息


22
投票

您没有提供有关操作系统/发行版等的足够信息

但是在ubuntu的apache安装中apache2.conf看起来像这样:

<cut>
Include httpd.conf
Include ports.conf
Include conf.d/
Include sites-enabled/

conf.d/security中你可以看到

ServerTokens OS

只需检查您的配置,在您的 httpd.conf 中设置后它会被覆盖


3
投票

同时隐藏名称“Apache”

sudo apt-get install libapache2-mod-security2

然后将其添加到

/etc/apache2/apache.conf
(你可以使用任何名称,这里我使用了空格):

<IfModule security2_module>
    SecRuleEngine on
    ServerTokens Min
    SecServerSignature " "
</IfModule> 

并重新启动 Apache:

sudo service apache2 restart

有关包含@ShanuTThankachan 答案的完整文章,请参阅此处


0
投票

将在此文件中为您工作,而不是:/etc/apache2/apache.conf或不在/etc/apache2/apache2.conf中

nano /etc/apache2/conf-enabled/security.conf 我排在最前面,竖起大拇指!

© www.soinside.com 2019 - 2024. All rights reserved.