X-Pack介绍
X-Pack是Elastic Stack扩展,提供安全性,警报,监视,报告,机器学习和许多其他功能。默认情况下,当您安装Elasticsearch时,会安装X-Pack。
安装默认发行版时,您会获得基本许可证(30天使用期)。有关基本许可证中包含的免费功能的完整列表,请参见 https://www.elastic.co/subscriptions。
当然普通用户认证功能此为免费功能,可以一直使用
在Elasticsearch中配置安全认证
单机版Elasticsearch认证
1、安装elasticsearch,版本:7.6.1,参考:【ElasticSearch】 ElasticSearch安装(一)
2、在配置文件中,开启xpack的安装认证功能
1 # ---------------------------------- X-Pack ------------------------------------ 2 # 开机xpack安全认证,默认为false 3 xpack.security.enabled: true 4 #
3、启动Elasticsearch
4、设置所有内置用户的密码。
Elasticsearch安全功能提供 内置用户来帮助您启动和运行。
该 elasticsearch-setup-passwords 命令是首次设置内置用户密码的最简单方法。
注意:该 elasticsearch-setup-passwords 命令使用瞬态引导密码,该密码在命令成功运行后将不再有效。您不能elasticsearch-setup-passwords
再次运行该命令。
设置密码命令:./bin/elasticsearch-setup-passwords interactive
分别对内置用户:elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user,设置了密码
5、测试验证
1)使用elasticsearch-head插件查看es,访问时提示输入用户名/密码访问
2)概览页展示如下,增加了索引来保存用户名/密码
3)查看.security-7索引数据
4)使用curl命令访问
命令:curl -u username:password http://127.0.0.1:9200
说明:ES的Web认证采用的是Basic Auth认证,Basic Auth认证参考:【Web】HTTP基本认证之 Basic Auth
集群Elasticsearch认证
Elastic Stack安全功能使信息加密往返于Elasticsearch集群以及从其内部的流量。
使用传输层安全性(TLS)(通常称为“ SSL”)保护连接的安全。
1、安装elasticsearch集群,版本:7.6.1,参考:【ElasticSearch】 ElasticSearch集群安装(八)
2、为Elasticsearch集群创建一个证书颁发机构
命令:./bin/elasticsearch-certutil ca
过程:输入命令 -> 回车(文件使用默认名) -> 回车(CA密码为空) -> 得到elastic-stack-ca.p12文件(包含CA的公共证书 + 用于对每个节点的证书签名的私钥)
3、为集群中的节点生成证书和私钥
命令:./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
过程:输入命令 -> 回车(CA密码为空) -> 回车(文件使用默认名) -> 回车(证书密码为空) -> 得到elastic-certificates.p12文件(包含节点证书,节点密钥和CA证书)
4、将节点证书elastic-certificates.p12文件拷贝到各个节点的config目录下
证书颁发机构elastic-stack-ca.p12文件,自行保存或保存到master节点的config目录下
5、在配置文件elasticsearch.yml中,开机xpack认证,并配置证书,内容如下:
1 # ---------------------------------- X-Pack ------------------------------------ 2 # 开机xpack安全认证,默认为false 3 xpack.security.enabled: true 4 # 必须开启,节点间ssl通信 5 xpack.security.transport.ssl.enabled: true 6 # 验证模式:证书 7 xpack.security.transport.ssl.verification_mode: certificate 8 xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 9 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
6、分别将集群所有节点启动或重启
7、设置所有内置用户的密码(同上)
设置密码命令:./bin/elasticsearch-setup-passwords interactive
8、使用elasticsearch-head插件查看es
1)访问时提示输入用户名/密码访问
2)概览页展示如下,增加了索引来保存用户名/密码