基于rpm方式安装的elasticsearch、kibana、logstash开启安全认证
- 生成证书文件并修改elasticsearch.yml
(1)进入elasticsearch安装目录
cd /etc/elasticsearch
(2)⽣成证书⽂件
/usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
(3)为证书⽂件修改权限
chmod 777 elastic-certificates.p12
(4)修改ES集群的配置⽂件
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
...
(4)⽣成随机密码
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
产生随机密码如下:
-
设置完毕后重启elasticsearch
systemctl restart elasticsearch -
此时通过es的9200端口访问时显示需要账号密码认证
-
输入上方随机产生密码的elastic账号和密码后即可访问es的9200端口
-
对接该elasticsearch的kibana则需要调整配置
(1)修改kibana的配置⽂件
#进入文件
vim /etc/kibana/kibana.yml
...
#增加上方随机产生的kibana_system账号和密码
elasticsearch.username: "kibana_system"
elasticsearch.password: "dXb8SYa5xc1UXlV0CS4k"
(2)配置保存退出重启kibana
systemctl restart kibana
(3)后续使用浏览器访问kibana5601端口可视化网站时需要使用elastic账号密码验证
未登陆
登陆后
- 对接该elasticsearch的logstash则需要配置
#调整.conf配置文件的内容
如:
input {
stdin {}
}
output {
elasticsearch {
index => "test"
hosts => "127.0.0.1:9200"
#elasticsearch开启TSL认证产生的具有权限插入数据的账号,次数使用elastic最大权限账号,建议配置一个能够写入文件的账号不要使用elastic角色,通过kibana界面上的角色和用户进行配置
user => "elastic"
password => "KgwjUsGSnDh2PtC0UFvU"
}
}
调整配置后重启logstash
systemctl restart logstash
重启完成后则可以正常收集写入数据到elasticsearch中