elasticsearch在暴露了一個node的ip和端口後就能夠對整個集羣進行各類操做,刪索引,改數據等。在重要的項目應用中,須要防範這一點。php
目前常見的安全防範方式有,html
- X-Pack Elasticsearch Security,收費License
- Search Guard,免費開源
1、安裝:
node
請打開Search Guard後,根據你的elasticsearch選擇不一樣的版本下載數據庫
輸入如下命令進行 安裝,請注意替換你的下載文件路徑vim
bin/elasticsearch-plugin install -b file:///home/vagrant/Code/search-guard-7-7.6.1-40.0.0.zip
2、配置後端
在安裝好的插件目錄tools中對對install_demo_configuration.sh
賦權瀏覽器
chmod +x tools/install_demo_configuration.sh
運行該插件:安全
./tools/install_demo_configuration.sh
安裝成功後會在elasticsearch 中的config/elasticsearch.yml中寫入search-guard的內容elasticsearch
再次在瀏覽器中輸入瀏覽地址,會提示你登錄ide
用戶及密碼信息設置:
1)生成hash密碼:
./tools/hash.sh -p abc321
-p 後面的參數據即abc321就爲密碼,生成後留下密碼備用
2)新建用戶:打開 sgconfig/sg_internal_users.yml 文件
該配置文件默認用戶相關信息請點擊:https://docs.search-guard.com/latest/demo-users-roles
vim ../sgconfig/sg_internal_users.yml
3)增長用戶myself
編輯 sg_internal_users.yml
vim ../sgconfig/sg_internal_users.yml
在文件中加入如下內容
myself: /*用戶名*/ hash: "$2y$12$GfJVId7fgMFkCZDtIA/boe5iL.AIsGK50SHvgEZ5fV1Oa38KrKwhu" /*上一步生成的hash密碼*/ reserved: true /**/ backend_roles: /*由受權後端(如LDAP,JWT或內部用戶數據庫)獲取的角色*/ - "admin"
4) 分發到集羣,使配置生效
cd ./plugins/search-guard-6/tools ./sgadmin.sh -cd ../sgconfig/ -icl -nhnv \ -cacert ../../../config/root-ca.pem \ -cert ../../../config/kirk.pem \ -key ../../../config/kirk-key.pem