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

相关推荐
Mostcow14 分钟前
文章_Linux运维_在非docker环境中编译安装docker
linux·运维·docker
y.ki1 小时前
DHT11 实现温湿度传感器
linux·运维·网络
Java指南修炼1 小时前
一个多端阅读、功能完善的原创小说 CMS 系统,支持 PC 和 WAP 多端阅读平台、自动化爬虫、定制化模板、作家管理(附源码)
运维·爬虫·自动化
壹只菜鸟2 小时前
rsync搭建全网备份
linux·运维·服务器
0zxm3 小时前
SSH和Git的基本知识
运维·git·vscode·ssh
Renhongzhou3 小时前
企业级NoSql数据库Redis集群
运维·数据库·redis·nosql·哨兵·集群扩容
私有运维4 小时前
HAProxy 负载均衡指南
运维·负载均衡
翔云API4 小时前
Node.js-发票真伪查验-发票查重-发票验真接口
运维·开发语言·小程序·自动化·ocr
弱冠少年4 小时前
JSON入门(基于ESP-IDF)
运维·服务器·json
liupenglove4 小时前
Elasticsearch写入、读取、更新、删除以及批量操作(golang)
大数据·elasticsearch·搜索引擎·golang