解决Apache Log4j2漏洞通用方案(最新&亲测有效)

本文详细讲述了2021年Apache Log4j2的重大漏洞,包括漏洞背景、影响范围和严重性,提供了解决方案,包括升级至安全版本2.17.0和临时配置建议,确保开发者快速响应和保护应用安全。

【亲测有效】

漏洞背景

2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.17.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.17.0-rc2 版本。

漏洞描述
Apache Log4j2是一款优秀的Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.17.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.17.0-rc2 版本。阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。【后面Apache团队也发现2.15.0和2.16.0版本也存在远程数据漏洞,最终升级为安全版本 2.17.0】
漏洞评级
Apache Log4j 远程代码执行漏洞——严重
漏洞状态
在这里插入图片描述
影响版本
经验证 2.17.0-rc1 版本存在绕过,实际受影响范围如下:Apache Log4j 2.x < 2.17.0-rc2
安全建议

  1. 排查应用是否引入了Apache log4j-core Jar包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级Apache Log4j2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
  2. 升级已知受影响的应用及组件,如 spring-boot-starter-log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink
  3. 可升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上,可以在一定程度上限制JNDI等漏洞利用方式。

解决方案

方案1(极力推荐)

此方式直接升级版本来解决,升级到安全版本(2.17.0)即可。要PS的是,我们引入安全版本依赖后,也要在starter-web启动器依赖里把Spring Boot自带的log依赖要排除掉(所谓铲草除根),因为Spring Boot封装的Apache Log4j2依赖暂时还没是最新版本,使用它可能会出现漏洞。重点来了,请参考如下代码
原依赖(存在漏洞的):

<!-- 引入log4j2依赖 -->  
<dependency> 
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-log4j2</artifactId>  
</dependency>

【下面的 解决依赖1解决依赖2 均可解决漏洞,将上面原依赖替换为下面的其中一个依赖】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值