Debian

Apache 沒有隱藏伺服器令牌/簽名

  • July 2, 2017

我有帶有 Jessie 或 Stretch 的 Web Apache 伺服器,這些伺服器已從舊版本的 Debian (從 Squeeze 開始,具體取決於伺服器)升級。

在所有這些中,我讓 Apachesecurity.conf配置了指令ServerTokens Prod,並且ServerSignature off根據這個問題The Hosting History OS is unknow in the www.netcraft.com

我還檢查了它們security.conf是否存在於 conf-enabled所有目錄中(它是)。

現在是最有趣的部分;其中一些不尊重該配置;其中一些確實如此。我能夠建立的唯一模式是,最近安裝的從頭開始配置 Apache 的伺服器不會表現出這種行為(例如,它們總是遵守配置)。

會發生什麼?

有趣的是,要使用此配置和其他配置,必須將/etc/apache2/conf-enabled目錄包含/etc/apache2/apache2.conf在後面的 Apache 版本中,預設情況下使用以下行:

IncludeOptional conf-enabled/*.conf

發生的情況是,在其他一些伺服器中,在升級時,舊的配置文件apache2.conf被保留而沒有 添加該指令。更令人困惑的是,至少在一個被發現並糾正的伺服器中,它偏向於建立這種模式。

因此,顯然,雖然這些安全指令似乎已配置,但 Apache 並未使用它們。ServerTokensApache 假設and是預設值,ServerSignature前者是預設值,Full後者是On.

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

IncludeOptional conf-enabled/*.conf

重啟 Apache 服務後,情況得到糾正,Apache 不再報告額外的配置數據。

引用自:https://unix.stackexchange.com/questions/373432