ES有很多的安全组件可用,例如: X-pack,Sarch Guard。但目前开源免费的,仅Search Guard。

1 前置条件

  • Elastic Search 6 服务安装成功,且成功运行。
  • ES的开源安全组件Search Guard-6安装成功,且成功运行。
本操作目前仅在search guard-6插件中实测成功。
更高或更低版本的search guard插件,可能在本小节的”Step3”步骤(使新密码在ES集群中生效)中个别参数有差异,可参照下述文件进行修改。

[ElasticSearch]#Search Guard#sgadmin参数说明

  • ES的开源安全组件Search Guard-6启用【官网演示的认证模式】,且启用成功。

2 操作步骤

下述操作建议在ES集群的master节点中执行即可。

为方便理解下述操作,假定master节点IP为172.15.3.17。

  • Step1 获取新密码的Search Guard的加密字符串
[root@es1 ~]#sh /usr/share/elasticsearch/plugins/search-guard-6/tools/hash.sh -p newPasswd
WARNING: JAVA_HOME not set, will use /usr/bin/java
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(hash加密串)

  • Step2 配置master节点(node17)所有用户的新密码

    (配置时,需使用到Step1中的hash加密串)
[root@es1~]#vi /usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_internal_users.yml

  • Step3 使新密码在ES集群的当前节点和其它所有节点中生效
[root@es1 ~]#cd /usr/share/elasticsearch/plugins/search-guard-6/tools/
[root@es1 ~]#./sgadmin.sh \
-h 172.15.3.17 \
-cd ../sgconfig/ \
-icl -nhnv -cacert /etc/elasticsearch/root-ca.pem \
-cert /etc/elasticsearch/kirk.pem \
-key /etc/elasticsearch/kirk-key.pem \
--accept-red-cluster

  • Step4 验证

    关闭并重新打开浏览器;输入集群内任一节点的url;输入用户的新密码。

    若能登录,则修改成功。
[浏览器] https://172.15.3.17:9200/_cluster/health?pretty


  • Step5 更新ES客户端/程序端的配置

3 相关补充

ElasticSearch 插件管理

  • 查看已安装的插件
root# cd /usr/share/elasticsearch/
root# bin/elasticsearch-plugin list
search-guard-6

或 (查看集群内各节点的插件安装情况)

[浏览器] https://172.15.3.xx:9200/_cat/plugins?v
  • ElasticSearch 安装新插件
root# cd /usr/share/elasticsearch/
root# bin/elasticsearch-plugin install {插件名称 | 指定插件版本具体位置}
Eg: bin/elasticsearch-plugin install x-pack
Eg: bin/elasticsearch-plugin install file:///D:\work\ElasticSearch\x-pack-5.5.2.zip
root# bin/elasticsearch-plugin install
  • ElasticSearch 卸载插件
root# cd /usr/share/elasticsearch/
root# bin/elasticsearch-plugin remove [pluginname]

Search guard 健康状态检查

要检查Search Guard是否已安装并已启动并正在运行,请访问运行状况检查端点,例如:

https://<hostname>:9200/_searchguard/health
{
message: null,
mode: "strict",
status: "UP"
}

补充: X-pack用户与安全管理方式

  • 使用X-pack安全特性前,需更改配置开启xpack
xpack.security.enabled: true
  • 查看所有用户
root# cd /usr/share/elasticsearch/
root# ./bin/elasticsearch-users list
No users found
  • 添加用户
root# cd /usr/share/elasticsearch/
root# ./bin/elasticsearch-users useradd newUser -p newUserPasswd -r superuser
[POST方式]
root# curl -XPOST --insecure -u admin:admin 'https://172.15.3.xx:9200/_xpack/license/start_trial?acknowledge=true&pretty
{
"acknowledged" : true,
"trial_was_started" : false,
"error_message" : "Operation failed: Trial was already activated."
} [GET方式]
https://172.15.3.xx:9200/_xpack/license/
{
"license" : {
"status" : "active", //Current Status
"uid" : "45e8402a-461b-4d00-b737-c778b718dede",
"type" : "basic",
"issue_date" : "2019-11-14T15:54:48.364Z", // issue_date
"issue_date_in_millis" : 1573746888364,
"expiry_date" : "2020-09-27T03:33:11.423Z",// expiry_date
"expiry_date_in_millis" : 1601177591423,
"max_nodes" : 1000,
"issued_to" : "xxx_elastic", //Cluster Name: xxx_elastic
"issuer" : "elasticsearch", //OS User: elasticsearch
"start_date_in_millis" : -1
}
}

X 文献

[ElasticSearch]修改开源安全组件Search Guard-6 用户密码的更多相关文章

  1. elasticsearch 6.x 安装search guard

    前言 es之前版本一直无用户验证功能,不过官方有提供一x-pack,但是问题是付费.在es的6.3.2版本中,已经集成了x-pack,虽然es团队已经对x-pack开源,但是在该版本中如果需要使用到安 ...

  2. Elasticsearch 5.0 安装 Search Guard 5 插件 (五)

    一.Search Guard 简介 Search Guard  是 Elasticsearch 的安全插件.它为后端系统(如LDAP或Kerberos)提供身份验证和授权,并向Elasticsearc ...

  3. Elasticsearch 5.0 安装 Search Guard 5 插件

    一.Search Guard 简介 Search Guard  是 Elasticsearch 的安全插件.它为后端系统(如LDAP或Kerberos)提供身份验证和授权,并向Elasticsearc ...

  4. elasticsearch安装与使用(5)-- search guard安装与配置

    一.安装search guard插件必须要安装两部分: ①search-guard-xx ②search-guard-ssl (XX指的是与elasticsearch引擎对应的版本) github地址 ...

  5. (转) Elasticsearch 5.0 安装 Search Guard 5 插件

    一.Search Guard 简介 Search Guard  是 Elasticsearch 的安全插件.它为后端系统(如LDAP或Kerberos)提供身份验证和授权,并向Elasticsearc ...

  6. Net Core开源通讯组件 SmartRoute

    Net Core开源通讯组件 SmartRoute(服务即集群) SmartRoute是基于Dotnet Core设计的可运行在linux和windows下的服务通讯组件,其设计理念是去中心化和零配置 ...

  7. 开源通讯组件ec

    跨平台开源通讯组件elastic communication elastic communication是基于c#开发支持.net和mono的通讯组件(简称EC),EC的主要目的简化mono和.net ...

  8. ELK之安装了search guard认证后安装elasticsearch-head

    安装searc guard参考https://www.cnblogs.com/minseo/p/10576126.html 安装elasticsearch-head参考 https://www.cnb ...

  9. ELK之elasticsearch6安装认证模块search guard

    参考:https://www.cnblogs.com/marility/p/9392645.html 1,安装环境及软件版本 程序 版本 安装方式  elasticsearch  6.3.1  rpm ...

  10. 开源数据采集组件比较: scribe、chukwa、kafka、flume

    针对每天TB级的数据采集,一般而言,这些系统需要具有以下特征: 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦: 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统: 具有高可扩展性 ...

随机推荐

  1. ceph 因权重问题导致pgs active+clean+remapped 状态

    1.现象: 2.原因:是因为前期权重调整不合理导致,调整回来就正常了 3.操作步骤: ceph osd crush reweight osd.2 0.98317    # osd 位置. 权重值 权重 ...

  2. LOJ数列分块入门九题(中)

    #6281. 数列分块入门 5 - 题目 - LibreOJ (loj.ac) 区间开方,区间求和题. 显然,针对区间维护开方操作很难做到,于是考虑其值的性质,显然,int范围内的值最多开方6次就会变 ...

  3. vue导出文件

    /**导出 */ async toExcel() { // let result = await this.axios({ // method: 'get', // url: `issdc-manag ...

  4. java mysql删除表中多余的重复记录(多个字段),只留有id最小的记录

    mysql 删除表中多余的重复记录(多个字段),只留有id最小的记录 DELETE FROM 表1 f WHERE (f.字段1,f.字段2) IN ( SELECT 字段1,字段2 FROM 表1 ...

  5. 3Des加密解密,java c#通用。

    1.需要实现对其他系统的单点登陆,我们实现的方法很简单,就是将当前系统的账号通过加密去获取 需要直接登陆上的系统的token,然后访问需直接登陆的系统就带着token,就相当于登陆了. 2.然后呢,我 ...

  6. 【cs231n】knn作业笔记

    完成了assignment-1中knn相关内容的作业,记录一下遇到的知识点和问题 knn.ipynb的内容大致包括: 1.数据集的建立 主要是通过切片函数,如下图选取前5000张图片和其标记作为训练数 ...

  7. linux-minicom

    q:只能发送不能接收 a:串口设置,硬件流控制=>NO

  8. 如何确保获取的输入为整数-C语言基础

    这一篇探讨的是如何确保你输入的数据是一个整数.虽然标题用的是这个,但我其实真正想要探讨的内容是 "在程序调试的过程中,需要注意把输入缓存区中的上一次输入的残留信息清理干净,以免影响下一次的输 ...

  9. (四).JavaScript的循环结构

    2.2 循环嵌套 ①.语法 // 嵌套循环:循环内部包裹其他的循环 // 外侧循环执行一次,内部循环执行一轮 // 实例 for (var i = 0; i < 5; i++) { for (v ...

  10. git 更改子项目索引

    git update-index --cacheinfo 160000 97ed2f63b07c73bad9a4d55e96e25292 source/lvdao/crf-sdk git reset ...