当前位置: 首页 > article >正文

如何在 Elasticsearch 中配置 SSL / TLS ?

How to Configure SSL/TLS in Elasticsearch

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)

./bin/elasticsearch-certutil ca

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

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

./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 文件填写如下配置:

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 是否正常工作。

curl -k  https://localhost:9200

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

我的开源项目

酷瓜云课堂-开源知识付费解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

http://www.kler.cn/a/407492.html

相关文章:

  • Java集合分页
  • 【python】将word文档内容转换为excel表格
  • 经典算法:查找与排序
  • 【java-Neo4j 5开发入门篇】-最新Java开发Neo4j
  • JDK1.8新增特性
  • sql注入报错分享(mssql+mysql)
  • win10局域网加密共享设置
  • 数据结构之——红黑树
  • Hive基础笔记
  • 【数据结构-队列】力扣232. 用栈实现队列
  • 洛谷 P1722 矩阵 II C语言 记忆化搜索
  • 对比学习——moco
  • Android 工厂设计模式的使用:咖啡机,可以做拿铁,可以做美式等等。
  • SCTransNet验证测试
  • 解决报错:rror: error:0308010C:digital envelope routines::unsupported
  • 利用软件实现发票的批量查验,并自动截图保存 91发票查验助手
  • 【C++】关于指针Free和链表循环释放的问题
  • websocket消息的实现
  • 【公开笔记】小白学习vue3完整版
  • 智能体来了:构建用于具有结构化输出的内容审核的智能 AI Agent 智能体
  • 【Isaac Sim】加载自带模型或示例时报 Isaac Sim is not responding
  • 联想ThinkServer服务器主要硬件驱动下载
  • 【单片机基础】如何选择合适的低功耗单片机
  • YOLOv11融合[NeurlS2022]递归门控卷积gnconv模块及相关改进思路
  • 10 —— Webpack打包模式
  • Linux使用经验记录