首页 > 其他分享 >elasticsearch集群部署及加密通讯

elasticsearch集群部署及加密通讯

时间:2024-12-01 22:28:40浏览次数:7  
标签:加密 certificate xpack 证书 elasticsearch 集群 security

原文地址:elasticsearch集群部署及加密通讯 – 无敌牛

欢迎参观我的个人博客无敌牛 – 技术/著作/典籍/分享等

第零步,准备

给各台设备配置虚拟主机名,这样集群不依赖IP,即使IP变动,改动也更方便。参考往期文章:https://www.madbull.site/?p=1094 第三步 3.2 一节。

第一步,颁发证书

本次文章自建CA根证书,以自建证书给各个子节点颁发服务端证书。

参看这篇文章:https://www.madbull.site/?p=1111 自建根证书,并用此根证书给三个设备分别颁发证书。

注意:在创建服务端证书时,用到的 csr.conf 文件中,commonNamealt_names 配置要根据自己的实际情况做相应修改。

第二步,修改配置文件

修改 /etc/elasticsearch/elasticsearch.yml 文件,内容如下:

cluster.name: CLUSTERNAMEXXX
node.name: xxxxnode1

path.data: /data/xxxx/data 
path.logs: /data/xxxx/logs
path.repo: /data/xxxx/esbackup

bootstrap.memory_lock: true
network.host: xxxxnode1, 127.0.0.1
discovery.seed_hosts: ["xxxxnode1", "xxxxnode2", "xxxxnode3"]

action.destructive_requires_name: false

xpack.security.enabled: true

xpack.security.enrollment.enabled: true

xpack.security.http.ssl:
  enabled: true
  key: certs/private.key
  certificate: certs/public.crt
  certificate_authorities: certs/CAs/myCA.crt
  verification_mode: certificate

xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  key: certs/private.key
  certificate: certs/public.crt
  certificate_authorities: certs/CAs/myCA.crt

cluster.initial_master_nodes: ["xxxxnode1", "xxxxnode2", "xxxxnode3"]

配置项解释:

cluster.name: 集群名称,同一个集群里的各个节点,配置相同集群名称。

node.name: 当前服务节点名称,在集群里名字是唯一的

path.data: 数据保存路径

path.logs: 日志存储路径

path.repo: 数据库快照备份路径

bootstrap.memory_lock: 是否锁定内存,不允许磁盘交换。如果大内存,可以设置为true;否则内存空间不够则可能数据库服务启动失败。

network.host: 如果不考虑设备有多个IP的情况,可以直接配置成 0.0.0.0 或者 _site_。集群需要跨主机访问,所以需要开放端口,不能只绑定在 _local_ 或者 127.0.0.1 。

discovery.seed_host: 用于发现集群中其他节点的初始主机列表。

action.destructive_requires_name: 控制执行某些破坏性操作,设置 false 操作验证会减少。

xpack.security.enabled: 是否启用xpack安全特征,包括认证、授权和加密等。

xpack.security.enrollment.enabled: 是否启用节点自动加入集群。

xpack.security.http.ssl: https访问相关配置。

xpack.security.transport.ssl: 节点间通讯通过ssl加密相关配置。

verification_mode: 验证模式,此处为证书

key: 私钥文件

certificate: 证书文件

certificate_authorities: 信任的CA根证书文件

cluster.initial_master_nodes: 指定哪些节点可以作为主节点 master

需要根据各个服务器自身的情况做调整。

第三步,安装证书

把第一步申请的服务端私钥、服务端证书 和 CA根证书,放在 key、certificate、certificate_authorities 参数指定的文件路径。目录结构如下,并确保文件对minio用户可读。此处用了软连接,也是同样的效果,可以把对应的文件直接放在指定的位置上。

注意:三台设备用到的根证书,也就是 CAs/myCA.crt 是同一个,但是 服务端私钥和服务端证书则各不相同。xpack.security.http.ssl 下的配置 和 xpack.security.transport.ssl 下的配置可以不是同一个文件。

elasticsearch集群 不信任系统的证书,所以把CA证书添加到系统信任列表不起作用,必须把根证书放在 certificate_authorities 指定的位置。

最后

三台设备重启 elasticsearch 服务: systemctl restart elasticsearch。

如果 原来的 elasticsearch 库中已经有数据,设备只会保留主设备的数据,其他设备的数据将被删除。

如果遇到三台设备都只找到自己,并选定自己是主设备,且找不到其他设备,尝试删除数据目录(也就是path.data配置项指定的目录)下 _state 文件夹下的所有内容,重启 elasticsearch 服务尝试组建集群。


elasticsearch基本操作,参考文章:https://www.madbull.site/?p=424

python开发基本操作参考示例:https://www.madbull.site/?p=606

标签:加密,certificate,xpack,证书,elasticsearch,集群,security
From: https://blog.csdn.net/weixin_42073635/article/details/144117432

相关文章

  • 保姆级教程docker部署Elasticsearch+Kibana,必成
    文章目录概要介绍准备工作开始部署启动部署成功!概要介绍ELK监控体系中E和K两大组件,可以方便的搞起日志监控;本文采用dockers-compose方式部署,没用过docker的话请先参考别的教程学下哈组件版本elasticsearch8.14.3kibana8.14.3提示:这里有个重点,es和kibana的版本必......
  • AES加密算法原理详解
    AES加密:高级加密标准(AES,AdvancedEncryptionStandard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:明文p::::info没有经过加密的数据。:::密钥K::::info用来加密明文的密码,在......
  • 初探elasticsearch集群
    集群概览:{"cluster_name":"3e4500835f604a89b762f0e854d3747f","status":"green","timed_out":false,"number_of_nodes":3,"number_of_data_nodes":2,"active_......
  • Halcon数据的加密功能
        无论是在外部或本地过程中保存的代码,还是整个过程库或程序的代码,都可以设置密码保护。因此,可以在不泄露程序代码的情况下共享功能。所有可序列化的 HALCON 数据也可以用密码进行加密和保护。这可以直接保护自己的知识产权(例如,已训练的深度学习模型),保护包含知......
  • 基于MATLAB:非相干成像及非相干照明下的光学加密仿真
    喜欢的话给小编点个关注点个赞呀在上一篇中,小编讲解了基于MATLAB的相干成像以及基于相干衍射成像的光学加密仿真,今天小编将带大家学习基于非相干成像以及相干衍射成像的光学加密matlab仿真。成像系统模型根据物体照明的相干性有不同的脉冲响应。如果照明是空间相干的,脉冲响应......
  • .NET Md5加密异常处理
    操作系统更新后,软件出现各种bug~乍一看,md5加密算法跪了!为啥会出现md5算法崩溃呢?原因是操作系统开启了FIPS,而md5并不是FIPS(FederalInformationProcessingStandards即(美国)联邦信息处理标准)中的一个部分,这就导致了异常的发生!要解决这个问题,思路很简单:关闭FIPS或者本软件关......
  • 如何搭建JMeter分布式集群环境来进行性能测试
    在性能测试中,当面对海量用户请求的压力测试时,单机模式的JMeter往往力不从心。如何通过分布式集群环境,充分发挥JMeter的性能测试能力?这正是许多测试工程师在面临高并发、海量数据时最关注的问题。那么,如何轻松搭建JMeter分布式集群环境,实现性能测试的最大化呢?你是否也曾为测试......
  • 第六章 ElasticSearch
    1.初识ElasticSearch1.1倒排索引1.2什么是文档和词条?每一条数据就是一个文档,文档会被序列化成json存储在elasticsearch中对文档中的内容分词,得到的词语就是词条1.3什么是正向索引?基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条1.4什么是......
  • 企业级数据安全-CDH集群-dolphinscheduler海豚调度一站式数据安全技术实战2025
    企业级数据安全-CDH集群-dolphinscheduler海豚调度一站式数据安全技术实战2025,为了配合集团上市数据审计要求,我们在公司内部升级了数据安全等级。一:CDH技术框架,这也是通用企业级的数据平台框架。   2024-11月  测试环境  上 kerberos 认证 1.1 修改拷贝......
  • PHP RSA 加密解密
     //加密数据  publicfunctionencryptApi(Request$Request)  {      $app_data=$Request->input('app');//要加密的数据      $admin_data=$Request->input('admin');//要加密的数据      //加密数据    ......