• 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

  • 相关阅读:
    windows无法完成格式化
    javascript数组添加元素的三种方式
    sql server将字符串类型转换为数值类型
    javascript将字符串转化成json对象的3种方法
    bootstrap table刷新表格记录
    html元素的title属性值换行
    webstorm快捷键失效问题
    设计模式之原型,学习笔记
    设计模式之封装,学习笔记
    初了解JS设计模式,学习笔记
  • 原文地址:https://www.cnblogs.com/llwxhn/p/12461206.html
Copyright © 2020-2023  润新知