云计算百科
云计算领域专业知识百科平台

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

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

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

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

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


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

1. 修改 conf/server.xml

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

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

server="Unknown"
xpoweredBy="false"

完整示例:

<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
server="Unknown" <!– 关键:隐藏服务器名 >

xpoweredBy="false" /> <!– 关键:隐藏版本头 –>


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

在 <Host> 里面加入:

<Valve className="org.apache.catalina.valves.ErrorReportValve"
showReport="false"
showServerInfo="false" />

完整示例:

<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> 上面添加:

<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

访问出错


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

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

操作步骤:

  • 进入 Tomcat 的 lib 目录
  • cd TOMCAT_HOME/lib

  • 解压 catalina.jar 里的版本配置文件
  • jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties

  • 编辑这个文件
  • vim org/apache/catalina/util/ServerInfo.properties

  • 全部清空或改成无意义内容
  • server.info=Unknown
    server.number=0.0
    server.built=Unknown

  • 重新打包回 jar
  • jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

  • 删除临时文件夹
  • rm -rf org/


    三、最后重启 Tomcat

    shutdown.sh
    startup.sh


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

    1. 测响应头

    curl -I http://IP:端口

    ✅ 必须看不到:

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

    2. 测 404 页面

    curl http://IP:端口/xxxxxx

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


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

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

    总结

  • server.xml:隐藏 HTTP 头版本
  • ErrorReportValve:隐藏错误页版本
  • catalina.jar:彻底删除底层版本标识(最关键)
  • 自定义错误页:完全屏蔽系统默认页面
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 安全扫描:彻底隐藏 Tomcat 版本号 + 服务器名(100% 过扫描)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!