项目场景:
ES版本 : elasticsearch-7.6.1
问题描述:
最近被曝出来Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码 数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
查了一下服务器,发现 ES 服务刚好使用了 Log4j。现在国内写的人比较少,我便记录一下
解决方案:
-
查询出都 ES 服务都哪些地方使用了该文件(我这里将 log4j 已经替换成了 2.15 版本,替换前的版本好像是 2.11)
-
去官网下载更新好的版本和文件替换
官网链接:链接
下载好后根据上面搜索的文件替换即可 -
ES 服务重启
需要注意的点:
- 更换前就文件记得先备份,出现情况就可以及时恢复!
- 记得的切换文件的权限
- 文件一定要放在规定的位置!!!我就是因为将 log4j.1.2-api-2.15.0.jar 放在了 lib 文件下和 x-pack-core 文件下导致服务无法驱动