0
点赞
收藏
分享

微信扫一扫

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复

1、演示说明:

最近在项目中遇到用户扫描es时发现Apache Log4j2远程代码执行漏洞(CVE-2021-44228),该漏洞具体原理不再赘述,此处分享解决过程。

2、演示环境:

(1)系统版本:

# cat /etc/redhat-release

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_CVE-2021-44228

(2)JDK版本:

# java -version

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_elasticsearch_02

(3)es版本:

# ./elasticsearch -V

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_log4j2-scan_03

3、下载命令行扫描工具:

下载地址:https://github.com/logpresso/CVE-2021-44228-Scanner

软件包名称:logpresso-log4j2-scan-3.0.1-linux.tar.gz 

4、命令行扫描工具使用:

# cd /tmp
# tar -xf logpresso-log4j2-scan-3.0.1-linux.tar.gz
# ./log4j2-scan /elasticsearch/

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_log4j2-scan_04

[*] Found CVE-2021-44228 (log4j 2.x) vulnerability in /elasticsearch/lib/log4j-core-2.9.1.jar, log4j 2.9.1

说明:存在Apache Log4j2远程代码执行漏洞(CVE-2021-44228)。

5、两种解决方案:

(1)升级es版本:此处演示的es版本为5.6.8,升级到6.8.22+或7.16.2+版本,但项目中的sdk可能不适配,有一定风险。

(2)升级log4j2版本:此处演示的log4j2版本为2.9.1,升级到2.17.0+版本。

说明:此处使用解决方案2,用到的log4j2版本为2.17.2。

6、具体操作步骤:

(1)停止es

(2)到es目录下的lib目录,将原有log4j-1.2-api-2.9.1.jar、log4j-api-2.9.1.jar、log4j-core-2.9.1.jar备份

# cd /elasticsearch/lib
# mv log4j-1.2-api-2.9.1.jar{,.bak}
# mv log4j-api-2.9.1.jar{,.bak}
# mv log4j-core-2.9.1.jar{,.bak}
# ls -lh log4j-*

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_elasticsearch_05

(3)下载log4j-1.2-api-2.17.2.jar、log4j-api-2.17.2.jar、log4j-core-2.17.2.jar,全复制至lib目录下

# ls /tmp/log4j-*

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_Log4j2_06

# mv /tmp/log4j-* .
# ls -lh log4j-*

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_Log4j2_07

(4)启动es

7、命令行工具扫描:

# cd /tmp
# ./log4j2-scan /elasticsearch/

Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复_elasticsearch_08

说明:已经没有之前的提示了,漏洞修复完成。

举报

相关推荐

0 条评论