由于 log4j 漏洞,我需要修补无法立即更新的 elasticsearch 5.6.16 实例。
docker 镜像使用:
- /usr/share/elasticsearch/lib/log4j-core-2.11.1.jar
- /usr/share/elasticsearch/log4j-core-2.11.1.jar
elasticsearch 5.6.16 可以与 log4j-core-2.16 一起使用吗?
用可以在此处找到的核心 jar 替换两者是否是正确的方法 https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.16.0/ ?
最佳答案
根据official security announcement ,如果您在 5.6.16 上运行,则不需要升级 Log4J,只需设置 following JVM option
-Dlog4j2.formatMsgNoLookups=true
作为额外的缓解措施,您还可以使用以下方法从 log4j JAR 中删除 JndiLookup
类:
zip -q -d <ES_HOME>/lib/log4j-core-2.* org/apache/logging/log4j/core/lookup/JndiLookup.class
关于Elasticsearch 5.6.16 补丁 log4j 与 2.16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70371329/