Log4j 曝核弹级漏洞,一行配置修复,速改

简介: Log4j 曝核弹级漏洞,一行配置修复,速改

紧急!Log4j 曝核弹级漏洞;一行配置修复,速改!


目录



59.png

周末快乐呀!不过看完这个,你可能就快乐不起来了,说不定还得加个班儿呢!

昨天(周五),一如既往的重复着每天的搬砖日常,突然又收到了公众号【阿里云应急响应】紧急更新通告;为啥说呢?因为在10个小时之前,已经推送过一次了;60.png


本来以为只是再次提醒一下,仔细一看,发现是在短时间内爆出了连环漏洞;看样子挺严重的,立马放下手中的其他事情,重点关注了一下;


漏洞曝光的主要目的是提醒使用者尽快修复,但同时也让那些不法份子知道了漏洞的存在,所以这种严重漏洞一定要引起重视!


漏洞描述


Apache Log4j2是一款优秀的Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.15.0 版本。阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。

漏洞评级

严重

61.png

62.png


影响版本

Apache Log4j 2.x < 2.15.0


Spring Boot最简修复方式


有小伙伴希望能通过Spring Boot的Starter快速解决,还给Spring Boot提了Issue,希望spring-boot-starter-log4j2能支持2.15的版本

63.png

截至目前,log4j最新的release版本2.15.0已经上线;

Spring Boot项目只需要在pom.xml文件添加一行配置解决

<properties>
    <log4j2.version>2.15.0</log4j2.version>
</properties>

63.png

本次漏洞影响范围

已知受影响应用及组件


Apache Solr


Apache Struts2


Apache Flink


Apache Druid


srping-boot-strater-log4j2


Apache Dubbo


Apache Kafka


ElasticSearch


Redis


Logstash



漏洞排查方式

  1. 解压Jar包,看是否存在org/apache/logging/log4j相关结构路径

64.png

依赖检查,看是否存在以下依赖,并升级至log4j-2.15.0及以上

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.15.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.15.0</version>
</dependency>


检查日志


攻击者在利用前通常采用dnslog方式进行扫描、探测,常见的漏洞利用方式可通过应用系统报错日志中的”javax.naming.CommunicationException”、”javax.naming.NamingException: problem generating object using object factory”、”Error looking up JNDI resource”关键字进行排查。65.png


数据包

攻击者发送的数据包中可能存在”${jndi:}” 字样,推荐使用全流量或WAF设备进行检索排查。66.png


其他处理方式


若无必要,禁止业务对外网暴露

设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”

在设置“log4j2.formatMsgNoLookups=True”

系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

建议JDK使用11.0.1、8u191、7u201、6u211及以上的高版本


声明

本安全公告仅用来描述可能存在的安全问题,本博主不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责;作者不为此承担任何责任。

目录
相关文章
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
557 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
SQL
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
51 5
|
3月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
3月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
49 1
|
3月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
243 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
5月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
61 6
|
5月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
51 4