Elasticsearch8 集群搭建(二)配置篇:(3)安全配置

此篇记录Elasticsearch 8.x传输层的安全配置。

传输层节点间:

如果集群有多个节点,必须在节点间配置TLS。生产模式下,如果不启用TLS,集群将无法启动。

图片来源:Set up basic security for the Elastic Stack | Elasticsearch Guide [8.10] | Elastic

传输层依赖于TLS进行节点间的加密和认证。在节点之间配置 TLS 可以防止未授权的节点访问集群。 

节点加入集群时,必须使用同一个CA签发的证书。

1、生成证书:

① ES启动前,在任意一个节点上使用elasticsearch-certutil工具为集群生成CA证书:

./bin/elasticsearch-certutil ca

a. 出现提示时,接受默认的文件名:elastic-stack-ca.p12,这个文件包含CA的公用证书和用于给每个节点签发证书的私钥;

b. 为CA设置密码,如果不在生产环境下密码可以置空。建议设置。

② 在任意节点上,为集群中的节点生成一个证书和私钥,使用①中生成的elastic-stack-ca.p12。

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

a.输入CA密码,如果①中密码置空直接按【Enter】键;

b.为证书设置密码,并接受默认的文件名:elastic-certificates.p12,这个文件包含了一个节点证书,节点密钥和CA证书。

③ 在集群中每个节点上,将elastic-certificates.p12文件拷贝到/usr/local/elasticsearch-8.10.2/config/目录下。

(2)节点间使用TLS加密通信:

在集群中每个节点上进行以下操作:

① 编辑/usr/local/elasticsearch-8.10.2/config/elasticsearch.yml文件:

在BEGIN SECURITY AUTO CONFIGURATION模块找到# Enable encryption and mutual authentication between cluster nodes部分,进行以下设置:

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

② 如果创建节点证书时设置了密码,执行以下命令在ES keystore中存储密码:

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

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

③ 在集群中每个节点上执行①②操作;

④ 在每个节点上启动ES。

./bin/elasticsearch

后台启动:

./bin/elasticsearch -d

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值