内容目录
  • 默认情况下,kibana可以直接通过浏览器打开进行操作,这样的话任何人都可以通过该方式打开,及其不安全我们可以通过如下两种方式来实现访问控制;
    • 方式1:nginx+kibana非常简单实现方式;
    • 方式2:kibana roles比较推荐方式

基于RBAC访问控制

  • elastic stack6.87.1开始,在默认分发包中免费提供多项安全功能,例如TLS加密通信、基于角色的访问控制RBAC等等。

启用elastic tls

/usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""

chmod 660 /etc/elasticsearch/elastic-certificates.p12

配置elastic

  • 编辑elastic配置文件,添加如下内容;(所有节点都需要添加)
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

拷贝TLS证书

  • 拷贝TLS证书至集群的所有node节点;

scp -rp /etc/elasticsearch/elastic-certificates.p12 root@x.x.x.x:/etc/elasticsearch/

  • 重启所有elastic集群节点;

systemctl restart elasticsearch.service

设置elastic集群密码

  • 一旦主节点开始运行,便可以为集群设置密码了;
    • auto会为不同的内部堆栈生成随机密码;
    • interactive配置可以手动定义密码;
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto

Changed password for user apm_system
PASSWORD apm_system =

Changed password for user kibana_system
PASSWORD kibana_system =

Changed password for user kibana
PASSWORD kibana =

Changed password for user logstash_system
PASSWORD logstash_system =

Changed password for user beats_system
PASSWORD beats_system =

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user =

Changed password for user elastic
PASSWORD elastic =

配置kibana认证

  • kibana中实现安全性,我们需要为kibana用户添加密码。
vim /etc/kibana/kibana.yml
elasticsearch.username: "kibana_system"
elasticsearch.password: "xxxxxx"

systemctl restart kibana

配置logstash

  • logstash数据传输至ES集群,需要创建一个super角色的用户;
vim /etc/logstash/conf.d/network.logstash.conf
elasticsearch {
      index => "9306-arplog-%{+YYYY.MM.dd}"
      hosts => ["x.x.x.x:9200"]
      user => "elastic"
      password => "xxxxxx"
    }

配置filebeat

vim /etc/filebeat/filebeat.yml
output.elasticsearch:
  hosts: ["x.x.x.x:9200"]
  username: "elastic"
  password: "xxxxxx"
  index: "wordpress-system-%{[agent.version]}-%{+yyyy.MM.dd}"

登录kibana

  • 我们通过六浏览器打开http://kibana.dot.com:5601/,使用elastic超级用户进行登录。

file

配置RBAC

  • kibana中实现rbac,点击 管理 Elastic Stack的安全性设置,可以对用户和角色进行配置。

file

file

最后修改日期: 2024年9月4日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。