上次因為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:端口 就可以了。