es 集群安全认证

news2025/1/22 15:51:44

参考文档:Configure security for the Elastic Stack | Elasticsearch Guide [7.17] | Elastic

ES敏感信息泄露的原因

  • Elasticsearch在默认安装后,不提供任何形式的安全防护
  • 不合理的配置导致公网可以访问ES集群。比如在elasticsearch.yml文件中,server.host配置为0.0.0.0

免费的方案

  • 设置nginx反向代理
  • 安装免费的Security插件
    • Search Guard : Security and Alerting for Elasticsearch and Kibana | Search Guard
    • readonlyrest: ReadonlyREST Security and Multi-tenancy for Elasticsearch and Kibana
  • X-Pack的Basic版
    • 从ES 6.8开始,Security纳入x-pack的Basic版本中,免费使用一些基本的功能

集群内部安全通信

ElasticSearch集群内部的数据是通过9300进行传输的,如果不对数据加密,可能会造成数据被抓包,敏感信息泄露。

解决方案: 为节点创建证书

TLS 协议要求Trusted Certificate Authority (CA)签发x.509的证书。证书认证的不同级别:

  • Certificate ——节点加入需要使用相同CA签发的证书
  • Full Verification——节点加入集群需要相同CA签发的证书,还需要验证Host name 或IP地址
  • No Verification——任何节点都可以加入,开发环境中用于诊断目的

1)生成节点证书

首先进入到 es 文件夹

执行命令:

# 为集群创建一个证书颁发机构
bin/elasticsearch-certutil ca

中间会出现两个提示,直接回车即可

继续执行:

# 为集群中的每个节点生成证书和私钥
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

期间也会有几个提示,直接回车

然后将生成的文件移动到 config 下

# 移动到config目录下
mv *.p12 config/

然后 config 文件夹中可以看到多了两个文件 

将如上命令生成的两个证书文件拷贝到另外两个节点作为通信依据。

注意换成自己对应的用户名和对应的文件夹

# 拷贝到另外两个节点
scp config/*.p12 heyue@192.168.177.202:/home/heyue/es/elasticsearch-7.17.3/config
scp config/*.p12 heyue@192.168.177.203:/home/heyue/es/elasticsearch-7.17.3/config

 

2)配置节点间通信

三个ES节点增加如下配置:

## elasticsearch.yml 配置
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.enabled: true # 开启xpack认证机制

配置完成后,记得重启 es 如果后台启动,bin/elasticsearch 后面加上 -d

然后再次访问,发现需要用户密码登录了

 

3)为内置账号添加密码

ES中内置了几个管理其他集成组件的账号即:apm_system, beats_system, elastic, kibana,

 logstash_system, remote_monitoring_user,使用之前,首先需要添加一下密码。

bin/elasticsearch-setup-passwords interactive

这里我都设置了 123456,可以根据自己情况 按需修改 

  • interactive:给用户手动设置密码。
  • auto:自动生成密码。

4)测试: 

输入密码后可以看到配置完成

5)配置Kibana

开启了安全认证之后,kibana连接es以及访问es都需要认证。

修改kibana.yml

elasticsearch.username: "kibana_system"
elasticsearch.password: "123456"

然后记得重启

# 查找 kibana 进程
netstat -tunlp | grep 5601
#重启,注意进入到 kibana 文件包中
nohup  bin/kibana &

 

6)配置cerebro

修改配置文件

vim conf/application.conf

hosts = [
  {
    host = "http://192.168.65.174:9200"
    name = "es-cluster"
    auth = {
      username = "elastic"
      password = "123456"
    }
  }
]

配置完成后记得重启

# 查找 kibana 进程
netstat -tunlp | grep 5601
#重启
nohup bin/cerebro > cerebro.log &

每天进步一点点,加油 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Godot4.2】2D导航03 - NavigationRegion2D及其使用方法

概述 Godot4.0改进了2D部分的导航,NavigationRegion2D基本可以看做是3.X的Navigation2D的进化版本。 它的基本用法就是先绘制navigation_polygon,也就是导航网格,或者直白点就是“可通行区域”。然后将带有碰撞形状和NavigationAgent2D子节点…

蓝桥杯前端Web赛道-输入搜索联想

蓝桥杯前端Web赛道-输入搜索联想 题目链接:1.输入搜索联想 - 蓝桥云课 (lanqiao.cn) 题目要求: 题目中还包含effect.gif 更详细的说明了需求 那么观察这道题需要做两件事情 把表头的每一个字母进行大写进行模糊查询 这里我们会用到几个js函数&#…

如何用VR全景讲述产品、企业的故事

请记住,你的全景不只是全景!使用VR全景来讲述企业或产品的故事是一种创新且互动性强的方法,可以吸引观众并提供沉浸式体验。 运用720云漫游编辑工具的导览功能和数字人功能,您可以创造一个既视觉吸引又能情感连结的故事。 1. 规划…

OpenCV学习笔记(十)——利用腐蚀和膨胀进行梯度计算以及礼帽和黑帽

梯度计算 在OpenCV中,梯度计算是图像处理中的一个基本操作,用于分析图像中像素值的变化速率的方向,其中梯度的方向是函数变化最快的方向,因此在图像中,沿着梯度方向可以找到灰度值变化最大的区域,这通常是…

golang面试题总结

零、go与其他语言 0、什么是面向对象 在了解 Go 语言是不是面向对象(简称:OOP) 之前,我们必须先知道 OOP 是啥,得先给他 “下定义” 根据 Wikipedia 的定义,我们梳理出 OOP 的几个基本认知: …

Springboot+Redis:实现缓存 减少对数据库的压力

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

期权波动率是什么?怎么计算?

期权波动率 历史波动率:基于历史行情计算出来的历史波动率 我们现在站在现实时点B回顾过去,从A到B这段时间的历史行情我们是知道的,但是基于过去一段时间,标的价格的历史数据计算出来的波动率,就是历史波动率&#x…

c++类和对象(中)类的6个默认成员函数及const成员函数

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 今日主菜:类和对象 主厨:邪王真眼 所属专栏:c专栏 主厨的主页:Chef‘s blog 前言: 咱们之前也是…

字符分类函数

字符分类函数 文章目录 前言1. 字符分类函数1.2.使用例子 2.2.字符操作函数 前言 在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,接下来我们就学习⼀下这些函数。 1. 字…

搭建项目后台系统基础架构

任务描述 1、了解搭建民航后端框架 2、使用IDEA创建基于SpringBoot、MyBatis、MySQL、Redis的Java项目 3、以原项目为参照搭建项目所涉及到的各个业务和底层服务 4、以原项目为例,具体介绍各个目录情况并参照创建相关文件夹 1、创建项目后端 BigData-KongGuan …

Linux发布项目(包括前端和后端)到OpenEuler虚拟机上

后端:SpringBoot 前端:VUE3 操作系统:Linux 虚拟机:OpenEuler 发布项目是需要关闭虚拟机上的防火墙 systemctl stop firewalld 一、发布后端项目到虚拟机 1打包后端项目为jar包 2将打包后的jar包放到虚拟机 /opt 目录下 3 运行项…

接口自动化测试流程、工具及实践(完整版)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、接口自动化测试简介 接口自动化测试是指通过编写脚本或使用自动化工具,对软件系…

小朋友排队(蓝桥杯,acwing,归并)

题目描述: n 个小朋友站成一排。 现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。 开始的时候,所有小朋友的不高兴程度都是 0。 如果某个小朋友第一次被要求交换&#…

算法之前缀和

题目1: 【模板】一维前缀和(easy) 方法一: 暴力解法, 时间复杂度O(n*q), 当n10^5, q 10^5, 时间复杂度为O(10^10), 会超时. 方法二: 前缀和: 快速求出数组中某一段连续区间的和. 第一步: 预处理出来一个前缀和数组dp: 1. dp[i]表示区间[1,i]里所有元…

“币安悬赏500万美元”,调查BOME内幕!创始人:谁控制了Meme,谁就控制了宇宙!

自去年11月开始,背靠美帝资本力量的Solana在FTX交易所暴雷后重新崛起。目前Sol价格已经从熊市的8美刀上涨至200刀附近。除了Sol本币上涨外,Solana生态也是快速发展。 这其中又以Meme币最为突出!西方玩家正把所有的梗都搬进链上制成Meme币&am…

echarts geo地图加投影两种方法

方法1,geo中加多个地图图形,叠加。缩放时 可能会不一致,需要捕捉georoam事件,使下层的geo随着上层的geo一起缩放拖曳 geo: [{zlevel: 3,//geo显示级别,默认是0 【最顶层图形】map: BJ,//地图名roam: true,scaleLimit: …

[AIGC] MySQL与PostgreSQL:两种流行的数据库系统的对比

数据库是存储和查询数据的重要工具。在选择数据库时,两个经常被考虑的选项都是开源的:MySQL和PostgreSQL。这两个数据库都与许多应用程序一起使用,但它们在某些方面存在显著的不同。在本文中,我们将比较MySQL和PostgreSQL的一些关…

基金分析之与行业间的相关系数计算

这几年买了非常多的基金,一直很好奇基金在非业绩披露期都持有了什么东西?所以写了一个基金净值和各申万一级行业相关系数(以及和市场主流指数)的代码看看能否分析出点东西。 这里依然用了wind API,复现前记得安装。 …

超快速排序(蓝桥杯,归并排序,acwing)

题目描述: 在这个问题中,您必须分析特定的排序算法----超快速排序。 该算法通过交换两个相邻的序列元素来处理 n 个不同整数的序列,直到序列按升序排序。 对于输入序列 9 1 0 5 4,超快速排序生成输出 0 1 4 5 9。 您的任务是确…

JavaScript基础知识2

求数组的最大值案例 let arr[2,6,1,7,400,55,88,100]let maxarr[0]let minarr[0]for(let i1;i<arr.length;i){max<arr[i]?maxarr[i]:maxmin>arr[i]?minarr[i]:min}console.log(最大值是&#xff1a;${max})console.log(最小值是&#xff1a;${min}) 操作数组 修改…