安全扫描:彻底隐藏 Tomcat 版本号 + 服务器名(100% 过扫描)

安全扫描:彻底隐藏 Tomcat 版本号 + 服务器名(100% 过扫描)

最标准、最彻底、一次到位 的 Tomcat 安全加固方案,专门用于安全扫描/等保/漏洞扫描整改,能完全隐藏:

  • HTTP 响应头里的 Tomcat 版本
  • 错误页面(404/500)泄露的版本
  • 服务器名称(Server 头)
  • 所有能被扫描到的版本标识

目标:让扫描工具完全识别不出这是 Tomcat,也看不到任何版本号。


一、最关键:修改 3 个配置文件(必做)

1. 修改 conf/server.xml

作用:隐藏响应头 Server、去掉 X-Powered-By

找到 <Connector> 标签,添加这 2 个属性:

xml 复制代码
server="Unknown"
xpoweredBy="false"

完整示例:

xml 复制代码
<Connector port="8080"
           protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           server="Unknown"    <!-- 关键:隐藏服务器名 -->
           xpoweredBy="false" /> <!-- 关键:隐藏版本头 -->

2. 继续在 server.xml 隐藏错误页面版本

<Host> 里面加入:

xml 复制代码
<Valve className="org.apache.catalina.valves.ErrorReportValve"
       showReport="false"
       showServerInfo="false" />

完整示例:

xml 复制代码
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <!-- 隐藏错误页版本信息 -->
    <Valve className="org.apache.catalina.valves.ErrorReportValve"
           showReport="false"
           showServerInfo="false" />
</Host>

3. 修改 conf/web.xml

作用:自定义 404/500 错误页,彻底不泄露任何信息

</web-app> 上面添加:

xml 复制代码
<error-page>
    <error-code>404</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>403</error-code>
    <location>/error.html</location>
</error-page>

然后在 webapps/ROOT/ 下新建一个空白 error.html

html 复制代码
访问出错

二、最高级:彻底删除 Tomcat 版本标识(安全扫描必过)

这一步必须做,否则漏洞扫描依然能识别出 Tomcat 版本!

操作步骤:

  1. 进入 Tomcat 的 lib 目录
bash 复制代码
cd TOMCAT_HOME/lib
  1. 解压 catalina.jar 里的版本配置文件
bash 复制代码
jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
  1. 编辑这个文件
bash 复制代码
vim org/apache/catalina/util/ServerInfo.properties
  1. 全部清空或改成无意义内容
properties 复制代码
server.info=Unknown
server.number=0.0
server.built=Unknown
  1. 重新打包回 jar
bash 复制代码
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
  1. 删除临时文件夹
bash 复制代码
rm -rf org/

三、最后重启 Tomcat

bash 复制代码
shutdown.sh
startup.sh

四、验证是否成功(自己测一下,确保过扫描)

1. 测响应头

bash 复制代码
curl -I http://IP:端口

✅ 必须看不到:

  • Server: Apache Tomcat/x.x.x
  • X-Powered-By: Tomcat

2. 测 404 页面

bash 复制代码
curl http://IP:端口/xxxxxx

✅ 必须看不到任何 Tomcat 版本号、错误堆栈。


最终效果(安全扫描认可)

  • 无 Tomcat 版本号
  • 无服务器名称
  • 无错误页泄露信息
  • 漏洞扫描无法识别中间件类型
  • 可直接通过等保、渗透测试、安全扫描

总结

  1. server.xml:隐藏 HTTP 头版本
  2. ErrorReportValve:隐藏错误页版本
  3. catalina.jar:彻底删除底层版本标识(最关键)
  4. 自定义错误页:完全屏蔽系统默认页面
相关推荐
T1mzhou4 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
小羊没烦恼!4 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
乐迪信息4 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
Cx330❀5 小时前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程
luiyarch5 小时前
汽车电子ISO 26262功能安全系列(第35期):配置管理与变更管理——给安全系统装上“时空穿梭机”
安全·汽车
Gl�ria6 小时前
Linux 清理日志常用命令
linux·运维·服务器
黎阳之光6 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
天道jimmy6 小时前
VulnHub 系列:HA, Wordy
linux·服务器·web安全
福大大架构师每日一题7 小时前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc