近日,Apache Log4j2 的远程代码执行漏洞刷爆网络,该漏洞一旦被攻击者利用会造成严重危害。而且此次漏洞影响巨大,Apache Log4j2可是全民级的日志组件,百分之九十的项目,都是通过log4j2输出日志的,甚至BAT大厂也是如此,很多互联网企业也都连夜做了应急措施
临时解决方案
设置jvm参数
-Dlog4j2.formatMsgNoLookups=true
日志设置:
log4j2.formatMsgNoLookups=true
设置系统环境变量:
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS = true
直接加入新的版本依赖
<!-- Log4j2惊爆0Day漏洞-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.15.0</version>
</dependency>
本次以IDEA为例
首先找到自己项目有没有这个依赖,我这里作为演示(肯定是有的)
现在的版本是2.11.2,是存在系统漏洞,我们需要升级到2.15.0
1,在idea右侧找maven,打开show Dependencied
如果没有,可以点击最上方的菜单栏的view -->Tool Windows --> maven
2,打开show dependencies后,弹出的界面展示了你项目所有的依赖(在查找jar包冲突时也会使用)
3,在这个界面搜索(ctrl+F)log4j,选择一个搜索
4,然后右键点击log4j-to-slf4j,弹出界面选择jump to source即可进入pom文件
进入到pom文件后,还需要继续寻找,因为它上级还有,可以看到有个小蓝标,点击它
在这个pom文件里面,没有上级依赖了(没有小蓝标)我们更改这里面的版本号即可
修改前:
修改后:
修改版本,点击maven小圈圈进行刷新,我们的版本就更改过来了