Log4J2 漏洞整改记录

588 阅读1分钟

一、漏洞说明:

  • Apache Log4j2是一个基于Java的日志记录工具,是Log4j的升级,在其前身Log4j 1.x基础上提供了Logback中可用的很多优化,同时修复了Logback架构中的一些问题,是目前最优秀的Java日志框架之一。该日志框架被大量用于业务系统开发,用来记录日志信息。开发者可能会将用户输入造成的错误信息写入日志中。此次 Apache Log4j2 漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。

  • 官方补丁:github.com/apache/logg…

  • 临时解决方案

    1. 设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”

    2. 设置“log4j2.formatMsgNoLookups=True”

    3. 系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

    4. 关闭对应应用的网络外连,禁止主动外连 二、整改步骤

(一)查看项目是否引用了log4j2 漏洞包

  1. 在依赖包中搜索,查看是否引用了log4j2如图。

image.png 2. 打开pom.xml文件,右键选择Diagrams->Show Dependencies 如图

image.png

  1. 在打开的依赖结构图中,Ctrl+F打开搜索框,搜索log4j,选择log4j-to-slf4j,定位相关依赖。如定位不准确,可以多次定位。

image.png

(二)删除依赖

  1. 在依赖上点击右键,选择Exclude,删除该依赖。

image.png

  1. 返回pom.xml可以看到已经添加了相关exclusion。

image.png

3.点击右上角Load Maven Changes按钮使依赖生效。

4.依赖更新完成后在依赖包中或依赖结构图中搜索log4j2。确认是否已经将log4j2完全排除。如果还有其他依赖,重复执行Exclude操作。

image.png (三)添加新版本依赖

添加新版本log4j2依赖。

image.png

如果原有依赖中包含log4j-core依赖,同时添加

image.png