共计 930 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | Log4j 是一个严重的安全漏洞,已迅速肆虐整个 IT 领域。不过您只需要运行单单一个命令,就可以测试并查看是否安装了任何容易受到攻击的软件包。 |
Log4j 漏洞是很严重的问题。这个零日漏洞影响 Log4j 库,让攻击者可以在依赖 Log4j 写入日志消息的系统上执行任意代码。
该漏洞拥有最高的 CVSS 评分:10.0,因此您需要格外留意。最大的问题之一是知道您是否容易受到攻击。Log4j 可以通过多种方式加以部署,因此情况变得更为复杂。您将它用作 Java 项目的一部分、将它并入到容器中,将它连同发行版软件包管理器一同安装,如果是这样,您安装了哪些 log4j 软件包? 还是说您是从源代码来安装它的? 正因为情况很复杂,您甚至可能不知道自己的服务器是否容易受到攻击。
幸好,GitHub 用户 Rubo77 针对 Linux 服务器创建了一个脚本,可用于检查含有容易受到攻击的 Log4j 实例的软件包。它处于测试版阶段,并非百分之百可靠,不过使用它是很好的起点。要明白,该脚本并不测试与应用程序一起打包的 jar 文件,因此它只是您开始剖析漏洞的一个起点而已。
我在一台我知道安装了容易受到攻击的 Log4j 软件包的服务器上测试了这个脚本,它正确地标记出该服务器易受攻击。下面介绍如何在您的 Linux 服务器上运行这同一个脚本,以查明自己是否容易受到攻击。登录到您的服务器并执行命令:
wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q -O - | bash
如果您的服务器容易受到攻击,该命令的输出会提供一些线索。如您所见 (图 A),我的实例含有 liblog4j2-java 版本 2.11.2-1,该版本存在这个漏洞。在这种情况下,我应立即升级到 2.15.0。如果无法安装升级版,问题会一直存在,直至给软件包打上补丁。
请记住,该脚本并非万无一失,而是一个很好的起点。即使您的服务器不易受到攻击,也要确保您已更新了每个必要的软件包,以避免受到该漏洞的影响。