Tomcat版本检测与升级(windows、centos、springboot)

引子:最近tomcat被曝出安全漏洞,全版本都要升级到最新,从网上看来了方法,直接记录一下,保存成shell脚本,给需要的朋友们使用。

本篇文章主要讲解Tomcat的版本检测与升级方法


1、漏洞概述

2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。
Tomcat是Apache软件基金会中的一个重要项目,性能稳定且免费,是目前较为流行的Web应用服务器。由于Tomcat应用范围较广,因此本次漏洞影响范围较大。

2、影响范围

受影响版本

  • Apache Tomcat 6
  • Apache Tomcat 7 < 7.0.100
  • Apache Tomcat 8 < 8.5.51
  • Apache Tomcat 9 < 9.0.31

不受影响版本

  • Apache Tomcat = 7.0.100
  • Apache Tomcat = 8.5.51
  • Apache Tomcat = 9.0.31

3、漏洞检测

3.1 Windows

通常在Apache Tomcat官网下载的安装包名称中会包含有当前Tomcat的版本号,用户可通过查看解压后的文件夹名称来确定当前的版本。
1
如果解压后的Tomcat目录名称被修改过,或者通过Windows Service Installer方式安装,可使用软件自带的version模块来获取当前的版本。进入Tomcat安装目录的bin目录,输入命令version.bat后,可查看当前的软件版本号。
2

3.2 Linux

首先执行ps -ef|grep tomcat 查看tomcat启动路径及信息,如果没有修改过名称的,则显示的文件夹名称就是tomcat版本号。如果修改过名称,则进入tomcat的bin目录下,执行./version.sh查看版本号
3

3.3 SpringBoot项目

:众所周知,springboot项目集成了tomcat,那么要怎么查看tomcat版本呢?
:在启动项目时,通过查看启动日志,就可以快速辨别tomcat版本。
4

4. 漏洞处置建议

4.1 CentOS下

  1. 下载tomcat最新版本的二进制文件包,有需要的小伙伴们直接去tomcat官网下载即可,这是下载链接:tomcat-9.0.31版本tar包
  2. 找到tomcat目录,上传刚刚下载的最新版的tomcat二进制文件,也可以直接wget下载
  3. 执行touch change-tomcat.sh,创建一个shell文件
  4. 复制如下内容进入脚本,然后sh change-tomcat.sh执行脚本
sh apache-tomcat-8.5.31/bin/shutdown.sh
mkdir tomcat8.5.1-old
cp -Rf apache-tomcat-8.5.31/* tomcat8.5.1-old/
tar -zxvf apache-tomcat-9.0.31.tar.gz
rm -rf apache-tomcat-9.0.31/conf/server.xml
mv tomcat8.5.1-old/conf/server.xml apache-tomcat-9.0.31/conf/
rm -rf apache-tomcat-9.0.31/webapps
mv tomcat8.5.1-old/webapps apache-tomcat-9.0.31/
rm -rf apache-tomcat-9.0.31/bin/catalina.sh
mv tomcat8.5.1-old/bin/catalina.sh apache-tomcat-9.0.31/bin/
rm -rf apache-tomcat-9.0.31/webapps/examples
sh apache-tomcat-9.0.31/bin/startup.sh
ps -ef|grep jar
  1. 如果觉得麻烦,也可以直接下载我上传在csdn上的文件,不过脚本内容可能需要根据你当前的tomcat版本进行相应改动哦~
    下载地址:change-tomcat.sh

4.2 Spring Boot

直接在pom文件中添加如下内容,重新部署即可。 不要直接升级spring boot,否则会有依赖不兼容问题。

<tomcat.version>8.5.51(可选择自己需要的tomcat版本号)</tomcat.version>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

4.3 官方升级

目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:

版本号下载地址
Apache Tomcat 7.0.100http://tomcat.apache.org/download-70.cgi
Apache Tomcat 8.5.51http://tomcat.apache.org/download-80.cgi
Apache Tomcat 9.0.31http://tomcat.apache.org/download-90.cgi

4.4 其他防护措施

  1. 如未使用Tomcat AJP协议:
    如未使用 Tomcat AJP 协议,可以直接将 Tomcat 升级到 9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。
    如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。
    具体操作:
    (1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):
    <Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
    (2)将此行注释掉(也可删掉该行):
    <!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->
    (3)保存后需重新启动,规则方可生效。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在CentOS 7上升级Tomcat版本,您可以按照以下步骤进行操作: 1. 首先,确保您具有管理员权限(root用户)。 2. 停止当前运行的Tomcat服务。可以使用以下命令停止Tomcat: ``` systemctl stop tomcat ``` 3. 备份您的现有Tomcat目录,以防止意外情况发生。可以使用以下命令进行备份: ``` cp -r /opt/tomcat /opt/tomcat_backup ``` 注意:这里假设您的Tomcat安装目录为/opt/tomcat,如果您的安装目录不同,请相应地更改命令。 4. 下载新版本Tomcat。您可以访问Apache Tomcat官方网站(https://tomcat.apache.org/)下载最新版本Tomcat。 5. 解压下载的Tomcat压缩包。可以使用以下命令解压缩: ``` tar xvf apache-tomcat-<version>.tar.gz ``` 注意:请将<version>替换为您下载的Tomcat版本号。 6. 将解压缩的Tomcat目录移动到适当的位置。可以使用以下命令将Tomcat目录移动到/opt目录下: ``` mv apache-tomcat-<version> /opt/tomcat ``` 7. 更新Tomcat配置文件。打开Tomcat安装目录下的conf/server.xml文件,并根据您的需求进行任何必要的更改,例如端口号、连接池等。 8. 启动新版本Tomcat。可以使用以下命令启动Tomcat: ``` systemctl start tomcat ``` 9. 验证Tomcat是否成功升级。在Web浏览器中访问Tomcat的默认端口(例如http://localhost:8080),确保您可以看到Tomcat欢迎页面。 请注意,在执行任何系统升级之前,建议您先备份重要的数据和配置文件。此外,确保您在升级过程中仔细阅读并遵循Tomcat官方文档中的指南和说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值