转载自:https://mp.weixin.qq.com/s?__biz=MzUyNzk0NTI4MQ==&mid=2247483826&idx=1&sn=583e9a526050682ae060f601eced917b&chksm=fa769a9ccd01138a8740171769d1149a5df706ab3523eb0cbb5697293bda6e46954641d49f99&mpshare=1&scene=1&srcid=01245nkmqHupjQF7csKql1i5&sharer_sharetime=1579865464558&sharer_shareid=6ec87ec9a11a0c18d61cde7663a9ef87#rd

基于ES内置及自定义用户实现kibana和filebeat的认证

关闭服务

先关闭所有ElasticSearch、kibana、filebeat进程

elasticsearch-修改elasticsearch.yml配置

按以上表格对应的实例新增conf目录下elasticsearch.yml配置参数

    # 在所有实例上加上以下配置

    # 开启本地用户

    xpack.security.enabled: true

    # xpack的版本

    xpack.license.self_generated.type: basic

elasticsearch-开启服务

开启所有ES服务

    sudo -u elasticsearch ./bin/elasticsearch

elasticsearch-建立本地内置用户

本地内置elastic、apmsystem、kibana、logstashsystem、beatssystem、remotemonitoring_user用户

    # 在其中一台master节点操作

    # interactive 自定密码 auto自动生密码

    sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive

    # 输入elastic密码

    # 输入apm_system密码

    # 输入kibana密码

    # 输入logstash_system密码

    # 输入beats_system密码

    # 输入remote_monitoring_user密码

测试内部用户

通过base64将elastic用户进行加密,格式为“elastic:elastic的密码“

    # 例如以下格式

    curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"

如果不通过Basic访问或base64加密错误会报以下错误:

"status": 401

kibana-创建私钥库

在192.168.1.21创建私钥库

    cd /opt/kibana/

    # 创建密钥库

    sudo -u kibana ./bin/kibana-keystore create

    # 连接ES用户名,这里输入kibana

    sudo -u kibana ./bin/kibana-keystore add elasticsearch.username

    # 连接ES密码,这里输入刚刚设置kibana的密码

    sudo -u kibana ./bin/kibana-keystore add elasticsearch.password

在192.168.1.21确认私钥库

    sudo -u kibana ./bin/kibana-keystore list

启动服务

    sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml

filebeat-服务器上创建密钥库

在192.168.1.11创建filebeat密钥库

    cd /opt/filebeat/

    #创建密钥库

    ./filebeat keystore create

    #创建test-filebeat用户私钥

    ./filebeat keystore add test-filebeat

确认filebeat密钥库

    ./filebeat keystore list

filebeat-配置filebeat.yml

配置filebeat.yml

    # 文件输入

    filebeat.inputs:

      # 文件输入类型

      - type: log

        # 开启加载

        enabled: true

        # 文件位置

        paths:

          - /var/log/nginx/access.log

        # 自定义参数

        fields:

          type: nginx_access # 类型是nginx_access,和上面fields.type是一致的

    # 输出至elasticsearch

    output.elasticsearch:

      # 连接ES集群的用户名

      username: test-filebeat

      # 连接ES集群的密码

      password: "${test-filebeat密码}"

      # elasticsearch集群

      hosts: ["http://192.168.1.31:9200",

              "http://192.168.1.32:9200",

              "http://192.168.1.33:9200"]

      # 索引配置

      indices:

        # 索引名

        - index: "nginx_access_%{+yyy.MM}"

          # 当类型是nginx_access时使用此索引

          when.equals:

            fields.type: "nginx_access"

    # 关闭自带模板

    setup.template.enabled: false

    # 开启日志记录

    logging.to_files: true

    # 日志等级

    logging.level: info

    # 日志文件

    logging.files:

      # 日志位置

      path: /opt/logs/filebeat/

      # 日志名字

      name: filebeat

      # 日志轮转期限,必须要2~1024

      keepfiles: 7

      # 日志轮转权限

      permissions: 0600

启动filebeat

    /opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"

测试

写入一条数据

    curl -I "http://192.168.1.11"

在kibana中查看

附录

kibana角色权限相关文档链接

    https://www.elastic.co/guide/en/elasticsearch/reference/7.3/security-privileges.html#privileges-list-cluster

base64加密解密网站链接

https://tool.oschina.net/encrypt?type=3

EFK-5: ES集群开启用户认证的更多相关文章

  1. EFK教程(5) - ES集群开启用户认证

    基于ES内置及自定义用户实现kibana和filebeat的认证 作者:"发颠的小狼",欢迎转载 目录 ▪ 用途 ▪ 关闭服务 ▪ elasticsearch-修改elastics ...

  2. mongodb分片集群开启安全认证

    原文地址:https://blog.csdn.net/uncle_david/article/details/78713551 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用 ...

  3. cloudera集群开启kerberos认证后,删除zk中的/hbase目录

    问题 在cdh集群中开启了kerberos认证,hbase集群出现一点问题,需要通过zookeeper-client访问zookeeper,删除/hbase节点时候报错:Authentication ...

  4. 为Kubernetes集群添加用户认证

    Kubernetes中的用户 K8S中有两种用户(User)--服务账号(ServiceAccount)和普通意义上的用户(User) ServiceAccount是由K8S管理的,而User通常是在 ...

  5. 【7.1.1】ELK集群搭建 之 ES集群

    写在前边 昨天晚上就已经完成这篇博客了,就是在测试这块是否正常跑起来,晚上没搞完,上班前把电脑关机带着,结果没保存!基本上昨天写的东西都丢了,好在博客园的图片url还在. 为了让大家都轻松些,我轻松写 ...

  6. ES集群7.3.0设置快照,存储库进行索引备份和恢复等

    说明:三台ES节点组成ES集群,一台kibana主机,版本均是7.3.0,白金试用版 官方地址:https://www.elastic.co/guide/en/elasticsearch/refere ...

  7. Mongo开启用户认证

      1. 介绍 由于mongodb默认没有设置密码访问,而且mongodb的访问权限设计,必须使用有权限的用户给每个库设置一个用户,才能使用,且2.X版本与3.X版本区别有点大,所以要注意以下几点. ...

  8. ES 集群调整、升级 最佳实践

    日常应用中我们会经常对es 集群做一些参数调整或者升级版本,但是每次关闭节点再打开 其中的数据同步的痛苦估计有很多人领悟过(有可能出现IO或者网络拥堵导致恶性循环)官网有套方案可以尝试一下: 1.关掉 ...

  9. Elasticsearch-6.7.0系列(二)ES集群安装与验证

    准备3台centos7机器/虚拟机,每台都安装上elasticsearch6.7.0 ,安装过程参考我的另一篇博客<Elasticsearch-6.7.0系列(一)9200端口 .tar.gz版 ...

随机推荐

  1. C++对象的应用

    本篇文章将介绍对象数组,对象的动态分配以及对象在函数中的应用. 一.对象数组 1.对象数组的定义和初始化 定义对象数组与定义普通数组的语法形式基本相同.如定义一个Square obj[3]:表示一个正 ...

  2. ApiDay002_01 正则表达式

    正则表达式 用于检测.测试字符串规则的表达式. 经常用于检测字符串是否符合特定的规则,在网站上经常用于检测用户输入数据是否符合规范: 检测 用户名 是否为 8~10 数字 英文(大小写) 检测 电话号 ...

  3. 第十六天python3 文件IO(二)

    BytesIO操作 io模块中的类 from io import BytesIO 内存中,开辟的一个二进制模式的buffer,可以像文件对象一样操作它: 当close方法被调用的时候,这个buffer ...

  4. YII服务定位器依赖注入

    <?php /** * Created by PhpStorm. * Date: 2016/5/25 * Time: 18:33 * 服务定位器依赖注入 */ namespace fronten ...

  5. 在win10系统环境下,安装配置sublime 3,构建python和vue.js开发环境(插件)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_131 疫情当下,最近一直在用mac下的虚拟机运行win10系统,由于在线人数过多,直播授课的时候使用vscode的时候内存暴涨,于 ...

  6. Normal3类定义

    法线的相关操作都在图中,实现部分还是大家自己练习,照着图写代码就行了. 类声明: class Normal3 { public: Normal3(); ~Normal3(); Normal3(ldou ...

  7. DolphinScheduler 荣获 2021 中国开源云联盟优秀开源项目奖!

    点击上方 蓝字关注我们 好消息,中国开源云联盟(China Open Source Cloud League,简称"COSCL")于近日公布 2021 杰出开源贡献者.优秀开源项目 ...

  8. 基于.NetCore开发博客项目 StarBlog - (17) 自动下载文章里的外部图片

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  9. Python逆向爬虫之pyquery,非常详细

    系列目录 Python逆向爬虫之pyquery pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和h ...

  10. spring-aop-事务-注解开发-代理

    1.spring + mybatis: Aop流程: 提前定义好几个用于Aop的类 前置通知:新建MyBeForeAdvice类 实现 MethodBeforeAdvice,并实现其方法 后置通知:新 ...