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