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 适用单机版本。
- 设置xpack.security,要在elasticsearch.yml里面配置上
xpack.security.enabled: true
这是一个静态变量(我7.16版本),意味着只能修改了重启才生效。
- 设置发现类型
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 ,搞定。