Apache 不隐藏服务器令牌/签名

Apache 不隐藏服务器令牌/签名

我有带有 Jessie 或 Stretch 的 Web Apache 服务器,这些服务器已从旧版本的 Debian 连续升级(从 Squeeze 开始,具体取决于服务器)。

在所有这些中,我有 Apachesecurity.conf配置了指令ServerTokens ProdServerSignature off根据这个问题www.netcraft.com 中的托管历史操作系统未知

我还检查了所有目录中security.conf是否存在 (确实如此)。conf-enabled

现在到了最有趣的部分;其中一些不遵守该配置;其中一些确实如此。我能够建立的唯一模式是,最近安装的从头开始配置 Apache 的服务器不会表现出这种行为(例如,它们始终遵循配置)。

可能会发生什么?

答案1

有趣的是,要使用此配置和其他配置,/etc/apache2/conf-enabled必须将目录包含/etc/apache2/apache2.conf在更高版本的 Apache 中,默认情况下使用以下行:

IncludeOptional conf-enabled/*.conf

apache2.conf发生的情况是,在其他一些服务器中,升级时保留了旧的配置文件没有 添加该指令。更令人困惑的是,至少在一台被发现并纠正的服务器中,因此它扭曲了建立该模式的过程。

因此,显然,虽然这些安全指令似乎已配置,但 Apache 并未使用它们。 Apache 假设ServerTokens和的默认值是ServerSignature,对于前者来说是 ,Full对于后者来说是On

我最终添加到末尾/etc/apache2/apache2.conf

IncludeOptional conf-enabled/*.conf

重新启动Apache服务后,情况得到纠正,Apache不再报告额外的配置数据。

相关内容