ServerSignature Off 用于禁用 Apache 自动在错误页等页面底部显示服务器版本信息,必须全局配置且需配合 ServerTokens Prod 才能彻底隐藏标识。

ServerSignature 是 Apache 用于在自动生成的页面(如 404 错误页、目录列表、mod_info 输出等)底部添加服务器标识信息的指令。默认开启时,它会明文显示 Apache 版本、操作系统甚至模块名,给攻击者提供精准的指纹线索。关闭它,是 Apache 安全加固中最基础也最有效的一步。
ServerSignature 的作用与风险
ServerSignature 控制的是“页面脚部”而非 HTTP 响应头。即使 ServerTokens 已设为 Prod,只要 ServerSignature On,访问一个不存在的路径(如 /nonexistent)仍会在 HTML 页面底部看到类似这样的文字:
Apache/2.4.52 (Ubuntu) Server at example.com Port 80
这类信息对自动化扫描器极具价值——版本号直接关联已知漏洞,OS 类型影响利用链选择。关掉它,等于抹去网页层的一处明显标记。
必须全局设置,不能写在虚拟主机里
ServerSignature 指令只在服务器级配置中生效,
- Debian/Ubuntu:
/etc/apache2/apache2.conf或/etc/apache2/mods-enabled/httpd.conf - RHEL/CentOS:
/etc/httpd/conf/httpd.conf - XAMPP(Windows/Linux/macOS):
conf/httpd.conf或conf/extra/httpd-default.conf(需确认该文件已被Include加载)
在文件中查找或添加这一行:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
ServerSignature Off
搭配 ServerTokens Prod 才算完整
仅关 ServerSignature 不够——HTTP 响应头中的 Server: Apache/2.4.52 依然暴露技术栈。必须同步设置:
-
ServerTokens Prod —— 让响应头简化为
Server: Apache - 两项必须同时存在,且都在主配置中,顺序无关
- 修改后务必重启服务:
sudo systemctl restart apache2(Debian/Ubuntu)或sudo systemctl restart httpd(RHEL/CentOS)
验证是否生效
用 curl 快速检查:
curl -I https://your-domain.com/nonexistent-path
观察两个地方:
- 响应头中
Server:字段是否只剩Apache(不是带版本或系统的长串) - 返回的 HTML 错误页面底部是否不再出现任何服务器签名文字
两者都满足,才算真正隐藏了 Apache 的公开标识。

















