千家信息网

EFK教程(4) - ElasticSearch集群TLS加密通讯

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,基于TLS实现ElasticSearch集群加密通讯作者:"发颠的小狼",欢迎转载目录▪ 用途▪ ES节点信息▪ Step1. 关闭服务▪ Step2. 创建CA证书▪ Step3. 创建CERT证书
千家信息网最后更新 2026年11月02日EFK教程(4) - ElasticSearch集群TLS加密通讯

基于TLS实现ElasticSearch集群加密通讯

作者:"发颠的小狼",欢迎转载


目录

▪ 用途
▪ ES节点信息
▪ Step1. 关闭服务
▪ Step2. 创建CA证书
▪ Step3. 创建CERT证书
▪ Step4. 创建密钥库
▪ Step5. 删除CA证书
▪ Step6. 修改elasticsearch.yml配置
▪ Step7. 启动服务
▪ 附. 参考文档


用途

前情提要:

▷ 在第一篇《EFK教程 - 快速入门指南》中,阐述了EFK的安装部署,其中ElasticSearch的架构为三节点,即master、ingest、data角色同时部署在三台服务器上。
▷ 在第二篇《EFK教程 - ElasticSearch高性能高可用架构》中,阐述了EFK的data/ingest/master角色的用途及分别部署三节点,在实现性能最大化的同时保障高可用。
▷ 在第三篇《EFK教程(3) - ElasticSearch冷热数据分离》中,阐述了ES多实例部署,将不同热度的数据存在不同的磁盘上,实现了数据冷热分离、资源合理分配。

前三篇文章,ES集群之间数据交互都是明文交互,而在本文中,为ES集群创建CA、CERT证书,实现ElasticSearch集群之间数据通过TLS进行双向加密交互。


ES节点信息

由于本文是基于上一篇文章《EFK教程(3) - ElasticSearch冷热数据分离》为环境进行阐述,因此节点信息和上一篇一致:


Step1. 关闭服务

首先,需要停止所有ElasticSearch、kibana、filebeat服务,待证书配置完成后再启动


Step2. 创建CA证书

1️⃣ 找任一一台ElasticSearch节点服务器操作即可

cd /opt/elasticsearch/# --days: 表示有效期多久sudo -u elasticsearch ./bin/elasticsearch-certutil ca --days 3660

2️⃣ 务必将生成的CA证书,传到安全地方永久存储,因为后期若需要新增ES节点,还会用到该证书


3️⃣ 请将elastic-stack-ca.p12证书传到所有ES实例服务器上


Step3. 创建CERT证书

按上面表格进入相对应的目录创建CERT证书

# 在ES目录中建立证书目录及给予elasticsearch权限mkdir -p config/certs;chown elasticsearch.elasticsearch config/certs -R# 每一个实例一个证书# --ca CA证书的文件名,必选参数# --dns 服务器名,多服务器名用逗号隔开,可选参数# --ip 服务器IP,多IP用逗号隔开,可选参数# --out 输出到哪里,可选参数# --days 有效期多久,可选参数sudo -u elasticsearch ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --ip ${本机IP},127.0.0.1 --out config/certs/cert.p12 --days 3660# 例如elasticsearch-master-1(192.168.1.31)执行命令:sudo -u elasticsearch ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --ip 192.168.1.31,127.0.0.1 --out config/certs/cert.p12 --days 3660


如果想批量生成CERT证书,请自行查阅附录链接,不过批量生成有时会碰到生成的证书不可用,因此建议一台一台生成


Step4. 创建密钥库

按上面表格进入相对应的目录创建密钥库

# 每一个实例都要操作# 创建密钥库sudo -u elasticsearch ./bin/elasticsearch-keystore create# PKCS#12文件的密码sudo -u elasticsearch ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password# 信任库的密码sudo -u elasticsearch ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password



确认keystore、truststore已录入至密钥库

sudo -u elasticsearch ./bin/elasticsearch-keystore list


Step5. 删除CA证书

由于上面创建的elastic-stack-ca.p12含有私钥,因此为了安全,建议将该文件删除(请务必提前备份好,因为后期增加节点还会用到)

按上面表格进入相对应的目录删除CA证书

rm -f elastic-stack-ca.p12

Step6. 修改elasticsearch.yml配置

按上面表格对应的实例配置conf目录下elasticsearch.yml

# 在所有实例上加上以下配置# 开启transport.ssl认证xpack.security.transport.ssl.enabled: true# xpack认证方式 full为主机或IP认证及证书认证,certificates为证书认证,不对主机和IP认证,默认为fullxpack.security.transport.ssl.verification_mode: full# xpack包含私钥和证书的PKCS#12文件的路径xpack.security.transport.ssl.keystore.path: certs/cert.p12# xpack包含要信任的证书的PKCS#12文件的路径xpack.security.transport.ssl.truststore.path: certs/cert.p12

Step7. 启动服务

# 开启所有ES实例sudo -u elasticsearch ./bin/elasticsearch# 开启filebeat/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"# 开启kibanasudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml

附. 参考文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-tls.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/7.3/certutil.html
证书 服务 节点 实例 目录 数据 服务器 认证 参数 密钥 文件 生成 配置 教程 集群 表格 信息 冷热 用途 加密 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 互联网科技工作委员会副主任毛军 互联网科技卖菜 美国互联网科技巨头监管 关于新基建和互联网科技 华宇互联网科技 美国互联网黑科技 互联网 视角下的科技创新 掌上梦互联网科技 现代科技和互联网有关系吗 昊天互联网科技有限公司 青岛科技大学互联网大赛研究生 银川新华互联网科技学校联系电话 朱啸虎曾投资哪些互联网科技企业 恒生互联网科技业指数调整周期 互联网第三次科技革命特征 国产互联网科技公司 互联网高科技行业有哪些企业 互联网领先科技活动 米泉互联网科技专业怎么样 云之行互联网科技 互联网科技官网 互联网科技有限公司经营范围 北京互联网科技 互联网金融与金融科技 世界互联网领先科技成果 福建科技产业互联网发展 崇明区互联网教育科技售后服务 搜狐科技互联网 佛山市拉法互联网科技有限公司
0