tomcat修改banner,隐藏版本号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat修改banner,隐藏版本号相关的知识,希望对你有一定的参考价值。

为了避免黑客针对某些版本进行攻击,因此我们需要隐藏或者伪装 Tomcat 的版本信息。
针对该信息的显示是由一个jar包控制的,该jar包存放在 Tomcat 安装目录下的lib目录下,名称为 catalina.jar

1、两种方式,第一种是修改catalina.jar文件

进入tomcat的lib目录找到catalina.jar文件
技术分享图片

unzip catalina.jar之后会多出两个文件夹
技术分享图片

进入org/apache/catalina/util 编辑配置文件ServerInfo.properties字段来实现来更改我们tomcat的版本信息
技术分享图片
技术分享图片
修改为

server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Apr 2 2017 07:25:00 UTC

将修改后的信息压缩回jar包

# cd  /tomcat/lib
# jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

技术分享图片

重启tomcat

2、修改server属性

在Connector中添加server属性就可以了,具体如下:

打开tomcat的conf/server.xml,在server.xml找到
<Connector port="8080" protocol="HTTP/1.1"  
                    connectionTimeout="20000" 
                    redirectPort="8443"  
                    URIEncoding="UTF-8" 
                    useBodyEncodingForURI="true" />

修改后如下:
<Connector port="8080" protocol="HTTP/1.1"  
                     connectionTimeout="20000" 
                     redirectPort="8443"  
                     URIEncoding="UTF-8" 
                     useBodyEncodingForURI="true" 
                     server="Microsoft-IIS/6.5"/>

3、默认Tomcat 是开启了对war包的热部署。为了防止被植入木马等恶意程序,因此我们要关闭自动部署。

技术分享图片

将unpackWARs和autoDeploy由原先true都改为false
<Host name="localhost"  appBase="" unpackWARs="false" autoDeploy="false">

线上是不使用 Tomcat 默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。这些页面是存放在 Tomcat 安装目录下的webapps目录下的。
我们只需要删除该目录下的所有文件即可。另外conf/Catalina/localhost目录下的2个配置文件 host-manager.xml 和 manager.xml 也需要一并删掉

4、为了进一步安全,建议使用专用用户 tomcat 或者 nobody 用户来启动 Tomcat,为了防止 Tomcat 被植入 web shell 程序后,可以修改项目文件。因此我们要将 Tomcat 和项目的属主做分离,这样子,即便被搞,他也无法创建和编辑项目文件。

以上是关于tomcat修改banner,隐藏版本号的主要内容,如果未能解决你的问题,请参考以下文章

tomcat隐藏/修改版本号

隐藏Nginx和Tomcat版本号

隐藏Tomcat异常页面中的版本信息,Tomcat服务器版本号泄露

隐藏nginx,Apache,php,tomcat服务版本号

tomcat隐藏版本号

隐藏Tomcat版本号