内容目录
- 默认情况下,
kibana
可以直接通过浏览器打开进行操作,这样的话任何人都可以通过该方式打开,及其不安全我们可以通过如下两种方式来实现访问控制;- 方式1:
nginx+kibana
非常简单实现方式; - 方式2:
kibana roles
比较推荐方式
- 方式1:
基于RBAC访问控制
- 从
elastic stack6.8
和7.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
超级用户进行登录。
配置RBAC
- 在
kibana
中实现rbac
,点击 管理Elastic Stack
的安全性设置,可以对用户和角色进行配置。
留言