前言

经常有小伙伴在项目过程中对SuperMap产品进行安全漏洞扫描时遇到关于Apache Tomcat版本的漏洞,需要对Tomcat进行版本升级;但由于当前项目处于使用阶段,并不能直接替换SuperMap产品包,只能通过补丁包的方式来解决;那是否还有其他方式呢?接下来小编将带着大家一起以某客户在Linux环境使用SuperMap iServer912版本中检查出来的Apache Tomcat 版本漏洞为例,为大家讲解演示如何通过手动替换解决Tomcat版本漏洞问题。

一、查看漏洞内容

漏洞名称:CVE-2020-9484: Apache Tomcat Session 反序列化代码执行漏洞
漏洞描述:“Apache Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器。攻击者可能可以构造恶意请求,造成反序列化代码执行漏洞。”成功利用该漏洞需要同时满足下列四个条件:

  1. 攻击者能够控制服务器上文件的内容和名称
  2. 服务器PersistenceManager配置中使用了FileStore
  3. 攻击者知道使用的FileStore存储位置到可控文件的相对文件路径。
  4. 服务器PersistenceManager配置中设置了sessionAttributeValueClassNameFilter为NULL,或者使用了其他较为宽松的过滤器,允许攻击者提供反序列化数据对象

修复建议
升级Apache Tomcat至安全版本
下载地址:https://tomcat.apache.org/
升级到 Apache Tomcat 10.0.0-M5 及以上版本
升级到 Apache Tomcat 9.0.35 及以上版本
升级到 Apache Tomcat 8.5.55 及以上版本
升级到 Apache Tomcat 7.0.104 及以上版本

二、升级方案

根据上述的情况,我们需要先检查出当前iServer中包含的Tomcat版本,然后下载满足升级安全版本的新Tomcat包,再进行替换操作。

2.1 上传Tomcat包并修改调整

1、在Tomcat官网下载满足要求的Tomcat版本包,并上传到服务器中,这边为了验证,上传的Tomcat版本是apache-tomcat-9.0.84.tar.gz;
2、解压Tomcat包
tar -zxf apache-tomcat-9.0.84.tar.gz
在这里插入图片描述
3、修改调整相关文件
删除tomcat目录\bin文件夹中的startup shutdown catlina 相关文件
在这里插入图片描述
2.2 替换相关内容
将删除完成后的tomcat目录下的bin 文件夹和lib文件夹,替换掉iServer912目录下的bin 和lib 文件夹。
在iServer的斌目录下检查当前默认情况下的Tomcat版本为8.5.20.0,然后使用命令强制将tomcat的bin目录下文件替换到iServer的bin目录下
在这里插入图片描述
然后再将tomcat的lib目录替换iServer的lib目录
在这里插入图片描述

三、验证成果

经过上述的操作,我们就完成了在SuperMap iServer中替换更新Tomcat版本,是不是很简单,那边下面就可以来验证当前更新是否成功,重新启动iServer验证产品是否正常。
在替换后的iServer的bin目录下,检查当前Tomcat版本,是更换后的Tomcat版本,说明已更新成功,重启iServer,访问iServer界面也正常。
在这里插入图片描述
当前已解决了关于Apache Tomcat 版本漏洞,那对于SuperMap产品中遇到的其他安全漏洞问题又该怎么解决呢?大家访问超图漏洞修复网站可以在这里查找关于CVE漏洞对应的产品修复补丁包,欢迎大家订阅查看。

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐