如何在 Elasticsearch 中配置 SSL / TLS ?

Elasticsearch 是一种流行的开源搜索和分析引擎。它被广泛用于日志或活动数据分析,全文搜索和复杂查询。但是,没有适当的安全措施,敏感数据可能很容易受到影响拦截和未经授权的访问。在 Elasticsearch 中启用 SSL/TLS 是保护数据的关键步骤。

本指南将介绍配置 SSL/TLS 的详细步骤,从而保证 Elasticsearch 集群的安全性。

Step 1: Generate SSL/TLS Certificates

第一步是为您的 Elasticsearch 节点生成 SSL/TLS 证书。如果您使用自签名证书进行测试,

Elasticsearch 的 elasticsearch-certutil 工具可以简化此过程。对于生产环境,建议使用由可信赖 CA 签发的证书。

使用 elasticsearch-certutil 工具创建一个 Certificate Authority (CA)

bash 复制代码
./bin/elasticsearch-certutil ca

当提示输入 CA 文件的名称时,按 enter 键使用默认名称或设置新名称。

使用创建的 CA,为 Elasticsearch 节点生成证书。

bash 复制代码
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

该命令生成一个 .p12 (PKCS#12) 文件,其中封装了节点的证书、私钥和 CA 证书。

请把 elastic-stack-ca.p12 替换为 CA 证书存储的实际路径。

您可能需要为集群中的每个节点生成特定的证书,具体取决于您的设置。

Step 2: Configure Elasticsearch to Use SSL Certificate

拥有 SSL/TLS 证书后,您需要配置 Elasticsearch 使用它们,这涉及编辑群集中每个节点上的 elasticsearch.yml 配置文件。

每个节点上的 elasticsearch.yml 文件填写如下配置:

bash 复制代码
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
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12

请把 elastic-certificates.p12 替换为 证书存储的实际路径。

Step 3: Restart Elasticsearch

配置所有节点后,重新启动您的 elasticsearch 群集以应用更改。

Step 4: Verify SSL/TLS Configuration

使用 Curl 之类的工具向 Elasticsearch HTTP API 发出请求,验证 SSL/TLS 是否正常工作。

bash 复制代码
curl -k  https://localhost:9200

-k 选项允许 curl 在不验证证书的情况下进行连接,这对于使用自签名证书进行初始测试非常有用。如果一切配置正确,您应该从 Elasticsearch 收到一个 JSON 响应。

我的开源项目

相关推荐
云-缩影4 小时前
拆解微信小程序后端架构:ECS、RDS、SSL 和 VPC 怎么配合
微信小程序·架构·ssl
北风toto5 小时前
Elasticsearch 8.2.3 快照迁移实战:从备份到恢复的完整指南
大数据·elasticsearch·jenkins
Elasticsearch1 天前
你的日志早已写好告警:在 Elasticsearch 中生成 ES|QL 检测查询
elasticsearch
垚垚学技术_聚焦云原生1 天前
Ansible Vault 安全实践:敏感密码、密钥加密存储方案
安全·elasticsearch·ansible
Flynn Liang2 天前
内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表
redis·elasticsearch·milvus·rag·springai·pgvector·向量库
Elastic 中国社区官方博客2 天前
基于 Jina OCR v1 与 Elasticsearch 的 PDF 智能混合检索与 RAG 系统实战指南
大数据·数据库·elasticsearch·搜索引擎·ocr·jina
Eloudy3 天前
Qwen2.5-14B-Instruct-AWQ 模型文件结构分析
大数据·elasticsearch·搜索引擎
YIN_尹3 天前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
Elastic 中国社区官方博客3 天前
Elastic 在《Forrester Wave™:2026 年第四季度智能运维平台》报告中被评为强劲表现者
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
Elasticsearch3 天前
Elastic Cloud 无服务器服务审计日志:将审计记录发送到可观测性或安全解决方案
elasticsearch