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

ES开启身份认证

文章目录

  • X-Pack简介
  • 之前的安全方案
  • ES开启认证
  • ES服务升级https协议
  • 开启集群节点之间的证书认证

X-Pack简介

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。
X-Pack的发展演变:
1,5.X版本之前:没有x-pack,是独立的:security安全,watch查看,alert警告等独立单元。
2,5.X版本:对原本的安全,警告,监视,图形和报告做了一个封装,形成了x-pack。
3,6.3 版本之前:需要额外安装。
4,6.3版本及之后:已经集成在一起发布,无需额外安装,基础安全属于付费黄金版内容。 7 .1版本:基础安全免费

X-Pack分基础级、黄金级、白金级,不同等级功能不同,基础级免费所以一般我们使用基础级
在这里插入图片描述
这里我们使用X-Pack来做

之前的安全方案

免费之前,一般采用以下方案保证安全:

方案一:全部“裸奔”,相信这在国内占据了非常大的比重。
内网部署,不对外提供服务。或者ES作为业务基础支撑,不公网开放9200等常用端口,开放的是业务的服务端口。
可能暴露问题:公司或团队内部开放9200、5601端口,基本head插件、kibana都能连接,极易导致线上索引或数据可能被误删。

方案二:简单防护。
一般使用Nginx身份认证+防火墙策略控制。 (这种方式后续可以测试验证一下)

方案三:整合使用了第三方安全认证方案。
比如:SearchGuard、ReadonlyREST。

方案四:付费购买了Elastic-Xpack黄金版或白金版服务。
一般是银行等土豪大客户,对安全、预警、机器学习等付费功能需求迫切,如:宁波银行付费购买白金服务。

ES开启认证

ES环境部署不在赘述,参考之前博客
修改 config/elasticsearch.yml配置文件,增加以下两项内容,开启 X-Pack认证

xpack.security.enabled: true   #X-Pack 认证总开关,开启之后访问ES 9200就必须进行用户名和密码认证
xpack.security.transport.ssl.enabled: true  # 开启总开关后必须开启该选项,否则无法启动

并设置ES用户密码,执行完成后记得保存自动修改的用户名和密码防止忘记。

bin/elasticsearch-setup-passwords auto

再次访问ES http://10.XX.XX.22:9200 就要求输入用户名密码才能访问

在这里插入图片描述
修改用户密码:

curl -kv -H “Content-Type:application/json” -XPOST ‘https://elastic:******@X.X.X.X:9200/_security/user/elastic/_ssword’ -d ‘{ “password” : “newpass” }’

ES服务升级https协议

执行以下命令生成证书

/bin/elasticsearch-certutil ca  #直接回车
/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #直接回车 --ca后的内容为 第一条名称生成的 文件名称

功生成两个文件:elastic-certificates.p12 elastic-stack-ca.p12
将文件放置在config/cert目录下 (需要新建cert目录)
修改 config/elasticsearch.yml配置文件,增加以下内容,开启 https访问:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: cert/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: cert/elastic-certificates.p12

重启并再次访问ES服务必须通过https 访问 https://10.XX.XX.22:9200

在这里插入图片描述

开启集群节点之间的证书认证

修改 config/elasticsearch.yml配置文件,增加以下内容:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: cert/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: cert/elastic-certificates.p12

重启服务即可。后续有机会验证一下

参考文档:https://blog.csdn.net/laoyang360/article/details/90554761
https://blog.csdn.net/github_30641423/article/details/123746349

http://www.lryc.cn/news/104490.html

相关文章:

  • Docker安装es以及ik分词器
  • 中断、进程调度、进程切换、系统调用,模式切换的那些事情
  • 使用web-view实现网页端和uni-app端是数据传输
  • Ajax快速入门
  • Google OAuth 2 authorization - Error: redirect_uri_mismatch 400
  • Qt 中操作xml文件和JSON字符串
  • React 基础篇(二)
  • springboot + shiro 下载文件时浏览器提示“无法下载-没有权限”或“无法下载-没有文件”问题
  • ChatGLM-6B 部署与 P-Tuning 微调实战-使用Pycharm实战
  • 【雕爷学编程】MicroPython动手做(11)——搭建掌控板IDE开发环境四种
  • uniapp android底部弹框
  • hashedWheelTimer类
  • 【自动化测试】Selenium IDE脚本编辑与操作
  • 杭电多校2023“钉耙编程”中国大学生算法设计超级联赛(5)
  • Matlab进阶绘图第24期—悬浮柱状图
  • 【题解】链表中倒数最后k个结点、删除链表的倒数第n个节点
  • 网络安全大厂面试题
  • 7.事件类型
  • ts中声明引入未使用的报错——解决方案
  • 集团MySQL的酒店管理系统
  • Kotlin基础(九):对象和委托
  • 八大排序算法--希尔排序(动图理解)
  • 数据结构之常见排序算法
  • Java版企业电子招标采购系统源代码Spring Boot + 二次开发 + 前后端分离 构建企业电子招采平台之立项流程图
  • 2.2 模型与材质基础
  • 什么是Docker
  • 1109. 航班预订统计
  • [SQL挖掘机] - 窗口函数 - 合计: rollup
  • 2022年全国硕士研究生入学统一考试管理类专业学位联考写作试题——解析版
  • 元类在测试框架中的运用