官方文档传送门
从 6.8.0 和 7.1.0 版本开始, Elastic Stack安全功能免费提供。用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana 提供全面保护。
之前,这些核心安全功能只有付费黄金级订阅用户才可使用。现在,这些功能是基础级订阅的一部分,免费提供。高级安全功能(从单点登录和活动目录/LDAP 身份验证,到字段和文档级别的安全性)仍然是付费功能。有关详情请查看完整功能对照表。
ES官网关于使用ElasticSearch安全功能的博文
1.下载链接 ElasticSearch的版本要和Kibana的版本对应
Elasticsearch7.1:https://www.elastic.co/cn/downloads/elasticsearch
Kibana7.1: https://www.elastic.co/cn/downloads/kibana
2.提取解压ElasticSearch和Kibana
3.复制一个ES副本
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
第1步:生成一些允许节点安全通信的证书。
可以使用企业CA执行此操作,但是对于此演示,使用一个命令,elasticsearch-certutil 可以运行此命令,而不会出现任何常见的证书混淆。
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
配置elasticsearch.yml
在文件的最后添加以下内容
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
保存文件,启动主节点。运行命令bin/elasticsearch
第2步:Elasticsearch集群密码
主节点运行后,就可以设置集群的密码了。进入主节点目录。然后我们运行命令bin/elasticsearch-setup-passwords auto
这将为各种内部堆栈用户生成随机密码。您也可以跳过auto参数,使用interactive参数手动定义密码。记下这些密码,我们会用到它们。
密码将随机生成并打印到控制台 按下 y 确认
第3步:Elasticsearch节点上的TLS
打开另一个新的ES节点的目录 我的是上图中的 node,这是master的一个副本,只是文件夹名不一样
修改node的config/elasticsearch.yml
除了和master相同的安全配置之外,还要添加
node.master: false 这样这个节点就不会成为master节点
更多es配置相关参考官方集群文档
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
#此节点不会成为主节点
node.master: false
开启node节点
node节点会和master节点组成一个双节点的集群,可以在head中查看一下
打开head时因为配置了es的安全选项,索引要求登录,可以使用elastic用户身份登录
可以看到已经存在两个节点,没有指定节点的名称,使用的是默认的主机名
在Kibana config/kibana.yml文件中添加 用户名和密码,使用的是kibana用户
elasticsearch.username: "kibana"
elasticsearch.password: "生成密码"
保存文件后,启动Kibana
登录时使用elastic用户
在新建的es中我们没有创建索引,可以先使用系统索引进行尝试
1.到Discover面板下
2.选择 Include system indices (包括系统索引)
3.在下方列出的index中选择一个填入到输入框中
点击Next step
选择完成
退出登录,使用自己创建的用户登录