ELK日志分析平台(五) 为es集群开启xpack验证

xpack简介

在配置好es集群之后,可以选择开启安全认证功能。X-Pack 提供以下几个级别保护elastic集群

1)用户验证
2)授权和基于角色的访问控制
3)节点/客户端认证和信道加密
4)审计

实验步骤

实验目的:

为es集群开启 xpack安全认证,并在logstash和Kibana开启相应的用户认证。

实验背景:

172.25.2.7  ser7 es端
172.25.2.8  ser8 es端
172.25.2.10  ser10 logstash端 + Kibana端

ES集群的设置

如果你在操作单节点ES则可以跳过本内容。

Elastic Stack安全功能使你可以加密来自Elasticsearch集群的流量。

使用传输层安全性(TLS)来保护连接,传统层安全性通常称为“SSL”。

1.为每个Elasticsearch节点生成私钥和X.509证书

集群模式需要先创建证书:

1.生成CA证书 bin/elasticsearch-certutil ca,将产生新文件 elastic-stack-ca.p12。该 elasticsearch-certutil 命令还会提示你输入密码以保护文件和密钥,请保留该文件的副本并记住其密码。

2.为集群中的每个节点生成证书和私钥 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12,将产生新文件 elastic-certificates.p12。系统还会提示你输入密码,你可以输入证书和密钥的密码,也可以按Enter键将密码留空。
默认情况下 elasticsearch-certutil 生成没有主机名信息的证书,这意味着你可以将证书用于集群中的每个节点,另外要关闭主机名验证。

3.将 elastic-certificates.p12 文件复制到每个节点上Elasticsearch配置目录中。

4.修改elastic-certificates.p12elastic-stack-ca.p12elasticsearch-keystore文件的所有人为elasticsearch

# cd /usr/share/elasticsearch/
# bin/elasticsearch-certutil ca
# bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch
# cd /etc/elasticsearch
# chown elasticsearch elastic-certificates.p12 elastic-stack-ca.p12 elasticsearch-keystore

在这里插入图片描述

2.配置集群中的每个节点以使用其签名证书标识自身并在传输层上启用TLS

配置所有的elasticsearch集群节点:

# vim /etc/elasticsearch/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: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

在这里插入图片描述 3.重启Elasticsearch

配置为使用TLS的节点无法与使用未加密网络的节点通信(反之亦然)。启用TLS后,必须重新启动所有节点才能保持群集之间的通信。

在这里插入图片描述在这里插入图片描述在这里插入图片描述4.为系统默认用户创建密码

Elastic Stack安全功能提供内置的用户凭据可帮助你启动运行ES,这些用户具有一组固定的权限,在设置密码之前无法进行身份验证,其中elastic用户可以用来设置所有内置的用户密码。

上面的内置用户存储在一个特殊 .security 索引中,该索引由Elasticsearch管理。如果禁用内置用户或其密码更改,则更改将自动反映在集群中的每个节点上。但是,如果从快照中删除或恢复索引,则已应用的任何更改都将丢失。

在这里插入图片描述在这里插入图片描述
回车之后为每一个用户设置独立的密码。记住ES实例必须启动。

你需要在后续步骤中使用这些内置用户,因此务必牢记前面设置的密码!(尽量使用相同的密码)

Kibana端

启用Elasticsearch安全功能后,用户必须使用有效的用户ID和密码登录Kibana。

设置kibana连接ES的用户密码:

# vim /etc/kibana/kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "westos"

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Logstash 端

设置Logstash连接ES用户密码

output {
        elasticsearch {
                hosts => "172.25.0.13:9200"
                index => "apachelog-%{+YYYY.MM.dd}"
		 user => "elastic"
		 password => "westos"
        }
}

在这里插入图片描述在这里插入图片描述

测试

重新访问kibana会跳转到登录页面,用上面初始化的内置账号比如elastic来登录即可。进入Manager菜单可以添加用户和角色,权限是和角色绑定的。

head访问:

http://172.25.2.7:9100/?auth_user=elastic&auth_password=westos

在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值