记录一下searchguard-6的安装和配置过程,目录如下,
0. Overview
1. 版本
2. 安装search guard
- sg plugin installation
- sg demo quick installer
- sg自定义1
- sg自定义2
3. Reference
Overview
elasticsearch在暴露了一个node的ip和端口后就可以对整个集群进行各种操作,删索引,改数据等。在重要的项目应用中,需要防范这一点。
目前常见的安全防范方式有,
- X-Pack Elasticsearch Security,收费License
- Search Guard,免费开源
下面就Search Guard,将其最小化安装到es集群。
版本
- elasticsearch-6.4.2.tar.gz
- search-guard-6-6.4.2-23.1.zip
安装search guard
sg plugin installation
- tar -zxvf elasticsearch-6.4.2.tar.gz
- cd elasticsearch-6.4.2
- bin/elasticsearch-plugin install -b file:///path/to/search-guard-6-6.4.2-23.1.zip
sg demo quick installer
run demo installer, failed run demo installer2, succeeded- 对
install_demo_configuration.sh
赋权 - 运行
install_demo_configuration.sh
,此时该脚本会将秘钥文件生成,并cp到/config
下,同时append sg配置内容到/config/elasticsearch.yml
启动es,正常。
通过浏览器访问es集群,不正常,报错如下,
应该是浏览器没有建立ssl链接,没有深究这方面,换了一种方式,即在esyml里把SSL关闭。
- 关闭SSL
sg自定义1
基于demo生成的证书,直接修改原有账户名及其密码,
- 生成hash新密码
- 修改
/sgconfig/sg_internal_users.yml
- 分发新配置到es集群
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
snapshot of new account and password
sg自定义2
sg可以自定义密码和加密方式。首先下载ssl生成工具,然后进行自定义配置,
- git clone --depth=1 https://github.com/floragunncom/search-guard-ssl.git
- 配置ca
- 配置生成脚本
example.sh
- cp生成的node证书到es/config
- 首先在es/config删除demo生成的(
*.pem
) - cp search-guard-ssl的
node-*-keystore.jks
和truststore.jks
到es/config
- 配置esyml
-
cp生成的client证书到/plugins/search-guard-6/sgconfig/
-
修改
/sgconfig/sg_internal_users.yml
- 分发新配置到es集群
网友评论