Apache Log4j2 丨阿里云「流量+应用+主机」三重检测防护指南

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云防火墙,500元 1000GB
云安全中心漏洞修复资源包免费试用,100次1年
简介: 稳住,我们能赢(Log Win)

2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞(CNVD-2021-95914),此漏洞是一个基于Java的日志记录工具,为Log4j的升级。作为目前最优秀的Java日志框架之一,被大量用于业务系统开发。

漏洞情况

此次危机由Lookup功能引发,Log4j2在默认情况下会开启Lookup功能,提供给客户另一种添加特殊值到日志中的方式。此功能中也包含了对于JNDI的Lookup,但由于Lookup对于加载的JNDI内容未做任何限制,使得攻击者可以通过JNDI注入实现远程加载恶意类到应用中,从而造成RCE。

影响范围

Log4j2做为apache推出的一款主流日志框架,使用范围广大,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。

单从Maven仓库中看,存在漏洞的Log4j-core的直接应用就高达将近七千:

b1e139db79d15ab7b2887c062a844a7e.jpg

而在直接应用了Log4j-core的依赖中,就包含了SpringBoot、JBoss、Solr等十分流行的框架,

b33cfd86ccb06beac7de501dab548bd6.jpg

漏洞几乎影响所有使用Log4j2 2.15.0的用户,包含2.15.0-rc1也已经有绕过手法流出。

针对此漏洞,阿里云快速响应,已更新各安全产品规格实现流量+应用+主机侧的全面防御,阿里云安全也建议Apache Log4j2用户尽快采取安全措施阻止漏洞攻击

云上流量检测双重防护:

第一重:Web应用防火墙规则更新

面对漏洞的来势汹汹,Web应用防火墙作为流量防控先锋军,在原有规则上已具备JNDI注入防护能力,目前已更新对Apache Log4j 2.x的JNDI注入利用的增强防护规则

17b28222d437936f4c22083a0435e958.jpg
(图:阿里云Web应用防火墙规则更新情况)

第二重:云防火墙双向拦截

阿里云云防火墙也已完成规则更新,可对利用Apache Log4j2 远程代码执行漏洞发起的dnslog访问、反弹shell、jndi注入等攻击,以及此漏洞的探测结果外联行为等实时检测,并及时进行拦截。

用户可按如下步骤进行检测防御:

1.云上客户可以通过【云防火墙->攻击防护->防护配置->威胁引擎运行模式】一键开启拦截模式,开启后云防火墙将自动拦截攻击行为。

44773f532a2960725fb0b4d9e0f116fb.jpg

2.虚拟补丁能有效的帮助企业用户争取漏洞修复时间,避免应用程序的修复重启给业务带来不必要的风险与中断,通过【虚拟补丁->自定义选择】可以查看当前虚拟补丁类型、明细和当前动作。

9ea69298d47490df662428d0a2f31006.jpg

3.入侵防御界面通过对攻击聚类,实时显示攻击来源、攻击分布、阻断目的/来源TOP信息,方便进行溯源分析、事件排查和应急防御。

8384294f3bc4b83e8e45d7583933464d.jpg

阿里云云上RASP天然防护

不同于传统基于流量特征的防御方式,RASP(Runtime Application Self-Protection)作为一款基于行为和应用运行时上下文的防御产品,不会陷入特征穷举,而更加关注「正常基线」,即一个应用的正常使用行为有哪些,如果这个行为(如命令执行)不属于该功能的正常操作,则会进行拦截。

而此次的Log4j2漏洞,作为一款日志框架,相比起记录日志等类型的正常行为,进行命令注入、执行,本身就是一个明显的异常行为。RASP在默认规则下,会拦截掉所有因反序列、JNDI注入导致的命令执行、任意文件读取、恶意文件上传等危险行为。此次漏洞,系Log4j2的JNDI功能造成的命令执行漏洞,完全处在RASP覆盖场景之中,无需新增规则也能默认防御

用户可按如下步骤完成检测防御:

1、登录ARMS控制台;

0a44465e53f3bbee0cfc677113970846.jpg

说明:探针版本要求>=2.7.1.3,应用首次开启接入ARMS应用安全,需要重启应用实例才会生效

2、在左侧导航栏,选择应用安全 > 攻击统计页面:

88402c2cdc37da0da8d7c85470aee852.jpg
(图:阿里云RASP成功捕获到Log4j2漏洞利用与探测行为)

当受到Log4j2远程代码执行漏洞攻击时,ARMS应用安全会识别上报攻击行为事件,客户还可以通过配置告警规则,通过短信、钉钉、邮件等渠道接收攻击告警通知。

3、危险组件自动检测:在左侧导航栏,选择应用安全 > 危险组件检测,针对三方组件依赖自动分析关联CVE漏洞库并提供修复建议。

b77c024e9e9e8d94de282dad4a70b068.jpg

4、危险组件全量自查,用户可通过搜索查看所有接入应用是否包含Log4j组件,并确定Log4j组件的版本

9.jpg
(图:阿里云RASP在组件中发现Log4j组件)

如需更多信息,可查看:ARMS应用安全接入帮助(https://help.aliyun.com/document_detail/315397.html

此外,阿里云云盾WAF提供7天免费漏洞应急服务,为用户争取漏洞修复时间,应急开通地址:https://c.tb.cn/I3.XzCtR

云安全中心一键漏洞检测

在流量侧进行的漏洞发现与阻断防御,都是为最终修复漏洞争取宝贵的时间。阿里云云安全中心应用漏洞模块已支持一键检测:

10.jpg

阿里云安全建议

修复升级

  1. 排查应用是否引入了Apache Log4j-core Jar包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级Apache Log4j2所有相关应用到最新的 Log4j-2.15.0-rc2 版本,地址:https://github.com/apache/Logging-Log4j2/releases/tag/Log4j-2.15.0-rc2
  2. 升级已知受影响的应用及组件,如 spring-boot-starter-Log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink
  3. 可升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上,可以在一定程度上限制JNDI等漏洞利用方式。

安全建设

  1. 尽可能杜绝对外开放端口,加强对企业内部应用的证书验证管控,最大可能减少外网攻击面;
  2. 在外网开启Web应用防火墙+RASP组合,采取基于行为和应用运行时上下文的防御产品;
  3. 在安全配置评估中,严格控制开源软件安全,并自建内部安全版本库,及时更新;
  4. 建立多层检测防御体系,采用内网多层隔离,并全面提升威胁检测能力。
相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
18天前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
64 5
|
2月前
|
安全 网络协议 应用服务中间件
AJP Connector:深入解析及在Apache HTTP Server中的应用
【9月更文挑战第6天】在Java Web应用开发中,Tomcat作为广泛使用的Servlet容器,经常与Apache HTTP Server结合使用,以提供高效、稳定的Web服务。而AJP Connector(Apache JServ Protocol Connector)作为连接Tomcat和Apache HTTP Server的重要桥梁,扮演着至关重要的角色
74 2
|
2月前
|
机器学习/深度学习 存储 监控
Elasticsearch 在日志分析中的应用
【9月更文第2天】随着数字化转型的推进,日志数据的重要性日益凸显。日志不仅记录了系统的运行状态,还提供了宝贵的洞察,帮助企业改进产品质量、优化用户体验以及加强安全防护。Elasticsearch 作为一个分布式搜索和分析引擎,因其出色的性能和灵活性,成为了日志分析领域的首选工具之一。本文将探讨如何使用 Elasticsearch 作为日志分析平台的核心组件,并详细介绍 ELK(Elasticsearch, Logstash, Kibana)栈的搭建和配置流程。
263 4
|
3月前
|
Java API 开发者
你的应用是不是只有service_stdout.log?
本文记录了logback-spring.xml文件不生效问题的整体排查思路。
|
13天前
|
监控 负载均衡 API
Apache Apisix轻松打造亿级流量Api网关
Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上行、灰度发布、熔断、鉴权、可观测等丰富的流量管理功能。适用于处理传统南北向流量、服务间东西向流量及 k8s 入口控制。Airflow 是一个可编程、调度和监控的工作流平台,基于有向无环图 (DAG) 定义和执行任务,提供丰富的命令行工具和 Web 管理界面,方便系统运维和管理。
Apache Apisix轻松打造亿级流量Api网关
|
10天前
|
存储 SQL 监控
|
10天前
|
自然语言处理 监控 数据可视化
|
1月前
|
存储 分布式计算 druid
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
57 1
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
|
1月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
62 3
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
45 2

推荐镜像

更多