当前位置: 首页 > article >正文

Elastic Stack--ES集群加密及Kibana的RBAC实战

  前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

学习B站博主教程笔记: 

最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—ElasticSearch+Logstash+Kibana精讲_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1VMW3e6Ezk/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00

1、基于nginx反向代理控制kibana

(1)部署Nginx服务

 # Nginx安装详见前文
 yum -y install httpd-tools

(2)编写Nginx的配置文件

 cat > /etc/nginx/conf.d/kibana.conf <<'EOF'
 server {
   listen 80;
 ​
   server_name kibana.elk.com;
 ​
   location / {
      proxy_pass http://192.168.1.12:5601$request_uri;
      auth_basic "ELk kibana web!";
      auth_basic_user_file conf/htpasswd;
   }
 }
 EOF

(3)创建账号文件

 mkdir -pv /etc/nginx/conf
 htpasswd -c -b /etc/nginx/conf/htpasswd admin cluster

(4)启动Nginx服务

 nginx -t
 systemctl restart nginx

(5)访问Nginx验证Kibana访问

2、配置ES集群TSL认证

 # (1)生成证书文件
 cd /cluster/softwares/es/
 elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
 ​
 ​
 # (2)为证书文件修改属主和属组
 chown elsearch:elsearch config/elastic-certificates.p12 
 ​
 # (3)同步证书文件到其他节点
 data_rsync.sh `pwd`/config/elastic-certificates.p12 
 ​
 ​
 # (4)修改ES集群的配置文件
 vim /cluster/softwares/es/config/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
 ​
 # (5)同步ES配置文件到其他节点
 data_rsync.sh `pwd`/config/elasticsearch.yml 
 ​
 # (6)所有节点重启ES集群
 systemctl restart es
 ​
 # (7)生成随机密码
 elasticsearch-setup-passwords auto
 ...
 ​
 Changed password for user kibana_system
 PASSWORD kibana_system = X1fvzVFyZRyE8Vly8iPv
 ​
 Changed password for user elastic
 PASSWORD elastic = ZtnXmiPLLTZXvcgLArPq

测试访问:

3、kibana添加ES认证

 # (1)修改kibana的配置文件
 vim /cluster/softwares/kibana/config/kibana.yml
 ...
 ​
 elasticsearch.username: "kibana_system"
 elasticsearch.password: "X1fvzVFyZRyE8Vly8iPv"
 ​
 ​
 # (2)重启kibana访问
 su -c "kibana" elsearch 

4、Kibana的RBAC

5、logstash写入ES加密集群案例

 input {
    stdin {}
 }
 ​
 output {
    stdout { }
    elasticsearch {
       index => "cluster-linux-logstash-666"
       hosts => "192.168.1.10:9200"
       user => "logstash-linux"
       password => "123456"
    }
 }

建议不要使用elastic管理员用户给logstash程序使用,而是创建一个普通用户,并为该用户细化权限。

6、filebeat写入ES加密集群案例

 filebeat.inputs:
 - type: stdin
 ​
 output.elasticsearch:
   enabled: true
   hosts: ["http://192.168.1.10:9200","http://192.168.1.11:9200","http://192.168.1.12:9200"] 
   index: "cluster-linux-stdin-%{+yyyy.MM.dd}"
   username: "filebeat-linux"
   password: "123456"
 ​
 setup.ilm.enabled: false
 setup.template.name: "cluster-linux"
 setup.template.pattern: "cluster-linux*"
 setup.template.overwrite: true
 setup.template.settings:
   index.number_of_shards: 3
   index.number_of_replicas: 0

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!


http://www.kler.cn/a/293400.html

相关文章:

  • 解决 Redis 报错:`(error) NOAUTH Authentication required`
  • GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
  • 以往运维岗本人面试真题分享
  • 【JAVA】Java基础—面向对象编程:封装—保护类的内部数据
  • git commit 校验
  • 【MySQL从入门到放弃】InnoDB磁盘结构(一)
  • 报错:Reached the max session limit(DM8 达梦数据库)
  • 【C语言】---- 复合数据类型之结构体(Struct)
  • 期权虚值和实值的投资风险有什么不同?
  • docker 安装mongoDB
  • Anchor Alignment Metric来优化目标检测的标签分配和损失函数。
  • Apache CloudStack Official Document 翻译节选(十三)
  • 使用多尺度C-LSTM进行单变量时间序列异常检测
  • 细胞因子系列
  • 92. UE5 GAS RPG 使用C++创建GE实现灼烧的负面效果
  • 嵌入式学习(链式栈和链式队列)
  • yolov8目标检测pyside6可视化图形界面+检测源码ui文件——用于计数统计
  • Docker基本使用:创建clickhouse容器
  • OKRs-E 目标管理上手指南
  • 电脑错误mfc140.dll丢失怎么办?mfc140.dll丢失如何修复?
  • 使用docker调试odoo
  • 并行编程实战——TBB的安装
  • Go语言实战 pdf
  • 2、硬件工程师笔试面试汇总
  • 实时渲染技术的崛起:游戏与实时交互的新篇章
  • ISO26262和Aspice之间的关联