1.为集群创建认证机构
文件根目录下执行
bin/elasticsearch-certutil ca
依次输入回车(文件使用默认名),密码
2.为节点颁发证书
复制生成的elastic-stack-ca.p12文件至所有节点,并执行
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)
3.执行以下命令保存密码
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password 第一步输入的密码
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password 第一步输入的密码
4.修改配置
在/config/elasticsearch.yml中增加一下配置,启用x-pack安全组件,启用ssl加密通信,并且配置认证证书:
http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization 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
5.密码设置
启动ES服务,并运行如下命令设置密码
bin/elasticsearch-setup-passwords interactive
通过以下命令,给所有账户设置随机密码
bin/elasticsearch-setup-passwords auto