dav*_*dav 4 apache debian apache-config
我在etc/apache2.conf文件中添加了这两行,它隐藏了操作系统和apache版本.
ServerSignature Off
ServerTokens Prod
Run Code Online (Sandbox Code Playgroud)
但毕竟我可以看到带有服务器名称的标题
Server Apache
Run Code Online (Sandbox Code Playgroud)
如何隐藏这些信息?我正在使用Debian 7,apache v 2.2
谢谢
小智 11
Apache本身无法完全取消设置Server标头(甚至没有使用mod_headers).
这似乎是设计的,正如Apache开发人员所讨论的那样.
有一种方法可以使用ModSecurity来做到这一点,但我对此知之甚少.相反,这些人已经弄明白了:
https://unix.stackexchange.com/questions/124137/change-apache-httpd-server-http-header
我可以验证这是有效的,只是在Debian 7.6上试过.
编辑:
为apache安装mod安全性,然后将其添加到您的apache2.conf.
<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature " "
</IfModule>
Run Code Online (Sandbox Code Playgroud)
重新启动apache之后,Server标头将消失
Apache 安全 - Ivan Risti\xc4\x87 | 第 2.3 章更改 Web 服务器身份
\n为了迷惑黑客并猜测他正在使用什么 Linux 操作系统或什么版本的 Apache。\n您可以将 Apache 服务器名称更改为您想要的任何名称。
\n对于 ubuntu 20.04:
\n$ sudo apt install apache2 -y
$ curl -I localhost
HTTP/1.1 200 OK\nDate: Fri, 23 Oct 2020 01:31:44 GMT\nServer: Apache/2.4.41 (Ubuntu)\nRun Code Online (Sandbox Code Playgroud)\n$ sudo apt install libapache2-mod-security2
$ sudo a2enmod security2
$ sudo vim /etc/apache2/conf-available/security.conf
服务器令牌已满
\n服务器签名关闭
\nSecServerSignature Microsoft-IIS/10.0
\n$ sudo systemctl restart apache2
$ curl -I localhost
HTTP/1.1 200 OK\nDate: Fri, 23 Oct 2020 01:54:00 GMT\nServer: Microsoft-IIS/10.0\nRun Code Online (Sandbox Code Playgroud)\n$ whatweb http://localhost
HTTPServer[Microsoft-IIS/10.0], IP[127.0.0.1], Microsoft-IIS[10.0]\nRun Code Online (Sandbox Code Playgroud)\n如果 SecServerSignature 选项设置为SecServerSignature " "\n这将完全隐藏 apache 服务器名称。
$ curl -I localhost
HTTP/1.1 200 OK\nDate: Fri, 23 Oct 2020 02:39:50 GMT\nServer:\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
10739 次 |
| 最近记录: |