通过升级tomcat完美解决服务器的tomcat漏洞

引言

软件开发完成并交付给客户,过了一段时间,客户的上级部门要求对服务器进行安全检测,通过漏洞扫描,对服务器的漏洞情况进行通报,要求限期完成漏洞修补。客户一般没有技术能力,就找到软件开发公司,帮助其解决服务器的安全问题。我们做为软件开发人员,也会帮忙解决一些服务器安全方面的问题。

1 安全评估报告服务器漏洞的说明

首先看一下安全评估报告,报告中对服务器的漏洞,漏洞概况是一个所有漏洞的列表,这里仅选取tomcat漏洞。

1.1 tomcat漏洞概况

端口 协议 服务 漏洞
2201 TCP www Apache Tomcat 信息泄露漏洞(CVE-2020-17527)
Apache Tomcat 输入验证错误漏洞(CVE-2023-46589)
Apache Tomcat 环境问题漏洞(CVE-2022-42252)
Apache Tomcat 拒绝服务漏洞(CVE-2023-24998)
Apache Tomcat 安全漏洞(CVE-2021-25122)
HTTP/2拒绝服务漏洞(CVE-2023-44487)
Apache Tomcat 安全漏洞(CVE-2021-25329)
Apache Tomcat 拒绝服务漏洞(CVE-2021-41079)
Apache Tomcat 权限许可和访问控制问题漏洞(CVE-2022-23181)
Apache Tomcat 代码问题漏洞(CVE-2022-29885)
Apache Tomcat 代码问题漏洞(CVE-2022-25762)
Alibaba Druid 未授权访问【原理扫描】
Apache Tomcat 信息泄露漏洞(CVE-2021-24122)
Apache Tomcat 环境问题漏洞(CVE-2021-33037)
Apache Tomcat 访问控制错误漏洞(CVE-2021-30640)
Apache Tomcat 跨站脚本漏洞(CVE-2022-34305)
Apache Tomcat文件包含漏洞(CVE-2023-28708)
Apache Tomcat 输入验证错误漏洞(CVE-2023-41080)
Apache Tomcat 安全漏洞(CVE-2023-42795)
Apache Tomcat 输入验证错误漏洞(CVE-2023-45648)
Apache Tomcat 安全漏洞(CVE-2024-23672)
Apache Tomcat信息泄露漏洞(CVE-2024-21733)
Apache Tomcat 输入验证错误漏洞(CVE-2024-24549)
Apache Tomcat 竞争条件问题漏洞(CVE-2021-43980)

1.2 部分tomcat漏洞详情

然后针对每个漏洞的说明,如下是一个tomcat严重漏洞的详细信息

漏洞名称 Apache Tomcat 输入验证错误漏洞(CVE-2023-46589)
详细描述 Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat存在输入验证错误漏洞,该漏洞源于存在不正确的输入验证漏洞,可能会导致将单个请求视为多个请求,从而在反向代理后面出现请求走私。
解决办法 厂商补丁: 目前厂商已发布升级补丁以修复漏洞,补丁获取链接: https://lists.apache.org/thread/0rqq6ktozqc42ro8hhxdmmdjm1k1tpxr
威胁分值 7.5
危险插件
发现日期 2023-11-28
CVE编号 CVE-2023-46589
CNNVD编号 CNNVD-202311-2168
CNCVE编号 CNCVE-202346589
漏洞名称 Apache Tomcat 环境问题漏洞(CVE-2022-42252)
详细描述 Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat 存在环境问题漏洞,该漏洞源于当 rejectIllegalHeader 设置为 false 时,Tomcat 可能存在请求走私问题(Request Smuggling)。
解决办法 厂商补丁: 目前厂商已发布升级补丁以修复漏洞,详情请关注厂商主页: https://tomcat.apache.org/security-8.html https://tomcat.apache.org/security-9.html https://tomcat.apache.org/security-10.html
威胁分值 7.5
危险插件
发现日期 2022-10-31
CVE编号 CVE-2022-42252
CNNVD编号 CNNVD-202210-2602
CNCVE编号 CNCVE-202242252
漏洞名称 Apache Tomcat 拒绝服务漏洞(CVE-2023-24998)
详细描述 Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat使用Apache Commons FileUpload的打包重命名副本来提供Jakarta Servlet规范中定义的文件上传功能。因此,Apache Tomcat也容易受到Apache Commons FileUpload漏洞CVE-2023-24998的攻击,因为处理的请求部分数量没有限制。这导致攻击者有可能通过恶意上传或一系列上传触发DoS。
解决办法 厂商补丁: 目前厂商已发布升级补丁以修复漏洞,补丁获取链接: https://tomcat.apache.org/security-9.html
威胁分值 7.5
危险插件
发现日期 2023-02-20
CVE编号 CVE-2023-24998
CNNVD编号 CNNVD-202302-1610
CNCVE编号 CNCVE-202324998
CNVD编号 CNVD-2023-23552
漏洞名称 Apache Tomcat 安全漏洞(CVE-2021-25122)
详细描述 当响应新的h2c连接请求时,Apache Tomcat可以将请求标头和数量有限的请求主体从一个请求复制到另一个请求,这将导致用户A和用户B都可以看到用户A的请求结果。
解决办法 厂商补丁: Apache Tomcat ----------- 厂商已发布了漏洞修复程序,请及时关注更新: https://tomcat.apache.org/security-10.html
威胁分值 7.5
危险插件
发现日期 2021-03-02
CVE编号 CVE-2021-25122
CNNVD编号 CNNVD-202103-008
CNCVE编号 CNCVE-202125122
CVSS评分 5

下面是报告中tomcat的版本信息

软件名称 版本号
Tomcat 8.5.58

2 针对漏洞的分析

通过查看漏洞详细信息,可以看到tomcat厂商已经发布升级补丁,能够修复漏洞。几乎所有的tomcat漏洞详细信息中,都有类似的解决办法描述。也就是通过升级tomcat就可以解决问题。

解决办法中,都有补丁的链接,因为是针对特定补丁的链接,如果我们对每个漏洞都挨个打补丁,工作量会非常大,我们分析,tomcat软件碰到漏洞后,他们就会发布补丁,同时在他们的新版本中肯定会解决这个问题,随着版本的升高,漏洞就会越来越少。

所以,我们采取的策略就是将tomcat升级到最新版本,这里的最新版本指的是小版本的最新版本,比如报告中tomcat版本是8.5.58,我们查阅tomcat官网,选取8.5这个版本的最新版本,我们查阅tomcat官网,tomcat8.5.100是8.5的最新版本,我们最终采用8.5.100做为升级的版本,这个版本能够解决已知的所有tomcat漏洞。

3 Tomcat 升级步骤

升级 Tomcat 的过程中,需要下载新版本、停止旧版本、替换相关文件夹并重新启动。以下是详细的步骤和具体的 shell 命令:

步骤 1:下载最新的 Tomcat 版本

首先,从 Apache Tomcat 的官方网站下载最新的 Tomcat 版本。例如,下载 tomcat-8.5.100

wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.100/bin/apache-tomcat-8.5.100.tar.gz

步骤 2:解压 Tomcat 文件

将下载的 tar.gz 文件解压到所需的目录中。

tar -xzvf apache-tomcat-8.5.100.tar.gz -C /path/to/desired/location

步骤 3:停止旧版本的 Tomcat

进入旧版本 Tomcat 的 bin 目录并执行停止命令。

cd /path/tomcat-8.5.58/bin
./shutdown.sh

步骤 4:备份旧的 Tomcat 配置(可选)

为了安全起见,可以备份旧版本的 conf 文件夹,以防升级过程中出现问题。

cp -r /path/tomcat-8.5.58/conf /path/backup/location

步骤 5:替换文件夹

将新版本 Tomcat 的 binlib 文件夹替换旧版本的相应文件夹。

cp -r /path/apache-tomcat-8.5.100/bin /path/tomcat-8.5.58/
cp -r /path/apache-tomcat-8.5.100/lib /path/tomcat-8.5.58/

步骤 6:启动新版本的 Tomcat

进入新版本 Tomcat 的 bin 目录并执行启动命令。

cd /path/tomcat-8.5.58/bin
./startup.sh

步骤 7:查看 Tomcat 版本

启动 Tomcat 后,检查 Tomcat 的版本以确保升级成功。

curl http://localhost:8080

或者,查看日志文件以确认版本信息。

tail -n 100 /path/tomcat-8.5.58/logs/catalina.out | grep "Server version"

步骤 8:完成 Tomcat 升级

如果上述步骤都顺利完成,并且确认新版本 Tomcat 已经成功启动,则表示 Tomcat 升级完成。

总结

为了修补 Tomcat 的漏洞,可以通过升级到最新的小版本来解决。升级过程相对简单,只需要将新版本的 binlib 文件夹替换旧版本中的相应文件夹即可。这种方法能够确保系统快速、安全地应用最新的安全补丁,提升 Tomcat 的整体稳定性和安全性。具体步骤包括下载最新的小版本 Tomcat,解压后替换旧版本的 binlib 文件夹,最后重启 Tomcat 服务即可完成升级。

相关推荐

  1. 通过升级tomcat完美解决服务器tomcat漏洞

    2024-07-09 20:20:03       20 阅读
  2. linux服务器升级tomcat步骤

    2024-07-09 20:20:03       34 阅读
  3. Tomcat服务器优化经验

    2024-07-09 20:20:03       24 阅读
  4. Tomcat 启动闪退通用解决方案

    2024-07-09 20:20:03       26 阅读
  5. 拒绝服务攻击(Dos)与Tomcat解决方法

    2024-07-09 20:20:03       31 阅读
  6. SpringBoot解决Apache Tomcat输入验证错误漏洞

    2024-07-09 20:20:03       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 20:20:03       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 20:20:03       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 20:20:03       42 阅读
  4. Python语言-面向对象

    2024-07-09 20:20:03       53 阅读

热门阅读

  1. unity 使用UnityWebRequest从服务器下载

    2024-07-09 20:20:03       20 阅读
  2. el-table 树状表格查询符合条件的数据

    2024-07-09 20:20:03       22 阅读
  3. for in和for of对比

    2024-07-09 20:20:03       22 阅读
  4. OpenHarmony4.x 系统模拟器环境

    2024-07-09 20:20:03       16 阅读
  5. PDF转Markdown的开源工具解析

    2024-07-09 20:20:03       29 阅读
  6. 力扣1878.矩阵中最大的三个菱形和

    2024-07-09 20:20:03       29 阅读
  7. 持续学习的艺术:SKlearn中模型的在线学习实践

    2024-07-09 20:20:03       26 阅读
  8. 代码随想录刷题day02-矩阵

    2024-07-09 20:20:03       28 阅读
  9. ListView

    ListView

    2024-07-09 20:20:03      28 阅读
  10. SSL 证书

    2024-07-09 20:20:03       25 阅读
  11. HP打印机Er报错 (重新开始或恢复按钮 ↓)

    2024-07-09 20:20:03       19 阅读
  12. php简单实现利用飞书群里机器人推送消息的方法

    2024-07-09 20:20:03       23 阅读