searchguard-6的安装和配置

记录一下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和端口后就可以对整个集群进行各种操作,删索引,改数据等。在重要的项目应用中,需要防范这一点。

目前常见的安全防范方式有,

  1. X-Pack Elasticsearch Security,收费License
  2. 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

  1. tar -zxvf elasticsearch-6.4.2.tar.gz
  2. cd elasticsearch-6.4.2
  3. bin/elasticsearch-plugin install -b file:///path/to/search-guard-6-6.4.2-23.1.zip
searchguard-6的安装和配置_第1张图片
sg plugin install success

sg demo quick installer

searchguard-6的安装和配置_第2张图片
run demo installer, failed
searchguard-6的安装和配置_第3张图片
run demo installer2, succeeded
  1. install_demo_configuration.sh赋权
  2. 运行install_demo_configuration.sh,此时该脚本会将秘钥文件生成,并cp到/config下,同时append sg配置内容到/config/elasticsearch.yml
searchguard-6的安装和配置_第4张图片
sg自动append的esyml

启动es,正常。
通过浏览器访问es集群,不正常,报错如下,

searchguard-6的安装和配置_第5张图片
SSLException

应该是浏览器没有建立ssl链接,没有深究这方面,换了一种方式,即在esyml里把SSL关闭。

  1. 关闭SSL
searchguard-6的安装和配置_第6张图片
esyml
searchguard-6的安装和配置_第7张图片
es login succeeded
searchguard-6的安装和配置_第8张图片
sg demo config

sg自定义1

基于demo生成的证书,直接修改原有账户名及其密码,

  1. 生成hash新密码
hash new password
  1. 修改/sgconfig/sg_internal_users.yml
searchguard-6的安装和配置_第9张图片
image.png
  1. 分发新配置到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 
searchguard-6的安装和配置_第10张图片
snapshot of new account and password

sg自定义2

sg可以自定义密码和加密方式。首先下载ssl生成工具,然后进行自定义配置,

  1. git clone --depth=1 https://github.com/floragunncom/search-guard-ssl.git
  2. 配置ca
searchguard-6的安装和配置_第11张图片
root-ca
searchguard-6的安装和配置_第12张图片
signing-ca
  1. 配置生成脚本example.sh
searchguard-6的安装和配置_第13张图片
root,node,client的ca生成配置
  1. cp生成的node证书到es/config
  • 首先在es/config删除demo生成的(*.pem)
  • cp search-guard-ssl的node-*-keystore.jkstruststore.jks到es/config
  1. 配置esyml
searchguard-6的安装和配置_第14张图片
esyml
  1. cp生成的client证书到/plugins/search-guard-6/sgconfig/

  2. 修改/sgconfig/sg_internal_users.yml

生成hash password
searchguard-6的安装和配置_第15张图片
配置sg_internal_users.yml
  1. 分发新配置到es集群
searchguard-6的安装和配置_第16张图片
重启使之生效

Reference

  • Search Guard Installation
  • Search Guard Demo Installer
  • ElasticSearch&Search-guard 5 权限配置
  • SearchGuard权限配置

你可能感兴趣的:(searchguard-6的安装和配置)