架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2326|回复: 0

【实战】Elasticsearch-7.x 使用 xpack 进行安全认证

[复制链接]
发表于 2021-12-23 09:34:05 | 显示全部楼层 |阅读模式
2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供。

回顾

【实战】使用 Docker 部署 Elasticsearch 服务
https://www.itsvse.com/thread-10148-1-1.html

【实战】Elasticsearch 使用 elasticdump 数据备份和迁移
https://www.itsvse.com/thread-10143-1-1.html

Windows 下安装单机版 elasticsearch 7.10.2 教程
https://www.itsvse.com/thread-9962-1-1.html

Elasticsearch 搜索 highlight 高亮配置介绍
https://www.itsvse.com/thread-9562-1-1.html

.NET/C# 使用 Elasticsearch 调试查看请求和响应信息
https://www.itsvse.com/thread-9561-1-1.html

ASP.NET Core 链路追踪(五)Jaeger 数据持久化到 elasticsearch
https://www.itsvse.com/thread-9553-1-1.html

Elasticsearch(ES)复制克隆索引
https://www.itsvse.com/thread-9545-1-1.html

【实战】Elasticsearch(ES)集群健康值: yellow (6 of 7) 状态
https://www.itsvse.com/thread-9544-1-1.html

【实战】Elasticsearch(ES)集群健康值: red 故障分析
https://www.itsvse.com/thread-9543-1-1.html

ElasticSearch中Java操作地理位置信息(geo_point)
https://www.itsvse.com/thread-6444-1-1.html

ElasticsearchParseException[field must be either [lat], [lon] or [geohash]]
https://www.itsvse.com/thread-6442-1-1.html

elasticsearch-mapping字段类型
https://www.itsvse.com/thread-6436-1-1.html

Elasticsearch:No handler for type [string] declared on field[XX]的解决办法
https://www.itsvse.com/thread-6420-1-1.html

【实战】Elasticsearch之Kibana安装教程
https://www.itsvse.com/thread-6400-1-1.html

elasticsearch高级功能系列之geo地理坐标
https://www.itsvse.com/thread-6399-1-1.html

ElasticSearch 复合查询must、should、must_not使用
https://www.itsvse.com/thread-6334-1-1.html

【实战】Elasticsearch删除索引所有文档数据
https://www.itsvse.com/thread-6321-1-1.html

【实战】.net/c# 通过NEST调用elasticsearch搜索[附源码]
https://www.itsvse.com/thread-6294-1-1.html

单节点Elasticsearch出现unassigned_shards原因及解决办法
https://www.itsvse.com/thread-6193-1-1.html

【实战】elasticsearch-6.5.2安装elasticsearch-analysis-ik教程
https://www.itsvse.com/thread-6191-1-1.html

【实战】elasticsearch-6.5.2安装elasticsearch-head插件
https://www.itsvse.com/thread-6190-1-1.html

【实战】Centos 7 安装部署elasticsearch-6.5.2教程
https://www.itsvse.com/thread-6173-1-1.html

搜索引擎选择: Elasticsearch与Solr
https://www.itsvse.com/thread-6168-1-1.html

这意味着用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana提供全面保护。 免费提供的核心安全功能如下:

  • TLS 功能。 可对通信进行加密
  • 文件和原生 Realm。 可用于创建和管理用户
  • 基于角色的访问控制。 可用于控制用户对集群 API 和索引的访问权限
  • 通过针对 Kibana Spaces 的安全功能,还可允许在Kibana 中实现多租户


x-pack 演变

  • 5.X版本之前:没有x-pack,是独立的:security安全,watch查看,alert警告等独立单元。
  • 5.X版本:对原本的安全,警告,监视,图形和报告做了一个封装,形成了x-pack。
  • 6.3 版本之前:需要额外安装。
  • 6.3版本及之后:已经集成在一起发布,无需额外安装,基础安全属于付费黄金版内容。 7 .1版本:基础安全免费。


在此之前,保证基础安全?

场景一:全部“裸奔”,相信这在国内占据了非常大的比重。 内网部署,不对外提供服务。或者ES作为业务基础支撑,不公网开放9200等常用端口,开放的是业务的服务端口。 可能暴露问题:公司或团队内部开放9200、5601端口,基本head插件、kibana都能连接,极易导致线上索引或数据可能被误删。
场景二:加了简单防护。 一般使用Nginx身份认证+防火墙策略控制。
场景三:整合使用了第三方安全认证方案。 比如:SearchGuard、ReadonlyREST。
场景四:付费购买了Elastic-Xpack黄金版或白金版服务。 一般是银行等土豪大客户,对安全、预警、机器学习等付费功能需求迫切,如:宁波银行付费购买白金服务。

单机版开启 xpack

本文基于 Elasticsearch 7.10.2 版本,开启 xpack 安全服务。

{
  "name" : "WIN-ITSVSE",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "ad596cwGSFunWSAu0RGbfQ",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

修改 config 文件夹的 elasticsearch.yml 文件,如下:

ES中内置了几个管理其他集成组件的账号即:apm_system, beats_system, elastic, kibana, logstash_system, remote_monitoring_user,使用之前,首先需要添加一下密码。默认账号密码为:elastic:changeme(测试无效)

X-Pack安全性提供了内置的用户来帮助你启动和运行。elasticsearch-setup-password 命令是首次设置内置用户密码的最简单方法。

内置用户有4个,如下:

elastic  超级用户
kibana(过时)  用于连接并且和Elasticsearch通信的
logstash_system     用于在Elasticsearch中存储监控信息
beats_system    用于在Elasticsearch中存储监控信息

执行 elasticsearch-setup-passwords 脚本设置密码,命令如下:

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]

输入 y 继续,设置所有的密码为:a123456

QQ截图20211221104207.jpg

配置完成后,重新启动 Elasticsearch 服务,通过浏览器打开 es:9200 会提示需要认证,如下图:

QQ截图20211223092835.jpg

账号为:elastic,密码:a123456

配置 Kibana 连接

开启了安全认证之后,kibana 连接 es 以及访问 es 都需要认证。修改 config 文件夹下面的 kibana.yml 文件,如下:

QQ截图20211221105822.jpg

备注:kibana 账号已经过时,请使用 kibana_system 账号。
使用 elastic 账号登录 kibana 网页,如下图:

QQ截图20211223094135.jpg

配置 Logstash

配置如下:

直接使用 elastic 账号,如果使用 logstash_system 账号,会报错如下:

[2021-12-21T11:11:29,813][ERROR][logstash.outputs.elasticsearch][main][914f6dc36c33b25e36501f5d67843afdaa2117f811140c7c078a808a123d20a3] Encountered a retryable error. Will Retry with exponential backoff  {:code=>403, :url=>"http://127.0.0.1:9200/_bulk"}

参考链接:

https://www.elastic.co/guide/en/elasticsearch/reference/7.10/get-started-enable-security.html
https://www.elastic.co/guide/en/elasticsearch/reference/7.10/get-started-built-in-users.html






上一篇:Maven 命令将第三方 jar 包推送到 Nexus 私有仓库
下一篇:性能分析:TPS、QPS、平均响应时间(RT)概念
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 22:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表