ElasticSearch配置SearchGuard

一、安装ElasticSearch6.4.3

下载ElasticSearch6.4.3

1、解压到/usr/local/elasticsearch-6.4.3

tar -zxvf elasticsearch-6.4.3.tar.gz

2、修改配置文件elasticsearch.yml

cluster.name: searchguard_demo
node.name: node123
network.host: 0.0.0.0

2、创建linux用户es

groupadd elasticsearch
useradd es -g elasticsearch-p 123456
chown -R es:elasticsearch  /usr/local/elasticsearch-6.4.3

3、设置打开文件数量和最大内存大小

# vi /etc/security/limits.conf

添加下面内容:

es hard nofile 65536

es soft nofile 65536
# vi /etc/sysctl.conf

添加下面内容:

vm.max_map_count=262144
加载系统参数

# sysctl -p

4、给es用户文件elasticsearch-6.4.3

# chown -R es /usr/local/elasticsearch-6.4.3

5、切换用户到es

# su es

6、设置权限

chmod -R 777 /usr/local/elasticsearch-6.4.3/

二、安装SearchGuard

1、去官网下载search-guard-6-6.4.3-25.5.zip

https://releases.floragunn.com/search-guard-6/6.4.3-25.5/search-guard-6-6.4.3-25.5.zip

2、其他es版本对应searchguard版本

Latest Search Guard Versions | Elasticsearch Security | Search Guard

3、将下载的zip包复制到/usr/local/elasticsearch-6.4.3下(可以是其他目录)

4、安装

#cd /usr/local/elasticsearch-6.4.3
#bin/elasticsearch-plugin install -b file:./search-guard-6-6.4.3-25.5.zip

5、修改admin密码(此处的es6sg@asdftgb为密码,按照实际情况更改)

$ chmod -R 777 /usr/local/elasticsearch-6.4.3/plugins/search-guard-6/
$ cd /usr/local/elasticsearch-6.4.3/plugins/search-guard-6/tools
$ ./hash.sh -p es6sg@asdftgb

复制打印的hash到/usr/local/elasticsearch-6.4.3/plugins/search-guard-6/sgconfig/ sg_internal_users.yml里,替换原来的密码:

6、执行demo配置(tools目录)

$ ./install_demo_configuration.sh

7、启动es

cd /usr/local/elasticsearch-6.4.3/bin
./elasticsearch

8、尝试用网页打开

https://192.168.184.130:9200/

注:浏览器访问,es服务端会一直输出certificate_unknown错误,原因未明

可以配置es目录下的config目录下的elasticsearch.yml文件,将searchguard.ssl.http.enabled设置为false(如果希望使用https则需要自己看下是为什么。。。),则可以直接用http访问(也需要账号密码):

可以看到http请求中在header中加入了:

Authorization: Basic YWRtaW46ZXM2c2dAYXNkZnRnYg==

其中 “YWRtaW46ZXM2c2dAYXNkZnRnYg==” 是 admin:es6sg@asdftgb 进行base64编码的结果

=》类似在原先的http请求头中加入该项则可以正常访问,否则无法访问

三、配置SearchGuard证书

1、生成证书方式有两种,一种是在线生成,一种是离线生成

在线生成:

TLS Certificate Generator - Search Guard

提交后会收到邮件,从邮件给的地址下载相应的证书

2、将解压后的文件拷贝到/usr/local/elasticsearch-6.4.3/config的 key目录下

3、 修改/usr/local/elasticsearch-6.4.3/config/elasticsearch.yml 

(其中pemkey_password为下载的证书中的README.txt中对应Host下的password)

(需要删除原es目录/config下的esnode.pem, esnode-key.pem, kirk.pem, kirk-key.pem, root-ca.pem)

4、配置sgadmin

复制es目录/config/key下的root-ca.pem,client-certificates/CN=sgadmin.crtfull.pem,client-certificates/CN=sgadmin.key.pem 到/usr/local/elasticsearch-6.4.3/plugins/search-guard-6/tools下

执行:(其中14f2766d6b1bb9a98f96为下载的证书中的README.txt中的“Admin keystore and private key password”)

# cd /usr/local/elasticsearch-6.4.3/plugins/search-guard-6/tools

# ./sgadmin.sh -cacert root-ca.pem -cert CN=sgadmin.crtfull.pem -key CN=sgadmin.key.pem -keypass 14f2766d6b1bb9a98f96 -nhnv -icl -cd ../sgconfig/

同时也可以配置keystore和truststore(应该可以不配置,取决于Client端使用的方式)(配置方式见README.txt(复制文件 并 执行sgadmin.sh)):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值