searchguard-6的安装和配置
2018-10-10 本文已影响1342人
chenfh5
记录一下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
![](https://img.haomeiwen.com/i2189341/6b5cc54e8f5cd190.png)
sg demo quick installer
![](https://img.haomeiwen.com/i2189341/533815b7692d7673.png)
![](https://img.haomeiwen.com/i2189341/bc149a416691eead.png)
- 对
install_demo_configuration.sh
赋权 - 运行
install_demo_configuration.sh
,此时该脚本会将秘钥文件生成,并cp到/config
下,同时append sg配置内容到/config/elasticsearch.yml
![](https://img.haomeiwen.com/i2189341/e5114eef4e903867.png)
启动es,正常。
通过浏览器访问es集群,不正常,报错如下,
![](https://img.haomeiwen.com/i2189341/b49e853a47f56b78.png)
应该是浏览器没有建立ssl链接,没有深究这方面,换了一种方式,即在esyml里把SSL关闭。
- 关闭SSL
![](https://img.haomeiwen.com/i2189341/9fc242de5273d26e.png)
![](https://img.haomeiwen.com/i2189341/5dcee5f23fdc7338.png)
![](https://img.haomeiwen.com/i2189341/dd1911c822071abb.png)
sg自定义1
基于demo生成的证书,直接修改原有账户名及其密码,
- 生成hash新密码
![](https://img.haomeiwen.com/i2189341/6d9f695ddf3e7744.png)
- 修改
/sgconfig/sg_internal_users.yml
![](https://img.haomeiwen.com/i2189341/45985fb64016b01a.png)
- 分发新配置到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
![](https://img.haomeiwen.com/i2189341/a099c9de070cc5c4.png)
sg自定义2
sg可以自定义密码和加密方式。首先下载ssl生成工具,然后进行自定义配置,
- git clone --depth=1 https://github.com/floragunncom/search-guard-ssl.git
- 配置ca
![](https://img.haomeiwen.com/i2189341/58313c9b38ab91de.png)
![](https://img.haomeiwen.com/i2189341/cc72b9dc974eafc9.png)
- 配置生成脚本
example.sh
![](https://img.haomeiwen.com/i2189341/78373c9f3bbe5988.png)
- cp生成的node证书到es/config
- 首先在es/config删除demo生成的(
*.pem
) - cp search-guard-ssl的
node-*-keystore.jks
和truststore.jks
到es/config
- 配置esyml
![](https://img.haomeiwen.com/i2189341/3d329e9effbb9e4f.png)
-
cp生成的client证书到/plugins/search-guard-6/sgconfig/
-
修改
/sgconfig/sg_internal_users.yml
![](https://img.haomeiwen.com/i2189341/8af3c60909a67abd.png)
![](https://img.haomeiwen.com/i2189341/7533b8d14f68e2da.png)
- 分发新配置到es集群
![](https://img.haomeiwen.com/i2189341/5e6404956e16ccac.png)