-
- SOP名称:Apache Tomcat文件包含(CVE-2020-1938)漏洞处置SOP
- 编写日期:2024-8-26
- 修订日期:2024-8-28
- 编写人员:SSS(Linux系统管理员)
- 审核人员:T小组
- 修订记录:
- 初始版本:创建SOP
本SOP同样适用于Apache Tomcat需要进行版本升级以解决问题的别的漏洞类型。
-
熟悉 Linux 系统管理 -
具备漏洞修复和安全配置的基本知识 -
熟悉 Apache Tomcat 配置和管理
-
-
漏洞名称:Apache Tomcat文件包含漏洞(CVE-2020-1938) -
CVE编号:CVE-2020-1938 -
严重程度:高危 -
漏洞描述:Apache Tomcat文件包含漏洞(CVE-2020-1938)。Tomcat AJP协议由于存在实现缺陷导致相关参数可控,攻击者可利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行,给服务器带来极大安全风险。 -
影响范围:
-
建议受影响的用户,及时升级到安全版本:
- Tomcat 6请升级到Tomcat 7/8/9对应的安全版本;
- Tomcat 7升级到7.0.100及以上版本;
- Tomcat 8升级到8.5.51及以上版本;
- Tomcat 9升级到9.0.31及以上版本;
链接:https://tomcat.apache.org/
【注意事项】
- 不同系列尽量升级到本系列无漏洞的版本,比如Tomcat 7就升级7系列、8就升级8系列等,尽量不要版本跨度太大,避免出现一些意外情况。
-
在进行任何修复操作之前,务必备份所有重要数据和配置文件。 -
升级或补丁应用过程中应尽量减少对业务的影响,尽量在维护窗口内完成所有操作。 -
遵循官方提供的安装和配置指南进行操作。 -
在生产环境中升级前,最好在测试环境中先进行测试。 -
修复漏洞前进行充分测试,以确保系统稳定性和安全性。
-
-
登录到服务器
-
-
-
确定当前 Tomcat 版本 -
获取安全补丁或更新 -
访问 Apache Tomcat 官方网站或安全公告页面,获取适用于 CVE-2020-1938 漏洞的安全补丁或更新。 -
访问Apache Tomcat官方网站,下载相应系列最新的版本https://archive.apache.org/dist/tomcat/ -
本文以Tomcat7系列最新版本V7.0.109 为例 -
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/
-
-
-
-
解压新版本Tomcat
-
-
-
修改解压后新版本执行文件权限 -
先进入目录 cd /home/appuser/sop/tomcat/apache-tomcat-7.0.109/bin -
执行命令 chmod 755 *.sh
-
-
关闭war自动部署
-
修改/home/appuser/sop/tomcat/apache-tomcat-7.0.109/conf/server.xml,将autoDeploy标签中的true改为false:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
unpackWARs设置了部署的形式,如果为true,则会以展开的形式部署;如果为false,则会以war包的形式部署。
-
-
配置shutdown端口
-
在/home/appuser/sop/tomcat/apache-tomcat-9.0.19/conf/server.xml中
<Server port="8005" shutdown="SHUTDOWN">配置有允许任何人只要telnet到服务器的8005端口,输入"SHUTDOWN",然后回车,服务器立即就被关掉了。从安全的角度上考虑,需要把这个shutdown指令改成一个别人不容易猜测的字符串。而且这个修改不影响shutdown.bat或shutdown.sh的执行。配置例如:<Server port="8005" shutdown="aaaa">
注:配置的端口需要大于1024。
-
-
如前端有负载均衡,配置access 日志需显示用户真实IP
-
对/home/appuser/sop/tomcat/apache-tomcat-9.0.19/conf/server.xml做如下修改可以实现:<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log."suffix=".txt" pattern="%h? %{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i? %T" resolveHosts="false" />
-
-
修改默认端口号和连接器版本信息
-
Apache-Coyote 是Tomcat的连接器。其功能是处理http请求的请求行,请求头等信息,创建Request和Response对象,然后调用Servlet容器的invoke方法。在tomcat的转发页面,使用浏览器调试代码容易泄露当前容器的类型,所以需要添加一段内容来掩藏,避免连接器版本泄露:
<Connector port="8180"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
server="Apache-Coyote-X"/>
-
-
删除新版本Tomcat中自带的webapps里的应用和文档信息 -
先进入目录 cd /home/appuser/sop/tomcat/apache-tomcat-7.0.109/webapps -
执行删除命令 rm -rf *
-
-
复制老版本Tomcat中的应用到新版本的Tomcat中 -
先进入目录 cd /home/appuser/sop/tomcat/apache-tomcat-7.0.109/webapps -
执行复制命令 cp -r /home/appuser/sop/tomcat/apache-tomcat-7.0.67/webapps/* .
-
-
配置文件同步修改
-
-
-
重新启动 Tomcat 服务:
-
-
-
验证修复效果:
-
-
-
记录处置过程
-
-
-
提交报告
-
关注回复“1938”添加运营助手领取PDF版
↓
原文始发于微信公众号(方桥安全漏洞防治中心):Apache Tomcat文件包含漏洞(CVE-2020-1938)处置标准作业程序(SOP)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论