Apache Log4j 2升级到2.16.0最新版本的解决方案 您所在的位置:网站首页 log4j依赖包下载失败 Apache Log4j 2升级到2.16.0最新版本的解决方案

Apache Log4j 2升级到2.16.0最新版本的解决方案

2023-09-12 08:18| 来源: 网络整理| 查看: 265

1.漏洞描述

Apache Log4j2 是一款优秀的 Java 日志框架。阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞。由于 Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。

由于 Log4j2 作为日志记录基础第三方库,被大量 Java 框架及应用使用,只要用到 Log4j2 进行日志输出且日志内容能被攻击者部分可控,即可能会受到漏洞攻击影响。因此,该漏洞也同时影响全球大量通用应用及组件,例如:

Apache Struts2Apache SolrApache DruidApache FlinkApache FlumeApache DubboApache KafkaSpring-boot-starter-log4j2List itemElasticSearchRedisLogstash ![在这里插入图片描述](https://img-blog.csdnimg.cn/428bead3dca447a78e2510bda2196bff.png#pic_center 2.下面是升级log4J版本的思路和步骤

![在这里插入图片描述](https://img-blog.csdnimg.cn/c74417ccd21a46949daafff4e5a36c51.jpg#pic_center 因为新版本2.16.0的log4j2日志性能更好和安全性更高,所以我们采用新版本的日志打印来提高系统安全和性能,那么如何替换新版本的日志打印,下面是步骤: 步骤1:

修改log4j版本的依赖。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8f741893c23b44e1bf7ed64d48bce43b.png#pic_center

2.16.0

pom中添加依赖:

org.apache.logging.log4j log4j-api ${log4j.version} org.apache.logging.log4j log4j-core ${log4j.version} org.apache.logging.log4j log4j-web ${log4j.version} org.apache.logging.log4j log4j-slf4j-impl ${log4j.version} org.apache.logging.log4j log4j-jcl ${log4j.version}

为了方便后期升级可能替换为其他框架,所以我们采用slf4j框架的api来输入日志。所以需要添加对应的桥接依赖。

步骤2: 删除掉原有的log4j版本和logback日志依赖,如果系统中有的话。将系统中的API调用全部修改为根据slf4j的api来调用。

import org.slf4j.Logger; import org.slf4j.LoggerFactory; private Logger logger = LoggerFactory.getLogger(Controller.class);

步骤3: 添加log4j2需要的配置文件,log4j2.xml,而且log4j2版本的日志不再支持properties的配置。

/data/home/logs/*** XXXName

步骤4:

前面三步完成的话,其实可以启动试试,但是通常情况下不会成功, 因为项目里面还有其他的组件依赖有使用到低版本的日志依赖。会导致我们新版本的日志不起作用

在这里插入图片描述

步骤5: 去掉低版本的日志依赖 打开maven工具栏,选中其中需要编译的项目,然后点击show Dependencies然后可以看到整体依赖图哦! 在这里插入图片描述 再点击Exclude去掉低版本依赖哦! 在这里插入图片描述

这里需要一个个去掉低版本的日志依懒即可! 完结…亲测有用,看到这里麻烦点个赞哦!-------------------------------------------------------------------------------------------------



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有