kibana添加认证及权限--elasticsearch集群版

1 基础环境

关闭防火墙和selinux,配置好/etc/hosts,修改最大连接数,配置好本地源和阿里源,安装jdk1.8;

操作系统:centos7.5

机器信息:

主机名

ip

服务

elk1

192.168.1.223

jdk1.8,es7.2

elk2

192.168.1.224

jdk1.8,es7.2,kibana

elk3

192.168.1.225

jdk1.8,es7.2

2.安装kibana

1.版本号需要和Elasticsearch 相同,此次试验安装在elk2(192.168.1.224)上;
#yum -y install kibana

2.配置Kibana
#cp /etc/kibana/kibana.yml   /etc/kibana/kibana.yml.bak
#编辑Kibana主配置文件
#vim /etc/kibana/kibana.yml
server.port: 5601 
#或者"0.0.0.0"
server.host: "192.168.1.224" 
#elasticsearch主节点        
elasticsearch.hosts: "http://192.168.1.224:9200" 
kibana.index: ".kibana" 
#配置kibana日志输出到哪里
logging.dest: /home/kibana/log/kibana.log  
#支持中文
i18n.locale: "zh-CN"

3.创建日志目录文件
#mkdir -pv /home/kibana/log/
#touch /home/kibana/log/kibana.log
#chmod o+rw /home/kibana/log/kibana.log

4.启动kibana服务,并检查进程和监听端口:
#systemctl  enable kibana
#systemctl  start kibana
#ps aux | grep kibana
#netstat -tlanp |grep 5601

5.然后在浏览器里进行访问,如:http://192.168.1.224:5601/ ,此时是没有用户名和密码的,可以直接访问的:

注意:kibana6.7及以后的版本自带中文支持;

3. kibana 添加登录及权限

       官方宣布从6.8和7.1开始,免费提供多项安全功能。其中包括tls加密通信,基于角色访问控制等功能。
可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearch自带的elasticsearch-certutil的命令生成证书,

然后各节点通过该证书可以进行安全通信。

1.生成证书

搭建好了elasticsearch集群,在主节点(192.168.1.224)上操作,进入elasticsearch目录,然后执行以下命令。
#使用yum方式安装的可执行文件路径
#cd /usr/share/elasticsearch
#生成证书到配置文件目录
#bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass "" 
注意:此处elasticsearch为集群版,与单节点版添加登录权限不一致;

# 成功提示

上面命令执行成功后,会在/etc/elasticsearch/文件夹下生成elastic-certificates.p12证书。
# chmod 644 elastic-certificates.p12
注意:默认证书权限是600,需要更改证书权限,否则运行elasticsearch程序的用户没有权限读取,会造成elasticsearch启动失败;

2.编辑配置文件,开启证书访问

在主节点上编辑配置文件/etc/elasticsearch/elasticsearch.yml,添加内容如下(注意证书路径)
#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:elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

将上面步骤生成的elastic-certificates.p12证书复制到另外两个es节点上对应的/etc/elasticsearch/文件夹中,
同时将上面配置内容也都复制到对应节点的elasticsearch.yml文件里;
#三个节点上都操作重启
#systemctl restart elasticsearch
#systemctl status elasticsearch

3.设置密码

启动三个节点,待节点启动完毕之后,在主节点上elasticsearch目录,执行以下命令,进行密码设置:
#cd /usr/share/elasticsearch
#bin/elasticsearch-setup-passwords interactive

为了方便后续使用,这里密码都设置成一样;password: 123456

生成的用户:apm_system/kibana/logstash_system/beats_system/remote_monitoring_user/elastic

密码都是123456

4.验证集群设置的账号和密码

打开浏览器访问这个地址,出现需要输入账号密码的界面证明设置成功,集群的一个节点

http://192.168.1.224:9200/_security/_authenticate?pretty

账号密码:elastic/123456

5.Kibana组件访问带有安全认证的Elasticsearch集群

配置文件kibana.yml中修改以下配置
#vim /etc/kibana/kibana.yml
elasticsearch.username: "elkstack"
elasticsearch.password: "elkstack123456"

#重启kibana生效
#systemctl restart kibana
#systemctl status kibana

#重新登录http://192.168.1.224:5601,我们将会使用elastic超级用户进行登录

账号密码:elastic/123456

注意:可以在 Kibana 中配置基于角色的访问控制,即创建角色和用户后,使用不同的用户登录只能看到自己被授权的部分;

----------------------------------------------------------------------------------------------

参考链接:https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security

 

posted @ 2020-03-11 14:34  非然踏古忘今焉  阅读(5338)  评论(0编辑  收藏  举报