侧边栏壁纸
博主头像
SRE实战博主等级

行动起来,活在当下

  • 累计撰写 9 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Apache Log4j2漏洞修复

Miracle
2024-03-01 / 0 评论 / 0 点赞 / 20 阅读 / 5524 字

一、漏洞描述

CNVD-ID:CNVD-2021-95919

公开日期:2021-12-10

危害级别:高

影响产品:Apache Log4j2 >=2.0,<=2.15.0-rc1

漏洞描述:Apache Log4j是一个基于Java的日志记录组件。Apache Log4j2是Log4j的升级版本,通过重写Log4j引入了丰富的功能特性。该日志组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息。

Apache Log4j2存在远程代码执行漏洞,攻击者可利用该漏洞向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

漏洞类型:通用型漏洞

漏洞解决方案:目前厂商已提供相关漏洞补丁链接,请关注以下及时更新:
https://github.com/apache/logging-log4j2/releases/tag/rel%2F2.16.0

临时性缓解措施:

1. jvm 参数中添加 -Dlog4j2.formatMsgNoLookups=true。

2. 系统环境变量中将LOG4J_FORMAT_MSG_NO_LOOKUPS 设置为 true。

3. 创建log4j2.component.properties文件,文件中增加配置log4j2.formatMsgNoLookups=true

4. 若相关用户暂时无法进行升级操作,也可通过禁止Log4j中SocketServer类所启用的socket端对公网开放来进行防护。

5. 禁止安装log4j的服务器访问外网,并在边界对dnslog相关域名访问进行检测。ceye.iodnslog.linkdnslog.cndnslog.iotu4.orgawvsscan119.autoverify.cnburpcollaborator.nets0x.cn

二、昊沧内部已知问题

问题组件:

kafka_2.12-2.2.0、apache-storm-1.2.2、solr-7.5.0,其它待确认。

三、建议修复方式

1. 重新编译kafka、storm、solr版本,将最新版本的log4j2集成。待测试兼容和稳定性。

2. 禁止kafka、storm、solr程序所在机器上网,仅相关节点机器可相互访问,同时禁止对外做端口映射。此为项目部署前期执行的默认策略。需增加防火墙屏蔽dnslog域名。(推荐)

3. jvm启动参数中添加 -Dlog4j2.formatMsgNoLookups=true配置参数,临时解决方案,后续待稳定版本发布后同步升级。

4. 使用find / -name log4j-core-2*.jar找到log4j2的jar包,然后使用 zip 命令从 JAR 包中删除 JndiLookup.class(推荐)。

zip -q -d '这里填写JAR包路径' org/apache/logging/log4j/core/lookup/JndiLookup.class

四、检测方式介绍

Linux:https://file.hc-yun.com/scan/log4j2_local_scanner_linux_amd64.v3_1.tar.gz

Windows:https://file.hc-yun.com/scan/log4j2_local_scanner_windows_amd64.v3_1.tar.gz

Mac:https://file.hc-yun.com/scan/log4j2_local_scanner_darwin_amd64.v3_1.tar.gz

# 支持 Windows/Linux/Mac 多种操作系统,而且扫描速度大大加快。使用方式:

# 检测单个文件

sudo ./log4j2_local_scanner -root ./log4j-core-2.10.0.jar

# 检测单个目录

sudo ./log4j2_local_scanner -root /var/html/

# 检测系统所有 jar 文件

sudo ./log4j2_local_scanner -root /

# Windows 服务器扫描 C 盘,使用系统权限执行

log4j2_local_scanner -root C:\

# 检测并将有漏洞的文件写入日志文件

sudo ./log4j2_local_scanner -root / -output scan.log

如果包含 \[Vulnerable\] 说明这个文件存在漏洞,本工具只是用来发现存在漏洞的jar文件,但是漏洞利用还取决于配置,所以实际是否受到漏洞的影响还以实际情况为准。

Linux

发现风险文件

image.png

未发现风险文件

image.png

Windows

发现风险文件

image.png

未发现风险文件

image.png

MAC

发现风险文件

image.png

未发现风险文件

image.png

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区