生成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

相关推荐
勿芮介6 分钟前
【研发工具】Jenkins镜像源配置问题及解决方案
运维·servlet·jenkins
qq_312920116 分钟前
如何将Nginx响应时间从500ms降至50ms
运维·nginx
zizle_lin35 分钟前
CentOS配置yum源
linux·运维·centos
志栋智能41 分钟前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
武器大师721 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
剑神一笑1 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
蘑菇丁1 小时前
招聘大数据运维工程师(郑州)
大数据·运维
NiceCloud喜云2 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
qq_312920112 小时前
服务器被攻击!完整安全加固清单汇总
运维·服务器·安全
leaves falling2 小时前
深入理解Linux进程控制:从fork到exec,手写一个迷你Shell
linux·运维·服务器