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

目录

  • 引言
  • 1 安全评估报告服务器漏洞的说明
    • 1.1 tomcat漏洞概况
    • 1.2 部分tomcat漏洞详情
  • 2 针对漏洞的分析
  • 3 Tomcat 升级步骤
    • 步骤 1:下载最新的 Tomcat 版本
    • 步骤 2:解压 Tomcat 文件
    • 步骤 3:停止旧版本的 Tomcat
    • 步骤 4:备份旧的 Tomcat 配置(可选)
    • 步骤 5:替换文件夹
    • 步骤 6:启动新版本的 Tomcat
    • 步骤 7:查看 Tomcat 版本
    • 步骤 8:完成 Tomcat 升级
  • 总结

引言

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

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

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

1.1 tomcat漏洞概况

端口协议服务漏洞
2201TCPwwwApache 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的版本信息

软件名称版本号
Tomcat8.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 服务即可完成升级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/776820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据挖掘与分析——深度学习算法应用

1. TensorFlow框架的基本使用(5-1) 获取训练数据 构建一个简单的线性模型:W,b为参数,W2,b1,运用tf.random.normal() 产生1000个随机数,产生x,y数据。 用matplotlib库,…

android iconfont带图标的图文并茂的一种实现

android实现图文并茂方法很多。 这里针对,仅本地图标,需要对齐,任意位置,兼容换行导致后面空白的问题做的一种方案。 www.iconfont.cn,注册; 上传svg的icon; 下载项目得到iconfont.ttf&#xf…

文献阅读:通过高通量原位成对测序实现亚细胞分辨率的空间多组学

文献介绍 文献题目: Spatial multi-omics at subcellular resolution via high-throughput in situ pairwise sequencing 研究团队: 曹罡(深圳理工大学)、戴金霞(华中农业大学) 发表时间: 2024…

Nginx-http_limit_req_module模块

文章目录 前言一、ngx_http_limit_req_module模块二、指令1.limit_req_zone2.limit_req3.limit_req_log_level4.limit_req_status 实验burst取默认0的情况burst不取默认值 总结 前言 如何限制每个客户端每秒处理请求数 一、ngx_http_limit_req_module模块 生效阶段&#xff1…

node.js外卖小程序-计算机毕业设计源码81838

摘要 自从计算机发展开始,计算机软硬件相关技术的发展速度越来越快,在信息化高速发展的今天,计算机应用技术似乎已经应用到了各个领域。在餐饮行业,除了外卖以外就是到店里就餐,在店里就餐如果需要等待点餐的话&…

Vue的民族民俗文化分享平台-计算机毕业设计源码22552

基于Vue的民族民俗文化分享平台设计与实现 摘 要 本文介绍了一种基于Vue.js前端框架和Express后端框架的民族民俗文化分享平台的设计和实现。该平台旨在通过线上方式,促进民族民俗文化的传播与分享,增强公众对多元文化的了解和认同。 平台为普通用户提供…

谷粒商城学习笔记-14-项目结构创建提交到码云

一,码云上创建工程仓库 1,,点击右上角加号,选择新建仓库 2,填充必要信息 ①仓库名称,可以理解为工程名称。 ②仓库介绍,添加关于仓库的说明。 ③仓库权限设置,如果是公司项目,一般…

跨境电商入场第一步!先收集整理这些数据,看清自己该如何入场!【纯经验分享】

23年、24年确实无愧于“品牌出海元年”的称号,23年出海四小龙——速卖通、TikTokshop、Temu、Shein在海外的爆发让大家看到了海外市场的活动;而24年则有更多的国内品牌将目光瞄向了海外市场,年后开工到今天基本上每天都有客户来咨询出海相关的…

Spring Cloud 是什么?(Spring Cloud 组件介绍)

什么是 Spring Cloud? Spring Cloud 是微服务系统架构的一站式解决方案,是各个微服务架构落地技术的集合体,让架构师、 开发者在使用微服务理念构建应用系统的时候, 面对各个环节的问题都可以找到相应的组件来处理,比…

C语言中32位浮点数的格式

以 GNU C为例,它遵循 IEEE 754-2008标准中制定的浮点表示规范。在该规范中定义了 5种不同大小的基础二进制浮点格式,包括:16位,32位,64位,128位,256位。其中,32位的格式被用作标准 C…

springboot马拉松赛事志愿者管理系统-计算机毕业设计源码80251

摘 要 随着马拉松运动的兴起和发展,马拉松赛事的组织和管理面临着越来越多的挑战,其中志愿者的招募、培训和管理是至关重要的一环。传统的人力资源管理方式已经无法满足大型马拉松赛事对志愿者团队的需求,因此基于现代信息技术的马拉松赛事志…

MongoDB如何安装并配置公网地址实现Navicat远程连接本地数据库

文章目录 前言1. 安装Docker2. 使用Docker拉取MongoDB镜像3. 创建并启动MongoDB容器4. 本地连接测试5. 公网远程访问本地MongoDB容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Linux Ubuntu系统快速部署MongoDB&#…

ssm“落雪”动漫网站-计算机毕业设计源码81664

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 3.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…

开发必备基础知识【Linux环境变量文件合集】

开发必备基础知识【Linux环境变量文件合集】 在Linux系统中,环境配置文件用于定制用户的Shell环境,包括定义环境变量、设置命令别名、定义启动脚本等。不同的Shell(如bash、zsh)有着各自对应的配置文件。 .bashrc:每新…

使用myCobot280和OAK-D OpenCV DepthAI摄像头制作一个实时脸部跟踪的手机支架!

引言 由于YouTube和Netflix的出现,我们开始躺着看手机。然而,长时间用手拿着手机会让人感到疲劳。这次我们制作了一个可以在你眼前保持适当距离并调整位置的自动移动手机支架,让你无需用手拿着手机。请务必试试! 准备工作 这次我们…

[FreeRTOS 基础知识] 互斥量 概念

文章目录 基础知识互斥量互斥量与信号量区别优先级反转优先级继承小结 基础知识 [FreeRTOS 基础知识] 信号量 概念 互斥量 互斥量(Mutex,全称:Mutual Exclusion),在计算机科学中,是一种用于防止多个进程同…

C++20中的指定初始化器(designated initializers)

指定初始化器(designated initializers, 指定初始值设定项)语法如下:C风格指定初始化器语法,初始化数据成员的一种便捷方式 T object { .des1 arg1, .des2 { arg2 } ... }; T object { .des1 arg1, .des2 { arg2 } ... }; 说明: 1.每个指…

leetcode力扣_排序问题

215.数组中的第K个最大元素 鉴于已经将之前学的排序算法忘得差不多了,只会一个冒泡排序法了,就写了一个冒牌排序法,将给的数组按照降序排列,然后取nums[k-1]就是题目要求的,但是提交之后对于有的示例显示”超出时间限制…

竞赛 深度学习LSTM新冠数据预测

文章目录 0 前言1 课题简介2 预测算法2.1 Logistic回归模型2.2 基于动力学SEIR模型改进的SEITR模型2.3 LSTM神经网络模型 3 预测效果3.1 Logistic回归模型3.2 SEITR模型3.3 LSTM神经网络模型 4 结论5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 …

C++deque容器

文章目录 deque容器概念deque操作deque对象的带参数构造deque头部和末尾的添加移除操作deque的数据存取deque与迭代器deque赋值deque插入deque删除 deque容器概念 deque是双端数组,而vector是单端的。 deque头部和尾部添加或移除元素都非常快速, 但是在中部安插元…