2021年12月报Log4j1.2网络安全漏洞排查和修复建议

Posted java组长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年12月报Log4j1.2网络安全漏洞排查和修复建议相关的知识,希望对你有一定的参考价值。

  • 漏洞影响范围

Apache Log4j2远程代码执行漏洞CVE-2021-4104:Apache Log4j 1.2

Apache Log4j2远程代码执行漏洞CVE-2021-44228:Apache Log4j 2.0-beta9 - 2.12.1 、Apache Log4j 2.13.0 -

2.15.0-rc1

Apache Log4j2 拒绝服务攻击漏洞CVE-2021-45046:Apache Log4j 2.0-beta9 - 2.12.1、Apache Log4j 2.13.0-2.15.0

Apache Log4j2 拒绝服务漏洞CVE-2021-45105:Apache Log4j 2.0-beta9 - 2.16.0

  • Log4j1.2  受影响

远程代码执行漏洞CVE-2021-4104

修复方法如下优先采用缓解措施):

ApacheLog4j 1.2中存在RCE漏洞(CVE-2021-4104,仅配置为使用JMSAppender时存在,非默认),建议相关用户升级到Log4j 2的最新版本。

缓解措施:

注释或删除 Log4j 配置中的 JMSAppender。

使用此命令从log4j jar包中删除 JMSAppender 类文件:

zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class

参考链接:

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C1a5a0193-71c4-0613-ca92-f50f801543d9@apache.org%3E

  • Log4j2.x  受影响

拒绝服务漏洞CVE-2021-45046

修复方法如下优先采用缓解措施):

Java8或更高版本应升级到 Apache Log4j 2.16.0 版本。

使用Java 7 的用户应升级到Apache Log4j 2.12.2版本。

删除 JndiLookup 类:

zip-q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

参考链接:

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C13e07d4e-ceb6-e510-be98-7d2ee8fa0a85@apache.org%3E

下载链接:

https://logging.apache.org/log4j/2.x/download.html

注:只有log4j-core JAR文件受CVE-2021-44228和CVE-2021-45046漏洞的影响。只使用log4j-api JAR文件而不使用log4j-core JAR文件的应用程序不会受到影响

远程代码执行漏洞CVE-2021-44228

修复方法如下优先采用缓解措施):

受影响用户应升级到Apache Log4j 2.15.0-rc2及以上版本,建议升级到 2.16.0 版本(Java 8或更高版本)。

使用Java 7的用户应升级到Apache Log4j 2.12.2版本。

删除 JndiLookup 类:

zip -q -dlog4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

参考链接:

Log4j – Apache Log4j 2

拒绝服务漏洞CVE-2021-45105

Log4j 1.x:不受 CVE-2021-45105 漏洞影响。

Log4j 2.x:Java 8 或更高版本用户建议升级到 2.17.0 版。

缓解措施:

1、在日志配置的 PatternLayout 中,用线程上下文映射模式(%X,%mdc 或%mdc)

替换上下文查找,如$ctx:loginId或$$ctx:loginId。

2、否则,在配置中,删除对上下文查找的引用,如 $ctx:loginId 或 $$ctx:

loginId,它们源自应用程序外部的源,如 HTTP 头或用户输入。

下载链接:

https://logging.apache.org/log4j/2.x/download.html

注 : 只 有 log4j-core JAR 文件受 CVE-2021-44228 、 CVE-2021-45046 和

CVE-2021-45105 漏洞的影响。只使用 log4j-api JAR 文件而不使用 log4j-core JAR 文件的应用程序不会受到影响。

通用临时方案(CVE-2021-44228)

  1. 建议JDK使用6u211、7u201、8u191、11.0.1及以上的版本;
  2. 对于>=2.10版本:
  3. 添加jvm启动参数:-Dlog4j2.formatMsgNoLookups=true;在log4j2.component.properties配置文件中增加如下内容:log4j2.formatMsgNoLookups=true;系统环境变量中将LOG4J_FORMAT_MSG_NO_LOOKUPS设置为true;
  4. 对于2.7-2.14.1版本:
  5. 可以修改所有PatternLayout模式,将消息转换器指定为%mnolookups,而不仅仅是%m。
  6. 对于2.0-beta9-2.7版本:
  7. 唯一的缓解措施是删除jndiookup类:

zip -q -dlog4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

  1. 禁止安装log4j的服务器访问外网,并在边界对dnslog相关域名访问进行检测。

  • log4j本地检测使用方法

检测结果出现log4j 1.2、log4j 2.x表示受漏洞影响,具体受影响漏洞类型及修复参考第一、二、三章节。

  • windows系统

建议将程序放到磁盘根目录下面,通过cmd控制台执行。若文件较多,时间较长,请耐心等待。

  • linux系统

需将程序放到磁盘 / 根目录下面后,将程序设置为执行权限;

chmod +x log4j_vul_check_linux

 

 附:排查的小工具分享

log4j漏洞排查小工具-网络安全文档类资源-CSDN下载

 

以上是关于2021年12月报Log4j1.2网络安全漏洞排查和修复建议的主要内容,如果未能解决你的问题,请参考以下文章

2021 年 12 月头号恶意软件:TrickbotEmotet 和 Log4j 攻击

WSO2IS:Log4j 1.2 安全漏洞

Log4j 2漏洞(CVE-2021-44228)的快速响应

分布式 log4j2 漏洞修复方案

Log4j最新高危漏洞

Log4j 被曝核弹级漏洞,开发者炸锅