一、Elasticsearch关于Log4j2漏洞的官方说明
可以参考如下链接
https://discuss.elastic.co/t/apache-log4j2-remote-code-execution-rce-vulnerability-cve-2021-44228-esa-2021-31/291476
摘要:2021年12月9日,Log4j的GitHub公开披露了一个影响Apache Log4j2多个版本的高严重性漏洞 (CVE-2021-44228) 该漏洞影响了Apache Log4j2的2.0到2.14.1版本。
Github地址:https://logging.apache.org/log4j/2.x/
本公告总结了对 Elastic 产品的任何潜在影响以及缓解问题的相关公告。Elastic 官方工程和安全团队继续积极开展分析和(探讨)我们的用户应执行的任何操作,同时识别可用于识别漏洞潜在利用的检测签名。
Elasticsearch 公告 (ESA-2021-31) Log4j 是包括 Elasticsearch在内的无数Java应用程序使用的标准日志记录库。由于我们使用了Java安全管理器,Elasticsearch不易受此漏洞的远程代码执行影响,但是很快我们将提供Elasticsearch 6.8.21和7.16.1,这将删除易受攻击的Log4j组件并设置下面标识的JVM选项。
- 1、 Elasticsearch 受影响的版本
Elasticsearch 5.0.0+ 版本包含一个易受攻击的 Log4j 版本,以及缓解攻击的安全管理器(Security Manager)。
- 2、 Elasticsearch 解决方案和缓解措施
方案一:用户可在 Elasticsearch 6.8.22 或 7.16.1 发布后升级
方案二:设置 JVM 选项
-Dlog4j2.formatMsgNoLookups=true
二、ElasticSearch安全更新版本已发布
2021.12.14 ElasticSearch官方已经发布漏洞修复版本7.16.1 6.8.21版本
用户可以升级到Elasticsearch 7.16.1 69或6.8.21 , 于2021年12月13日发布。
这些版本没有升级 Log4j 包,而是通过设置JVM 选项来缓解漏洞 -
Dlog4j2.formatMsgNoLookups=true 并从 Log4j 包中删除易受攻击的 JndiLookup 类。
三、ElasticSearch安全版本升级步骤
1、确认当前ElasticSearch版本
rpm -aq | grep elasticsearch
2、下载最新elasticsearch安全版本7.16.1
腾讯云镜像站
https://mirrors.cloud.tencent.com/elasticstack/7.x/yum/7.16.1/elasticsearch-7.16.1-x86_64.rpm
3、上传并安装
rpm -Uvh elasticsearch-7.16.1-x86_64.rpm
4、重启elasticsearch服务
systemctl daemon-reload systemctl restart elasticsearch.service
5、确认是否生效
ps -ef | grep log4j2.formatMsgNoLookups=true
四、Elasticsearch Log4j缓解措施
所使用Elasticsearch的版本6.X 5.X 7.X均有,不便于升级的话,可以使用缓解措施
以RPM安装的Elasticsearch 6.8.8版本为例
1、切换到配置目录下
cd /etc/elasticsearch
2、vim jvm.options 在配置文件中加入如下一行
vim jvm.options #加入如下行 -Dlog4j2.formatMsgNoLookups=true
3、然后重启elasticsearch服务生效
systemctl restart elasticsearch.service ;log4j2.formatMsgNoLookups=true 参数确认