1、编辑 ElasticSearch服务的 jvm.options 文件,添加JVM参数配置:
-Dlog4j2.formatMsgNoLookups=true
通过执行 curl -XGET http://192.168.10.74:9200/_nodes/jvm?pretty | grep log4j2 命令检查 ElasticSearch 服务的jvm配置内容。
2、如果使用的log4j-core-<version>版本是在2.10之前的,是无法设置log4j2.formatMsgNoLookups=true jvm参数解决安全问题,需要删除log4j.jar文件中的 JndiLookup.class 屏蔽安全问题。
示例:通过解压log4j-core-2.9.1.jar 删除JndiLookup.class屏蔽安全问题。
zip -d lib/log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
通过jar tvf lib/log4j-core-*.jar | grep -i JndiLookup如果找到文件,说明删除成功,然后将jar包应用到ElasticSearch服务中,重启ElasticSearch服务。
具体可参考文章链接:https://xeraa.net/blog/2021_mitigate-log4j2-log4shell-elasticsearch/