elasticsearch 6.x 安装search guard

前言

es之前版本一直无用户验证功能,不过官方有提供一x-pack,但是问题是付费。在es的6.3.2版本中,已经集成了x-pack,虽然es团队已经对x-pack开源,但是在该版本中如果需要使用到安全加密功能,依然还是需要付费购买license,search guard社区版可以免费提供用户验证功能

1.安装环境

程序 版本 安装方式
elasticsearch 6.6.3 rpm
kibana 6.6.1 rpm
java 1.8.0 tar
centos 6.6 /

es安装环境

elasticsearch node hostname
10.124.147.22 10-124-147-22
10.124.147.23 10-124-147-23
10.124.147.32 10-124-147-32

2.search guard安装

官方安装文档>> 点击我

安装有两种方法,本次选用快速安装,其中涉及到https的自签证书,官方不是很推荐,不过可以使用

2.1 在elasticsearch安装

-找到elasticsearch的bin目录/usr/share/elasticsearch/bin/

[root@10-124-147-22 bin]# pwd
/usr/share/elasticsearch/bin
[root@10-124-147-22 bin]# ./elasticsearch-plugin install com.floragunn:search-guard-6:6.3.2-22.3

install 后面的链接地址,依自己的es版本进行选择Artifact选项中的值,相关链接>>点击我

进行demo模式的安装

[root@10-124-147-22 tools]# pwd
/usr/share/elasticsearch/plugins/search-guard-6/tools
[root@10-124-147-22 tools]# bash install_demo_configuration.sh

依按说明三个Y确认即可

同时在其它node之上进行安装并重启es

2.2 测试elasticsearch上的安装

web访问 安装该es节点的9200端口,

如本安装过程中,访问https://10.124.147.22:9200/_searchguard/authinfo

需要注意的是,此处是https而非http

默认用户名与密码均为admin

如果打印了admin的json信息,则安装ok

2.3在kibana上安装

1.停止kibana

2.进入kibana的plugin目录

[root@10-124-147-22 bin]# pwd
/usr/share/kibana/bin
[root@10-124-147-22 bin]# ./kibana-plugin install https://search.maven.org/remotecontent?filepath=com/floragunn/search-guard-kibana-plugin/6.3.1-14-beta-1/search-guard-kibana-plugin-6.3.1-14-beta-1.zip

url地址在官网上查找>>点击我

需要找对自己的版本,安装之时,在kibana 6.3.2的时候,search guard暂时还未出现其适配版,所以将kibana降级为6.3.1

3.kibana配置文件更新

kibana配置文件需要加入以下

[root@10-124-147-22 bin]# grep ^[^#] /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "https://localhost:9200"
elasticsearch.username: "kibanaserver"
elasticsearch.password: "kibanaserver"
elasticsearch.ssl.verificationMode: none
elasticsearch.requestHeadersWhitelist: [ "Authorization", "sgtenant" ]
xpack.monitoring.enabled: false
xpack.graph.enabled: false
xpack.ml.enabled: false
xpack.watcher.enabled: false
xpack.security.enabled: false

在es的6.3.2版本中,已经集成了x-pack,虽然es团队已经对x-pack开源,但是在该版本中如果需要使用到安全加密功能,依然需要付费购买license,对于后面对xpack的控制选项在search guard中并未提供,但是实际测试的时候,需要添加,否则kibana无法正常启动

需要注意的是es的url由http变成https

2.4 kibana的search guard测试

web访问5601端口即可

用户名与密码名均为admin

进入之后,可以看到左侧菜单栏多出search guard选项,即表示安装ok

3.kibana中search guard默认密码的更改

1.生成新的密码

[root@10-124-147-22 tools]# pwd
/usr/share/elasticsearch/plugins/search-guard-6/tools
[root@10-124-147-22 tools]# ./hash.sh -p letv.bigdata
$2y$12$nwfMezsKdWhPMoj5iqZ/6.H9RpXFvDbd59K1mTxqWmH8IY/bFWSXm

2.修改sg_internal_users.yml配置文件

将其中hash之后的密码替换成刚才生成的密码,配置文件路径为/usr/share/elasticsearch/plugins/search-guard-6/sgconfi/sg_internal_users.yml

#password is: letv.bigdata
admin:
#readonly: false
hash: $2y$12$nwfMezsKdWhPMoj5iqZ/6.H9RpXFvDbd59K1mTxqWmH8IY/bFWSXm
roles:
- admin
attributes:
#no dots allowed in attribute names
attribute1: value1
attribute2: value2
attribute3: value3

3.注释掉readonly选项

当打开此选项之时,在kibana上面无法修改admin用户密码

4.生效search guard配置文件

[root@10-124-147-22 tools]# pwd
/usr/share/elasticsearch/plugins/search-guard-6/tools
[root@10-124-147-22 tools]# ./sgadmin_demo.sh

如果没有重载search guard配置文件,即使重启了es,也无法生效

上一篇:Spring框架学习笔记(5)——Spring Boot创建与使用


下一篇:分割函数和根据Id串返回名字