干货 | Elasticsearch 7.1免费安全功能全景认知

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有价值。

0、背景

2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供。
这意味着用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana

提供全面保护。 免费提供的核心安全功能如下:
1)TLS 功能。 可对通信进行加密;
2)文件和原生 Realm。 可用于创建和管理用户;
3)基于角色的访问控制。 可用于控制用户对集群 API 和索引的访问权限;
通过针对 Kibana Spaces 的安全功能,还可允许在Kibana 中实现多租户。

网上千篇一律都是这篇通稿,不实践一把,感觉还是不好理解。
结合大家最关心的问题,从下面几个认知维度,对Elasticsearch安全进行全面探讨。

1、x-pack演变

20190526003631227.png

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

2、开源!=免费

2018年2月28日X-Pack 特性的所有代码开源,主要包含:
Security、Monitoring、Alerting、Graph、Reporting、专门的 APM UI、Canvas、Elasticsearch SQL、Search Profiler、Grok Debugger、Elastic Maps Service zoom levels 以及 Machine Learning。

2019年5月21日免费开放了文章开头的基础安全功能,在这之前的版本都是仅有1个月的适用期限的。

如下功能点仍然是收费的。

付费黄金版&白金版提供功能:

  • 审核日志
  • IP 筛选
  • LDAP、PKI*和活动目录身份验证
  • Elasticsearch 令牌服务

付费白金版提供安全功能:

  • 单点登录身份验证(SAML、Kerberos*)
  • 基于属性的权限控制
  • 字段和文档级别安全性
  • 第三方整合(自定义身份验证和授权 Realm)
  • 授权 Realm
  • 静态数据加密支持
  • FIPS 140-2 模式

20190526003643814.png

官方地址:https://www.elastic.co/cn/subscriptions

3、安全部分免费之前,大家怎么保证基础安全?

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

场景二:加了简单防护。
一般使用Nginx身份认证+防火墙策略控制。

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

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

4、基于免费安全认证,我们能做什么?

4.1 TLS 功能。

可对通信进行加密。

实践一把。在本机win10环境,部署了2节点7.1集群。

部署官网已经介绍非常详细了:https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security
核心步骤:

第一步:下载+基础配置,2ES node+1kibana。
第二步:配置TLS和认证。

  bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

注意:
1、此配置适用于具有多个节点的集群以及具有侦听外部接口的单个节点的集群。
2、使用环回接口的单节点集群没有此要求。

第三步:设置ES等相关登录密码。

   bin/elasticsearch-setup-passwords auto

自动生成相对安全,也可以手动设置密码。

20190526003721413.png

第四步:配置kibana。
自此,多节点集群之间的通信在传输层通过加密通信加了安全性(TLS / SSL)保护。

4.2 文件和原生 Realm。

可用于创建和管理用户。
head插件安全登录:

22.png

23.png

24.png

kibana安全登录:

相比于未使用x-pack安全防护的集群,节点之间的通信wireshark抓包已不能解密。

4.3 基于角色的访问控制。

可用于控制用户对集群 API 和索引的访问权限;

通过针对 Kibana Spaces 的安全功能,还可允许在 Kibana 中实现多租户。
权限部分分解为3个维度(相对不严谨,Space更偏向于Kibana维度):
1、Space维度、
2、角色维度、
3、用户维度。

25.png

Space是Elastic6.5版本引入的新特性,便于便于企业分组管理。
比如:开发、测试、运维、产品可以是不同的视角。

26.png

角色:设置Elasticsearch数据的权限并控制对Kibana空间的访问。

27.png

用户:关联对应的角色。1个角色下可以有多个用户,但一个用户唯一对应一个角色。
28.png

4.4 其他

不尽兴怎么办? 其他内容待实践后补充完善。

5、小结

关于安全:之前文章“你的Elasticsearch在“裸奔”吗?”有过总结,“裸奔”Elastic集群的风险非常大,我们必须提前加强重视。
关于费用:中小企业客户基本是没有也不可能付费买商业版的(坊间传闻:x-pack黄金版40000+每年;白金版60000+每年)。基础安全免费给大家带来非常利好的消息。
关于选型:Elastic7.1的基础安全免费,基本解决了中小企业的安全问题,在后续7.X版本的选型中,7.1 较7.0更有鲜明的安全特点,应该优先选择。
参考:
1、5.X x-pack:https://www.elastic.co/cn/blog/heya-elastic-stack-and-x-pack
2、https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security

20190117225823895.png

铭毅天下——Elasticsearch基础、进阶、实战第一公众号

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
存储 搜索推荐 Java
|
6月前
|
存储 人工智能 自然语言处理
Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解]
Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解]
Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解]
|
4月前
|
安全 大数据 Java
elasticsearch|大数据|低版本的elasticsearch集群的官方安全插件x-pack的详解
elasticsearch|大数据|低版本的elasticsearch集群的官方安全插件x-pack的详解
53 0
|
4月前
|
安全 Java 大数据
elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设置问题
elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设置问题
42 0
|
8月前
|
自然语言处理 前端开发 Java
|
9月前
|
自然语言处理 前端开发 Java
十.全文检索ElasticSearch经典入门-自动补全功能
十.全文检索ElasticSearch经典入门-自动补全功能
|
10月前
|
存储 JSON 搜索推荐
ElasticSearch 之 搜索辅助功能
ElasticSearch 之 搜索辅助功能
89 0
|
10月前
|
存储 运维 监控
大数据数据存储的搜索引擎Elasticsearch的集群运维的集群安全
Elasticsearch是一个可扩展的搜索引擎,可以在同一个集群中部署多个Elasticsearch节点,以提高性能和可用性。
64 0
|
11月前
|
监控 安全 数据安全/隐私保护
《Elastic(中国)基础开发宝典》——集群安全配置功能大升级,单机模拟运行 Elasticsearch 8.1.2 三节点集群
《Elastic(中国)基础开发宝典》——集群安全配置功能大升级,单机模拟运行 Elasticsearch 8.1.2 三节点集群
|
负载均衡 Java 微服务
ElasticSearch集群节点角色功能
ElasticSearch Node Role
144 0

热门文章

最新文章