机房360首页
当前位置:首页 » 服务器资讯 » 一条命令迅速排查大量服务器是否存在Apache Log4j2漏洞风险

一条命令迅速排查大量服务器是否存在Apache Log4j2漏洞风险

来源:网易科技 作者: 更新时间:2021/12/27 9:58:17

摘要:可以说一条命令就得出结论,排查出我们大量服务器是否存在Apache Log4j2远程代码执行漏洞!!!本篇就来介绍一下本人的排查思路,大家可以参看一下哈~

  最近,搞IT的小伙伴们我想都知道Apache被爆出来的这个log4j2远程代码执行漏洞,这个漏洞可以说影响范围极广,危害性非常强,所以大家一定要小心!Apache Log4j2是一个基于Java的日志记录工具,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。那么,我们如何快速地排查我们运行着的服务器是否存在这个Log4j2漏洞风险呢?本人当时一出来这个漏洞告警第一时间就排查出来了,可以说一条命令就得出结论,排查出我们大量服务器是否存在Apache Log4j2远程代码执行漏洞!!!本篇就来介绍一下本人的排查思路,大家可以参看一下哈~

  最简单的思路是查看服务器是否存在Log4j组件,那么Linux运维工程师们一条命令如下:

  find / -name "*log4j-*.jar"

  我们查找有没有存在这个log4j包的路径就行了,如果有的话就深入分析自己运行的版本是否有影响,现在受影响的版本是Apache log4j2 2.0 - 2.14.1的版本。

  那么如果只有少量服务器还好,有大量成百上千的服务器一台台去查看不得累死,所以就得有批量执行查看的思路,本人这里就采用了Ansible这款批量自动化运维神器了,在Ansible主机上执行命令如下:

  ansible Linux -m command -a "find / -name '*log4j-*.jar'"

  这条命令后,被ansible管理的所有远程主机会全部执行find命令后搜索显示结果,这样我们是不是第一时间就可排查出来了。

  如果大家要确认服务器运行着的Log4j到底是否有影响,这里有个脚本可以排查,下载链接如下:https://static.threatbook.cn/tools/log4j-local-check.sh,脚本原理是首先通过读取系统中所有打开的文件,来读取所有加载了的log4j的jar包,然后识别log4j 2.x的jar包文件名特征来识别出结果,如果没检测出来,则对其他jar包进行正则匹配 log4j-core,看是否有引用该jar包,如果显示 jar包路径,则说明存在该漏洞,没有则说明没有直接加载log4j对应jar包。

  以下运行结果表示不存在log4j2漏洞风险。

  以下运行结果表示存在log4j2漏洞风险,可以看到运行的log4j版本为2.13.3为受影响的版本。

  接下来我们通过Ansible批量执行这个shell脚本命令如下:

  ansible Linux -m script -a "/root/log4j-check.sh"

  最后,我们所有的服务器运行log4j情况是不是就一目了然地展现出来了,就可以迅速排查出log4j2漏洞风险了。

  (正文完)

  责任编辑:张华

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/20211227/n2928142518.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片