前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch集群的身份验证、用户鉴权操作

Elasticsearch集群的身份验证、用户鉴权操作

作者头像
院长技术
发布2020-08-19 11:19:16
1.6K0
发布2020-08-19 11:19:16
举报
文章被收录于专栏:院长运维开发

前言| ES作为一款当下非常流行的轻量级存储搜索引擎,其安全性也变得日益重要。否则就会非常容易造成敏感数据泄露的严重问题。主要是因为使用者并没有将ES的安全功能打开。那么出现这种问题产生的原因是什么呢?原因大致如下:

1,ES在默认安装后,不提供任何形式的安全防护;

2,错误的配置信息导致公网可以访问ES集群;

---- 在elasticsearch.yml 的配置文件中,server.host被错误的配置为0.0.0.0

一、数据安全性的基本需求 1,身份验证:鉴定用户是否合法;

2,用户鉴权:指定哪个用户可以访问哪个索引

3,传输加密

4,日志审计

二、那么怎么满足这类安全需求呢? 方案大致可以如下几种:

1,设置Nginx反向代理,让用户在访问ES集群的时候需要提供用户验证信息,这个方法目前使用比较普遍。特别是针对ES低版本基础版、开源版;

2,安装免费的security插件,比如Search Guard、ReadOnly REST

3,ES的商业包 x-pack的Basic版 ,从ES6.8基础版开始免费使用一些基础的安全功能,比如身份验证、用户鉴权

三、Authentication - 身份认证 认证体系的几种类型:

提供用户名、密码

提供秘钥、kerberos票据

在ES中提供的这种认证服务我们称之为 Realms,它分为两种,一种收费、一种免费

内置的Realms(免费)

在这种情况下,用户名和密码都保存在Elasticsearch 的索引中

外部的Realms(收费)

如果ES的安全机制需要与企业内的其它服务器应用安全集成的话,比如AD/LDAP/PKI/kerberos.需要购买专用的ES 安全服务

四、RBAC - 用户鉴权 什么是RBAC? Role Based Access Control. 定义一个角色,并分配一组权限。权限包括索引级、字段级、集群级的不同操作。然后通过将角色分配给用户,使得用户拥有这些权限。

在ES中定义的这些权限有哪些呢?

1,集群权限 Cluster Privileges

all/monitor/manager/manager_index/manage_index_template/manage_rollup

2,索引权限 indices Privileges

all/create/create_index/delete/delete_index/index/manage/read/write/view_index_metadata

五、开启并配置X-Pack的认证与鉴权 其实,在前面的章节中,我也讲到了这块的部署应用,那么今天再来实操验证此安全功能。我将以一台CVM多进程的方式论证一下这个逻辑。步骤如下:(以 ES 6.8.2 为列)

1,修改配置文件 ,打开认证、授权功能

只需要开启此命令即可 xpack.security.enabled:"true"

2, 创建默认的用户和分组 ES默认提供了多个用户以及组权限,需要设置密码

/bin/elasticsearch-password interactive

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档