百度
360搜索
搜狗搜索

log4j2漏洞,大数据组件Log4j2漏洞升级详细介绍

本文目录一览: Apache Log4j2远程代码执行漏洞

一、情况分析
近日,监测发现互联网中出现 Apache Log4j2 远程代码执行漏洞。攻击者可利用该漏洞构造特殊的数据请求包,最终触发远程代码执行。由于该漏洞影响范围极广,建议广大用户及时排查相关漏洞。
Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。
由于Apache Log4j2在JAVA应用中使用量大,目前已知受影响的组件应用有:Apache Struts2、Apache Solr、Apache Druid、Apache Flink,但问题不仅仅局限在这些项目,用Java开发的系统都有可能用此日志框架。
二、影响范围
Apache Log4j 2.x <= 2.14.1
三、处置建议
1、升级Apache Log4j2所有相关应用到最新的log4j-2.15.0-rc1版本,地址https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1
2、升级已知受影响的应用及组件,如spring-boot-start-log4j2/Apache Solr/Apache Flink/Apache Druid
排查方法:到服务器搜索排查Java应用是否引入 log4j-api , log4j-core 两个jar包,影响版本:Apache Log4j 2.x <= 2.14.1
参考链接
https://github.com/apache/logging-log4j2
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

分布式 log4j2 漏洞修复方案

dble 运行依赖许多组件的 jar 包,当遇到某个组件有漏洞时,需要紧急修复。
安全漏洞说明: https://nosec.org/home/detail/4917.html
??:方案1可实施,截止至北京时间2021年12月14日11时,log4j 官方已经发布 2.16.0 版本,相关 release notes: https://github.com/apache/logging-log4j2/blob/rel/2.16.0/RELEASE-NOTES.md
??:下面介绍的2,3步骤是临时缓解步骤,不排除有其他问题
dble版本:2.19.07.x - 3.21.10.x版本,2.19.07.x之前的版本需要自行尝试替换方案,官方不再提供支持
影响:需要重启 dble
步骤:
1.1 停止 dble
1.2 将 dble 服务器上 log4j 的 jar 包进行备份并 mv 至 /tmp/ 目录下
/path/to/dble/lib 下有四个 jar 包分别是:(操作前需要确认一下)
执行下面的操作:
1.3 将 log4j 2.16.0 版本的相关 jar 包,上传到该路径下/path/to/dble/lib,并变更权限 参考链接: https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.16.0/ ,其他jar在此网站上查找
1.4 重复1.2,1.3步骤升级其余三个jar包
1.5 启动dble
dble版本:理论上全版本dble适配
影响:需要重启dble
步骤:
在 dble 配置文件 /path/to/dble/conf 下添加配置文件 log4j2.component.properties
修改文件权限:
添加如下配置:
验证方式:
开发环境验证该变量重启后被加载,不重启情况下,不会被加载。
dble版本:适用于dble版本 < 3.20.07.0
3.20.07.0及之后的dble版本由于对 JVM 参数进行了限制,因此不支持此种方式,会在近期修复。
影响:需要重启dble
步骤:
在 dble 配置文件/path/to/dble/conf/wrapper.cof 中添加如下配置,并重启dble。
配置:
原环境中是否存在 wrapper.java.additional 的参数,下面配置中的14在原环境中按需替换
执行以下命令判断是否使用该参数启动:
不推荐

【预警通报】关于Apache Log4j2远程代码执行漏洞的紧急预警通报

近日,我中心技术支撑单位监测到Apache Log4j2远程代码执行高危漏洞,攻击者利用漏洞可以在目标服务器上执行任意代码。安全级别为“高危”。
一、漏洞情况
Apache Log4j2是一个基于Java的日志记录工具,存在JNDI注入漏洞,开发者可能会将用户输入导致的错误信息写入日志中,当程序将用户输入的数据进行日志记录时,即可触发此漏洞。
二、影响范围
Apache log4j2 2.0 - 2.14.1 版本均受影响。
三、处置建议
请广大用户更新官方安全补丁或升级到最新版本,并做好网络安全防护工作。
附件:参考链接 :https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

log4j2漏洞CVE44228官方修复方案

apache官网发布了log4j2的漏洞修复方案,大致是这么说的

log4j团队注意到了安全漏洞CVE-2021-44228,这个问题已经在 Log4j 2.15.0版本里修复了。

Log4j’s JNDI支持没有限定哪个名字可以被用,一些协议是非安全的,可能会被允许远程代码执行。log4j现在限制了只有java、ldap和ladps可以使用此协议,并且限制了ldap协议只能在本地访问java的私有对象。

由于log4j允许在日志消息里查找,这个场景可能会导致漏洞爆出。在log4j 2.15.0里这个特性被默认禁用了。尽管提供了启动查找的方式,用户依然强烈反对启用它。

对于无法升级到2.15.0的,并且版本>=2.10的,这个漏洞可以通过设置jvm参数 log4j2.formatMsgNoLookups 或者环境变量 LOG4J_FORMAT_MSG_NO_LOOKUPS 为true的方法去减轻问题。对于 2.0-beta9 to 2.10.0,可以通过移除 JndiLookup 类的方式减轻,命令为:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class。

以下为英文全文

The Log4j team has been made aware of a security vulnerability, CVE-2021-44228, that has been addressed in Log4j 2.15.0.

Log4j’s JNDI support has not restricted what names could be resolved. Some protocols are unsafe or can allow remote code execution. Log4j now limits the protocols by default to only java, ldap, and ldaps and limits the ldap protocols to only accessing Java primitive objects by default served on the local host.

One vector that allowed exposure to this vulnerability was Log4j’s allowance of Lookups to appear in log messages. As of Log4j 2.15.0 this feature is now disabled by default. While an option has been provided to enable Lookups in this fashion, users are strongly discouraged from enabling it.

阅读更多 >>>  网络安全大赛玩什么

For those who cannot upgrade to 2.15.0, in releases >=2.10, this vulnerability can be mitigated by setting either the system property log4j2.formatMsgNoLookups or the environment variable LOG4J_FORMAT_MSG_NO_LOOKUPS to true . For releases from 2.0-beta9 to 2.10.0, the mitigation is to remove the JndiLookup class from the classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class .

链接地址:https://logging.apache.org/log4j/2.x/

烽火狼烟丨Apache Log4j2远程代码执行漏洞(CVE44832)通告

漏洞概述

近日,WebRAY安全服务部监测到编号为CVE-2021-44832的Apache Log4j2远程代码执行漏洞。攻击者可以通过修改配置文件中JNDI 动态及远程获取数据库源处插入恶意代码,造成远程代码执行漏洞,但想要成功利用该漏洞需要攻击者有权限修改Log4j2的配置文件,利用难度较高。WebRAY安全服务部建议相关用户采取安全措施防止漏洞攻击。

Apache Log4j2是Log4j的升级版本,该版本与之前的log4j1.x相比性能显著提升;在修复了一些存在于Logback中固有的问题的同时,提供了很多在Logback中可用的性能。Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。

影响范围

2.0-beta7 <= Log4j2<= 2.17.0(不包括安全修复版本 2.3.2 和 2.12.4)

漏洞等级

WebRAY安全服务部风险评级:中危

修复建议

建议用户及时升级到Log4j 2.3.2(适用于Java 6)、2.12.4(适用于Java 7)或 2.17.1(适用于 Java 8 及更高版本),官方下载地址:
https://logging.apache.org/log4j/2.x/download.html

注:从2.17.1版本(适用于 Java 8 及更高版本)、2.12.4(适用于Java 7)、2.3.2(适用于Java 6)开始,已删除对LDAP协议的支持,并且 JNDI 连接仅支持JAVA协议。启用JNDI的属性已从“log4j2.enableJndi”重命名为三个单独的属性:log4j2.enableJndiLookup、log4j2.enableJndiJms和log4j2.enableJndiContextSelector。

参考链接

https://logging.apache.org/log4j/2.x/security.html
https://github.com/apache/logging-log4j2
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44832

烽火狼烟丨Apache Log4j2拒绝服务攻击(CVE45105)漏洞通告

漏洞概述

近日,WebRAY安全服务部监测到编号为:CVE-2021-45105的Apache Log4j2拒绝服务攻击漏洞,当系统日志配置使用非默认的模式布局和上下文查找时,攻击者可以通过构造包含递归查找数据包的方式,控制线程上下文映射 (MDC),导致StackOverflowError产生并终止进程,实现拒绝服务攻击。目前只有log4j-core JAR 文件受此漏洞影响。仅使用log4j-api JAR文件而不使用log4j-core JAR文件的应用程序不受此漏洞的影响。

Apache Log4j2是Log4j的升级版本,该版本与之前的log4j1.x相比带来了显著的性能提升,并且修复一些存在于Logback中固有的问题的同时提供了很多在Logback中可用的性能提升,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。

影响范围

漏洞等级

WebRAY安全服务部风险评级:高危

修复建议

1、官方已发布安全版本,请及时下载更新,下载地址:
https://github.com/apache/logging-log4j2/tags
2、临时缓解措施:
在日志记录配置的PatternLayout中,用线程上下文映射模式(%X、%mdc或%MDC)替换${ctx:loginId} 、${ctx:loginId} 等涉及上下文查找的内容。当所使用诸如HTTP标头或用户输入等应用程序外部的数据时,可以删除对上下文查找的引用。

log4j2低版本jndi漏洞修复及测试

参考:
PS:小于2.16还需要检查${{ctx:xxx}}删除
由于低版本(<2.10)的log4j2不支持log4j2.formatMsgNoLookups配置,设置后不会生效。
低版本除了升级版本、修改log4j2的类外,还可以通过简单的修改配置临时解决。
修复方法主要是指定日志不做转义,需要修改log4j2的Layout,即在%m %msg %message后加{nolookups}
修改前为
修改后为
如果有公网可以申请DNSLOG通过DNSLOG的解析记录验证,如果在内网无法访问公网可以启动rmi服务远程调起计算器【这里选择的是Tomcat的一个,可以根据自己的JDK版本选择】 参考: 《JDK 8u191之后的JNDI注入(RMI)》_公众号shadow sock7-CSDN博客
这里简单写个demo打印用户输入参数:
使用curl构造请求参数利用漏洞访问刚才启动的http服务
请求后可以看到应用日志中参数已经被转成了ELProcessor对象且计算器被运行了
按照修复方法进行修复后,重新运行应用:
重新执行curl,参数被原样打印:
处理日志信息的类:org.apache.logging.log4j.core.pattern.MessagePatternConverter在初始化时会判断nolookups参数:
在处理日志时,会根据noLookups判断是否处理${}
2.10以后的版本也大致相同:
这个环境变量在2.15后被废弃了,默认是nolookups.

警惕!Apache Log4j任意代码执行漏洞正被广泛利用

漏洞名称: Apache Log4j任意代码执行漏洞
漏洞性质: 任意代码执行

漏洞描述:
Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。log4j2是全球使用广泛的java日志框架,同时该漏洞还影响很多全球使用量的Top序列的通用开源组件,例如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink等。

漏洞危害:
Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据被日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码,可能对用户造成不可挽回的损失。
危害等级:严重
漏洞复现:
影响版本:
Apache Log4j 2.x <= 2.14.1
临时修复方案:
1.修改jvm参数 -Dlog4j2.formatMsgNoLookups=true
2.修改配置
log4j2.formatMsgNoLookups=True
3.将系统环境变量
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
修复建议:
1、厂商已发布升级修复漏洞,用户请尽快更新至安全版本:log4j-2.15.0-rc1 下载链接:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1
2、升级已知受影响的应用及组件,如srping-boot-strater-log4j2/Apache Solr/Apache Flink/Apache Druid
3、手动替换 log4j2 版本为 2.15.1-SNAPSHOT
log4j-core: https://repository.apache.org/content/groups/snapshots/org/apache/logging/log4j/log4j-core/2.15.1-SNAPSHOT/log4j-core-2.15.1-20211209.191737-4.jar
log4j-api:
https://repository.apache.org/content/groups/snapshots/org/apache/logging/log4j/log4j-api/2.15.1-SNAPSHOT/log4j-api-2.15.1-20211209.191737-4.jar
log4j-slf4j18-impl: https://repository.apache.org/content/groups/snapshots/org/apache/logging/log4j/log4j-slf4j18-impl/2.15.1-SNAPSHOT/log4j-slf4j18-impl-2.15.1-20211209.191737-4.jar
4、做好资产自查以及预防工作,以免遭受黑客攻击

大数据组件Log4j2漏洞升级

方案思路是,在初始化主机的时候加上防火墙策略,集群间开启白名单,对外开放我们需要用到的端口, firewall 可能要用到的语句如下:

其实一些像Zookeeper和Kafka这些用的Log4j是没有啥影响的,但是合作商需要你升级,因为一个漏洞就要把对应组件版本升级不太实际,组件的版本升级我们还需要做版本调研和适配,所以采用的方案是更换 jar包 重新打包,目前基于Java的组件如下: Zookeeper 、 Kafka 、 Flink 、 Elastiserch 、 Neo4j 还有自身的基于SpringBoot基础平台服务。

SpringBoot升级对应log4j2版本即可。

删除jar包

添加jar包

log4j.properties 文件

添加JVM配置,其中 log4j.configurationFile 用于指定log4j2的日志配置文件, zookeeper.jmx.log4j.disable 用于关闭jmx。

删除jar包

添加jar包

删除jar包

添加jar包

删除jar包

添加jar包

Neo4j 我们的版本没有影响,可以参考官方 《Apache Log4j Security Vulnerability》

像 Hadoop 、 Hbase 、 Hive 、 Spark 这些组件我们目前不做调整,有做过适配的欢迎推荐参考资料,因为不排除后期也要做升级处理。

腾讯安全刚刚给出了Log4j2核弹级漏洞线上修复方案!紧急修复

阅读更多 >>>  log4j2异步日志缺点,log4net异步写入日志

2月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。
因该组件使用极为广泛,利用门槛很低,危害极大,腾讯安全专家建议所有用户尽快升级到安全版本。
高危,该漏洞影响范围极广,利用门槛很低,危害极大。 CVSS评分:10(最高级)
Apache log4j2 >= 2.0,
Apache log4j2 2.15.0
综合国内机构意见,目前针对Apache Log4j漏洞的主要应对方法如下:
1.Apache Log4j 官方已经发布了解决上述漏洞的安全更新,建议受影响的用户尽快升级到安全版本:
安全版本 :log4j-2.15.0-rc2
官方安全版本下载可以参考以下链接:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2.建议对 Apache Struts2/Apache Solr/Apache Flink/Apache Druid 等已知受影响的应用及组件进行升级
1.设置jvm参数 -Dlog4j2.formatMsgNoLookups=true。
2.设置log4j2.formatMsgNoLookups=True。
3.设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 为 true。
4.采用 rasp 对lookup的调用进行阻断。
5.采用waf对请求流量中的${jndi进行拦截。
6.禁止不必要的业务访问外网。
腾讯安全服务解决方案: https://view.inews.qq.com/a/20211211A032S100

网站数据信息

"log4j2漏洞,大数据组件Log4j2漏洞升级"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:log4j2漏洞,大数据组件Log4j2漏洞升级的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!