生成Elasticsearch xpack安全认证证书

首次启动 Elasticsearch 时,会为用户生成密码,并自动为用户配置 TLS ,可以随时调整 TLS 配置,更新节点证书

一、生成证书

1、在任意节点上进入 Elasticsearch 的安装目录,使用 elasticsearch-certutil 为集群生成 CA 。

bin/elasticsearch-certutil ca

(1)设置 CA 文件名(默认即可)

(2)为 CA 设置密码

2、利用上一步的 elastic-stack-ca.p12 为集群生成证书和私钥。

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

(1)输入CA的密码

(2)为证书创建密码,并设置文件名(默认即可)

3、将证书拷贝到其他节点上。

二、使用TLS加密节点间通信

1、进入 Elasticsearch 配置目录,编辑 elasticsearch.conf 文件:

cluster.name: my-cluster

node.name: node-1

xpack.security.enabled: true

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

2、执行以下命令将证书密码保存到 Elasticsearch 的 keystore

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

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

3、为集群中的每个节点完成前面的步骤。

4、在集群的每个节点上,重新启动 Elasticsearch 。

三、为 Elasticsearch 加密 HTTP 客户端通信

1、 在任意单个节点上,从安装 Elasticsearch 的目录中,运行Elasticsearch HTTP 证书工具生成证书签名请求(CSR)。

bin/elasticsearch-certutil http

(1)是否生成 CSR ,输入 n 。

(2)是否使用现有 CA ,输入 y 。

(3)输入 CA 的路径。这是 elastic-stack-ca.p12 的绝对路径。

(4)输入 CA 的密码。

(5)输入证书的有效期。

(6)是否为每个节点生成一个证书,输入 y 。

(7)输入每个节点的名称(node.name)。

(8)输入所有节点的主机名、IP地址。

(9)输入私钥密码。

该命令生成一个 .zip 文件,其中包含 Elasticsearch 和 Kibana 使用的证书和密钥。每个文件夹都包含一个 README.txt ,说明如何使用这些文件。

2、解压缩生成的 elasticsearch-ssl-http.zip 文件。这个压缩文件包含用于Elasticsearch和Kibana的目录。

/elasticsearch

|_ README.txt

|_ http.p12

|_ sample-elasticsearch.yml

/kibana

|_ README.txt

|_ elasticsearch-ca.pem

|_ sample-kibana.yml

3、在集群中的每个节点上,完成以下步骤:

复制上面 elasticsearch 文件夹中的 http.p12 到 Elasticsearch 的配置目录下。

编辑 elasticsearch.yml ,启用 HTTPS 安全性,并指定 http.12 文件的位置。

xpack.security.http.ssl.enabled: true

xpack.security.http.ssl.keystore.path: http.p12

将私钥密码添加到 Elasticsearch 的安全设置中。

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

4、重新启动 Elasticsearch

相关推荐
chen<>27 分钟前
Git原理与应用
大数据·git·elasticsearch·svn
Shanxun Liao39 分钟前
CentOS 7.9 根分区 / 已经 100% 用满隐藏占用解决办法
linux·运维·centos
FOREVER-Q1 小时前
Windows 下通过 SSH 替代 Gitee OAuth Token 推送配置指南
运维·服务器
Cyber4K1 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
ba_pi2 小时前
每天写点什么2026-01-09-linux基础
linux·运维·服务器
少云清2 小时前
【性能测试】3_性能测试基础 _指标
运维·服务器·数据库·性能测试·性能测试指标
广州服务器托管2 小时前
比较优秀的视频音频播放器PotPlayer64-v1.7.22764绿色版
运维·windows·计算机网络·电脑·音视频·可信计算技术
行走的bug...2 小时前
cmake总结
linux·运维·服务器
凌波粒2 小时前
Linux 面试题篇
linux·运维·服务器
Joren的学习记录2 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes