elasticsearch开启密码认证

如果是单节点,可以再elasticsearch配置文件里新增

#开启安全
xpack.security.enabled: true
#集群节点间不互相通讯
discovery.type: single-node

这里不使用这种方式,还是以集群方式进行配置。集群间节点通讯通过transport方式,开启es安全后要配置Transport Layer Security (TLS)。

1、生成证书

使用es自带的certutil工具生成ca证书

./bin/elasticsearch-certutil ca
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

根据提示框一步步操作,中间需要设置证书密码,记下来,后面要写道keystore里。如果中间不设置证书文件名,会生成elastic-stack-ca.p12和elastic-certificates.p12两个证书文件。

然后将两个证书文件复制到es集群每个node的conf目录下。

2、添加证书密码至keystore

使用es自带的keystore命令

#
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

根据提示输入上面生成证书设置的密码

3、添加配置
es配置文件新增如下配置

#开启安全
xpack.security.enabled: true
#开启tls
xpack.security.transport.ssl.enabled: true
#认证方式 certificate
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
#PK2 认证文件
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

4、设置密码

重启es

重置默认用户密码

./bin/elasticsearch-setup-passwords interactive

根据提示一步步设置内置用户elastic、apm_system、kibana_system、kibana、logstash_system、beats_system、remote_monitoring_user的密码

5、kibanna配置

kibana.yml新增上面配置的kibana_system账号密码

elasticsearch.username: "kibana_system"
elasticsearch.password: "888888"

重启kibana,然后再访问会提示输入用户密码。

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/7.12/security-minimal-setup.html

posted @ 2023-05-12 10:35  朋羽  阅读(1196)  评论(0编辑  收藏  举报