Bru*_*ger 37 http apache-httpd
Apachehttpd与响应数据一起发回的 HTTP 标头之一是“服务器”。例如,我的 Web 服务器机器是相对最新的 Arch Linux。它发送回与以下内容非常相似的标头:
HTTP/1.1 404 Not Found
Date: Thu, 10 Apr 2014 17:19:27 GMT
Server: Apache/2.4.9 (Unix)
Content-Length: 1149
Connection: close
Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)
我ServerSignature off在/etc/httpd/conf/httpd.conf,但“服务器:”字段仍然出现。我已经尝试过mod_headers。我启用了它,并且尝试了一些操作:
<IfModule headers_module>
Header set ProcessingTime "%D"
Header set Server BigJohn
</IfModule>
Run Code Online (Sandbox Code Playgroud)
停止并启动httpd上述配置后,HTTP 标头包含类似 的内容ProcessingTime: 1523,但“Server:”标头行保持不变。所以我知道“mod_headers”已安装并启用,并且可以正常工作,但不是我想要的。
我看到一个叫做“mod_security”的东西声称可以做到这一点,但我不想要 mod_security 携带的所有其他包袱。
更新:
一旦你mod_security安装,你只需要几个指令:
<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这是mod_security2.7.7
小智 29
mod_security 很棒,但您并不是真的需要它来实现您的目标。
在包含所有模组后,httpd.conf您可以简单地取消设置您选择的标题。如评论中所述,mod_headers需要启用。
Header unset Server
# if the above doesn't work, set a default value
# use the keyword 'always' to set the header even with error'ed responses
# (e.g. if your app is down)
Header always set Server "No peeking!"
ServerSignature Off
ServerTokens Prod
Run Code Online (Sandbox Code Playgroud)
http://httpd.apache.org/docs/2.4/mod/core.html#serversignature
小智 15
只是为仍在寻找的人更新这个。我在更改 HTTP 标头中的 Server 行时遇到问题。这个建议应该适用于带有 systemd 和 Apache 2.4.7 的 Debian 分支发行版。具体来说,我使用的是 Ubuntu Server LTS 14.04.03。我发现的一些建议是做
grep -Ri servertokens /etc/apache2
Run Code Online (Sandbox Code Playgroud)
这让我找到了 /etc/apache2/conf-available/security.conf,其中指定了 ServerTokens 和 ServerSignature。因此,我对 /etc/apache2/apache2.conf 所做的任何更改都被 security.conf 中已经指定的指令覆盖。
我只是简单地更改了 security.conf 中的指令,Apache 就开始按照我的意愿工作。
ServerTokens Prod
ServerSignature Off
Run Code Online (Sandbox Code Playgroud)
关于 Header unset Server 的主题,我发现了一个错误报告,其中 Apache 开发人员说这是一个无法修复的问题。显然,对于他们来说,这是一个哲学问题,尽管 HTTP/1.1 的规范,RFC 2616 部分由 Tim Berners-Lee 撰写,称服务器标记是可选的。
我真的很想将服务器标签设置为“未知”以使我们的 Qualys 扫描愉快。因此,我按照DigitalOcean 教程安装了 mod_security,现在称为 libapache2-modsecurity 。祝你好运,我希望我对你们所有未来的读者有所帮助。
小智 14
服务器 ID/令牌标头由“ ServerTokens ”指令(由 提供mod_core)控制。除了修改 Apache HTTPD 源代码或使用mod_security模块之外,没有其他方法可以完全抑制服务器 ID 标头。
使用该mod_security方法,您可以禁用文件中的所有模块指令/功能modsecurity.conf,并仅利用服务器标头 ID 指令而无需任何额外的“行李”。
| 归档时间: |
|
| 查看次数: |
108440 次 |
| 最近记录: |