ElasticSearch7.1安全配置

官方文档传送门

不足之处请评论指正,谢谢

摘要

6.8.0 和 7.1.0 版本开始, Elastic Stack安全功能免费提供。用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana 提供全面保护

  • TLS 功能,可对通信进行加密
  • 文件和原生 Realm,可用于创建和管理用户
  • 基于角色的访问控制,可用于控制用户对集群 API 和索引的访问权限;通过针对 Kibana Spaces 的安全功能,还可允许在 Kibana 中实现多用户

之前,这些核心安全功能只有付费黄金级订阅用户才可使用。现在,这些功能是基础级订阅的一部分,免费提供。高级安全功能(从单点登录和活动目录/LDAP 身份验证,到字段和文档级别的安全性)仍然是付费功能。有关详情请查看完整功能对照表

ES官网关于使用ElasticSearch安全功能的博文


创建并保护双节点Elasticsearch集群

安装ElasticSearch和Kibana

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和身份验证

安全传输层协议(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配置

在Kibana config/kibana.yml文件中添加 用户名和密码,使用的是kibana用户

elasticsearch.username: "kibana"
elasticsearch.password: "生成密码"

保存文件后,启动Kibana

登录时使用elastic用户

在Kibana中配置基于角色的访问控制(RBAC)

在新建的es中我们没有创建索引,可以先使用系统索引进行尝试

1.到Discover面板下

2.选择 Include system indices (包括系统索引)

3.在下方列出的index中选择一个填入到输入框中

点击Next step

选择完成

创建权限 Rule

 

退出登录,使用自己创建的用户登录

 

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值