Elasticsearch SSL认证/证书制作

制作目的

在上一篇《elasticsearch7.X x-pack破解》中,我们启用了x-pack模块,elasticsearch集群中,如果使用了x-pack,那么集群中的各节点之间通讯就必须安全认证。为了解决节点间通讯的认证问,我们需要制作证书。

内容简介

本文的主要内容是指导SSL制作过程。

步骤

生成证书
一、cd到es安装目录下,执行命令:

cd /root/tools/elasticsearch-7.12.0
bin/elasticsearch-certutil ca

里先让你输入ca文件名,我已经生成过了,所以我的文件名就不能再用elastic-stack-ca.p12。然后需要输入密码,如:elastic-segi0409。

 输入完密码后按回车,这时你的bin目录下会有一个文件名为elastic-stack-ca.p13的密钥库生成,包含证书颁发机构证书信息和用于签名的私钥信息。

 二、 创建私钥:

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

这里需要输入第一步设置的密码(elastic-segi0409),然后再输入输出的文件名,如:elastic-certificates.p13,回车后bin目录下会生成一个名为elastic-certificates.p13的文件

 

三、目录配置

文件生成后,需要放入对应的目录。创建certs目录:mkdir config/certs,拷贝两个文件到创建的目录中,如:

 证书拷贝至所有elasticsearch节点.把certs目录scp到集群的所有节点

elasticsearch集群启用SSL
在elasticsearch.yml中增加配置:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p13
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p13

 elasticsearch各节点为xpack.security.transport添加密码

cd /root/tools/elasticsearch-7.12.0
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

 注意:密码为创建证书时设置的密码

重启所有节点即可

 

 如果登录失败,报错: failed to authenticate user [elastic] 用如下命令重新生成密码:

cd /root/tools/elasticsearch-7.12.0
./bin/elasticsearch-setup-passwords auto

 

posted @ 2021-04-27 09:36  a-du  阅读(3574)  评论(0编辑  收藏  举报