1 背景

2021年12月17日,Apache Log4j2 绝对是众多 Java 程序员提到的高频词之一:由于 Apache Log4j2 引发的严重安全漏洞,令一大批安全人员深夜修 Bug、发补丁。此次漏洞更是因为其触发简单、攻击难度低、影响人群广泛等特点,被许多媒体形容为“核弹级”漏洞。本文主要是针对漏洞修复的处理过程。

漏洞名词:
CVE-2021-44228 Apache Log4j 远程代码执行漏洞 严重
CVE-2021-45046 拒绝服务漏洞 中危

2 影响范围

目前受漏洞影响的主要是Apache Log4j 2.x <= log4j-2.15.0-rc1版本,当用户使用Apache Log4j2来处理日志时,漏洞会对用户输入的内容进行特殊处理,攻击者便可以在Apache Log4j2中构造特殊请求来触发远程代码执行。

Apache 最新发布了 Log4j 2.16,该版本在默认情况下禁止访问JNDI(JNDI 是 Log4j 漏洞中可被利用的 API),并完全删除消息查找功能,进一步阻止漏洞被利用。

3 检测

下载检测工具 提取码: jibf
上传到服务器
LInux 服务器下处理方法

unzip log4j2check_v0.0.3 .zip 
cd log4j2check_v0.0.3 
chmod +x log4j2check_linux_amd64
./log4j2check_linux_amd64

扫描后日志存入同目录下的vuln.txt文件中
漏洞截图
在这里插入图片描述
无漏洞截图
在这里插入图片描述

Windows 服务器下检测方法
解压log4j2check_v0.0.3 .zip 文件
运行 og4j2check_windows_amd64.exe文件

4 处理

处理思路:升级至官网发布的2.16.0版本
处理优先选择官网最新版本升级进行处理,其次使用修改配置紧急缓解此漏洞。

4.1 升级处理

4.1.1 下载

官网下载
官网下载太慢可以使用如下 下载地址 提取码: bkyj

4.1.2 修复

整体修复批量替换或者单个替换,本次修复是按vuln.txt文件中的提示信息进行替换,
替换后重新使用工具检测。
以上是以比较粗况的方式进行升级,具体的修复需要使用下载的log4f2-2.16.0版本替换到代码程序中后,对应的调试,调试无误后,进行版本的整体升级。

4.1.3 验证

输出如下信息则说明漏洞修复完成
在这里插入图片描述

非必要情况下,不建议使用紧急处理方案。

4.2 紧急处理

a、修改jvm参数 -Dlog4j2.formatMsgNoLookups=true
b、修改配置:log4j2.formatMsgNoLookups=True
c、系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true

修复完毕重启应用

5 参考

Flink等多组件受影响,Apache Log4j曝史诗级漏洞

全球近一半企业受到影响,Apache Log4j 2 漏洞或将长存

Apache Log4j2 远程代码执行漏洞修复步骤

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐