es开启security and ssl transport

基本上是官网的步骤,两个文档

https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html#_prerequisites_10
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-basic-setup.html

minimal security 适用单机版本。

  1. 设置xpack.security,要在elasticsearch.yml里面配置上
xpack.security.enabled: true

这是一个静态变量(我7.16版本),意味着只能修改了重启才生效。

  1. 设置发现类型
discovery.type: single-node

然后设置密码,bin/elasticsearch-setup-passwords auto ,
然后在kibana里面设置密码就可以,很方便。
可以直接写在配置文件里面,或者是放在kibana-keystore里面,我试下来,会优先用keystore里面的密码,如果两个地方都设置并且不一样的话:

./bin/kibana-keystore create

./bin/kibana-keystore add elasticsearch.password

生产环境

生产环境的话要用第二个文档security-basic-setup
区别就在于多了个ca ,

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

第二步,ca可以设置密码,可以不设置。配置文件里写上

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

如果你的证书有设置密码,还需要将密码加到elasticsearch-keystore

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

这个ca配置每台机器都需要配置,ca只需要生成一次,放到每台机器上。配置文件每台都需要改,
这里还涉及一个数据问题,然后你es前面没有mq的话,数据就写不进了。这些security参赛都是静态的,所以最好是刚搭建集群的时候就开启,之后开启就会比较麻烦,但是还好,我们前面是有kafka的,全部停服务配置重启,没有丢数据,唯一就是恢复的时候比较慢,数据要trans log 一下。然后吧logstash,kibana的 都加上密码或者写入keystore ,搞定。

posted @ 2022-08-25 14:12  过去的我  阅读(795)  评论(0编辑  收藏  举报