前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >X-Pack还是SearchGuard,Elasticsearch安全功能怎么选?

X-Pack还是SearchGuard,Elasticsearch安全功能怎么选?

作者头像
MCNU云原生
发布2023-02-22 10:20:08
8570
发布2023-02-22 10:20:08
举报
文章被收录于专栏:MCNU云原生

X-Pack是Elasticsearch中非常重要的软件功能集合,为 Elastic Stack 带来了一系列深度集成的企业级功能,其中包括安全、告警、监测、报告、图表分析、专用 APM UI 和 Machine Learning,其中最重要的就是安全方面的功能。

SearchGuard是开源的、面向Elasticsearch和Elastic Stack的安全插件,在Elasticsearch领域应该算得上是应用最广泛的安全插件。

那么两者有什么区别,又该如何选择呢?本文全方面介绍两者发展的历史,功能和区别,探讨应该如何选择以构建完善的安全体系。

一、X-Pack的发展历史

Elasticsearch在5.X版本之前,提供了一些很基础的安全和告警功能,以独立的功能模块存在,这个时期的安全功能是比较弱的,也是被大家所诟病的。

Elastic团队在5.X以后的版本,对基础的安全、告警、监控等功能进行了封装,形成了X-Pack,但是此时的X-Pack并不是与Elasticsearch集成在一起的,需要独立安装。

直到6.3版本及以后,X-Pack终于与Elasticsearch集成,所有免费 X-Pack 功能(Monitoring、Search Profiler、Grok Debugger、Elastic Maps Service 中的缩放级别、专用 APM UI 等)随 Elasticsearch、Kibana、Beats 和 Logstash 的默认分发版提供,无需额外安装,更加方便了。但是致命的问题在于基础的安全功能仍然属于付费功能,这让很多应用的企业非常纠结,这也是其他第三方的开源安全软件能够发挥作用的重要原因。直到7.X版本,Elastic才终于宣布X-Pack的基础安全功能免费提供,而这时候已经经历了好几个大版本了。

目前Elasticsearch 8 X-Pack的功能默认开启,默认启用SSL,自动生成证书,使用非常方便了,满足企业的基本安全需求毫无问题。

特别提一个事情:2018年,Elastic将所有X-Pack特性相关的所有代码进行了开源,一是为了结合开源的力量让X-Pack的功能更完善;二是可以让人家对X-Pack的功能有更多的了解,毕竟X-Pack可不止有安全告警的功能。

二、SearchGuard的发展历史

2013年Hendrik Saly开发了一个Elasticsearch安全插件,由于受到欢迎,后来组件了团队进行专门的开发工作,被命名为Search Guard。

到了2015年Search Guard 1.X正式在Github上发布,且支持Elasticsearch 2.2.0 SSL功能。

2016年Search Guard 5支持了审计日志以及对新的REST API的支持,且免费提供,这对于开发者以及企业应用来说都是一个非常好的消息,Search Guard快速发展,且开始被广泛应用。

2017年~2021年Search Guard稳步推进,支持越来越多的功能,发布了Search Guard 6和Search Guard 7,支持Kibana插件、支持告警、支持SAML 和 OpenID、更加完善和易于使用的TLS工具等,由于基础安全功能均是免费,Search Guard占据了非常大的市场,是很多团队做Elasticsearch安全体系建设的首选。

2022年Search Guard FLX GA发布,支持了Elasticsearch 8 和OpenSearch,这是一次全新的发布,功能模块清晰,文档明确。

三、X-Pack和Search Guard功能对比

这里的功能对比基于目前最新的Search Guard FLX和最新版本的Elasticsearch所集成的X-Pack。

3.1 X-Pack的功能

X-Pack有许多的功能,作为对比,我们这里主要讲关于安全方面的功能。

  • 身份验证 支持通过 Active Directory、LDAP 或 Elasticsearch 原生 Realm 来进行身份验证,支持单点登录,支持自定义Realm来支持自行研发的身份认证管理系统。
  • 权限管理 控制用户在 Elastic Stack 中的权限,管理不同的用户和角色,以支持不同职能的角色查看不同的内容。
  • 防止信息泄露、篡改和监听 支持SSL/TLS,集群中节点间通信、HTTP传输、与Elastic Stack中其他组件的通信都能够安全进行。
  • 分层安全控制 支持集群、索引、文档、字段不同级别的安全控制。
  • 审计支持 支持审计功能,记录完整的用户操作活动,满足审计的要求。
  • 合规要求 满足合规的要求,支持HIPAA、PCI DSS、FISMA、ISO 或 GDPR等多个标准,大多数是美国的标准。
3.2 Search Guard的功能
  • 身份认证 Search Guard 支持所有主要的身份验证和授权行业标准,例如LDAP、Active Directory、JWT、TLS客户端证书、代理认证、Kerberos、OpenID、JWKS、SAML等。
  • 权限管理 实现了基于RBAC基于角色的访问控制,能够支持不同的角色不同的权限。
  • 分层安全控制 支持文档级别和字段级别的安全控制。
  • 审计支持 Search Guard 跟踪和监控集群内的所有数据流,并可以在多个级别生成审计跟踪。
  • 合规要求

通过以上对比可以发现,最新的版本两者支持的功能差不多,Search Guard在身份认证支持的功能上更加全面一些,并且提供的工具使用非常方便;X-Pack则是集成在Elastic Stack中,无需独立安装。

四、X-Pack和Search Guard如何选择?

如果你的Elasticsearch版本是7.X以前的版本,那么建议你仍然最优先选择Search Guard,免费及简便易用,能满足日常基础安全需求,虽然需要单独安装,但是相比之下无上大雅。

如果是Elasticsearch 7.X及以后的版本,特别是Elasticsearch 8的版本则可以优先选择使用集成的X-Pack,当然有两种情况除外:

  1. 有需要Search Guard支持较好而X-Pack支持较弱或者不支持的情况,例如上面提到的身份认证的某种场景下。
  2. 公司存在多个旧的版本,为了兼容以及统一,可以使用Search Guard。
五、Search Guard倒逼了X-Pack

我们要特别感谢Search Guard,如果不是Search Guard开放了这些免费基础的安全功能,我相信我们目前仍然有很大的可能还处于Elastic付费使用的情况之下,虽然Elastic宣称开源开放是他们的方向,但是没有Search Guard的倒逼的话,这事可能没那么快。

AWS曾经公开说Search Guard是他们很好的合作伙伴,被认为是安全有效的。Elastic曾经和Search Guard的运营公司floragunn GmbH打官司,认为Search Guard抄袭了X-Pack的代码,是否是事实不好说喽,但是Search Guard对社区的贡献是很大的,毋庸置疑。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MCNU云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、X-Pack的发展历史
  • 二、SearchGuard的发展历史
  • 三、X-Pack和Search Guard功能对比
    • 3.1 X-Pack的功能
      • 3.2 Search Guard的功能
      • 四、X-Pack和Search Guard如何选择?
      • 五、Search Guard倒逼了X-Pack
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档