ElasticSearch 从 6.8.0 和 7.1.0 开始,X-PACK
安全功能免费提供,首先确认版本是否支持。
SSL 证书
开启 X-PACK
首先要生成 SSL 证书。
以 CentOS7 为例,如果采用 RPM 包安装,安装路径在 /usr/share/elasticsearch
,配置目录在 etc/elasticsearch
。
在其中一个节点上,执行:
1 | cd /etc/elasticsearch |
以上命令,会在 /etc/elasticsearch
生成两个文件:
elastic-certificates.p12
,elasticsearch.keystore
将两个文件同步到 ElasticSearch 所有节点,同时注意下 /etc/elasticsearch
目录的文件权限。
修改 elasticsearch.yml 配置
增加:
1 | xpack.security.enabled: true |
重启 ElasticSearch 集群
初始化密码
使用系统提供的工具,自动生成初始化密码:
1 | /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto |
脚本会自动生成:elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user 等用户名密码,并对应不同的权限。
如果希望修改密码或进行权限管理,可以通过 Kibana 中的可视化界面操作。
注意: 安全认证其实是个 HTTP Basic 认证,容易被暴力破解,要设置强有力的密码。
客户端使用
开启安全认证之后,Kibana 以及客户端连接都需要提供用户名密码认证,自行查阅相关的客户端 SDK 进行集成。