上次因为Apache Log4j2安全漏洞问题,把这个给漏洞也给搞出来了,本来访问这个ES只需要ip和端口,感觉还可以。哈哈哈哈,但是他不安全,如果它没检测出来,我就自然忽略就行了。
但是既然已经暴漏了,只能硬着头皮去做了。我看了安全漏洞分析的提示我,让我去用elasticsearch-http-basic这个插件,我顿时感觉人生有了目标。
于是我开始百度这个插件,废了就牛二虎之力下载到了这个最新版本的插件。
于是我又开始百度,这个插件如何使用,我按照流程做了配置,结果无论怎末都访问不了。不知到怎末回事。最后我又百度了一下什么原因,结果我看到了,这个ES6.8版本以后就不支持这个了,他有自己的一套认证了,那就是xpack。顿时感觉挺蛋疼的。哎,还是搜一下这个叫xpack如何使用吧。
就这样我又开始百度了,网上介绍的也不少,功夫不负有心人,终于被窝给搞定了。
具体怎末做的,下面我一一道来:
首先停掉ES服务:
然后在elasticsearch.yml配置文件中加上这句代码:xpack.security.enabled: true
找到elasticsearch的bin文件夹:
然后cmd 定位到bin文件夹,执行 ./elasticsearch-setup-passwords interactive
执行设置用户名和密码的命令,需要设置:elastic ,kibana,logstash_system,beats_system
然后重启一下ES服务,重新运行一下ES,出现的用户名和密码的认证了。
然后打开headmaster看看效果
看上去应该没啥问题了,但是我要如何通过代码访问ES数据库呢,因为以前访问就是直接ip和端口,现在肯定时不行了,那要如何访问呢,其实很简单,不需要大改只需要对访问es数据库
的http链接稍作修改就行:
http://ip:port/ 改为 http://用户名:密码@ip:端口 就可以了。