Shield 安装与配置
 

https://www.elastic.co/guide/en/shield/shield-1.3/introduction.html

 一、简介

Shield是Elasticsearch的一个插件,它能够很容易的保证你的Elasticsearch集群的安全性。

Shield的功能:

1.用户认证

2.SSL/TLS的加密身份验证

3.审计

二、安装

我使用的shield-1.3的版本

  1. 安装Elasticsearch集群

  2. Shield是需要licese的,我们只有在offline机器上安装使用

a.下载license https://download.elastic.co/elasticsearch/license/license-latest.zip

[root@hftclclw0001 usr]# pwd
/usr [root@hftclclw0001 usr]# wget https://download.elastic.co/elasticsearch/license/license-latest.zip
...
...

b. 下载 shield https://download.elastic.co/elasticsearch/shield/shield-latest.zip

[root@hftclclw0001 usr]# pwd
/usr [root@hftclclw0001 usr]# wget https://download.elastic.co/elasticsearch/shield/shield-latest.zip
...
...

c. 安装license 和 shield

注意/usr/share/elasticsearch/  是elasticsearch的安装目录
     是本地文件的协议前缀  [root@hftclclw0001 usr]# /usr/share/elasticsearch/bin/plugin -i license -u file:///usr/license-latest.zip
...
... [root@hftclclw0001 usr]# /usr/share/elasticsearch/bin/plugin -i license -u file:///usr/shield-latest.zip
...
... 校验:
[root@hftclclw0001 usr]#  ll /usr/share/elasticsearch/plugins/
...
...
license
shield
... [root@hftclclw0001 usr]# curl -XGET '    => 此时是无法访问的,需要身份验证
...  首先创建一个管理员
[root@hftclclw0001 plugins]# /usr/share/elasticsearch/bin/shield/esusers useradd es_admin -r admin
... [root@hftclclw0001 usr]# curl -XGET -u es_admin:{passwd} 'http://{ip}:9200/'

三、消息认证(enable message authentication)

https://www.elastic.co/guide/en/shield/shield-1.3/enable-message-authentication.html

消息验证会验证消息传输过程中是否被篡改等

1.生成key
[root@hftclclw0001 shield]# /usr/share/elasticsearch/bin/shield/syskeygen
... 会生成 ES_HOME/config/shield/system_key 然后再elasticsearch.yml 中配置
shield.system_key.file= 2.复制key到其他各个节点上,各个节点必须相同

四、用户认证配置(setting up user authentication)

为了获取受限资源权限,用户必须提供身份校验信息。如密码等。

1.esusers

是shield内置一种方式

https://www.elastic.co/guide/en/shield/shield-1.3/esusers.html

https://www.elastic.co/guide/en/shield/shield-1.3/_managing_users_in_an_esusers_realm.html

添加用户(Adding User)
[root@hftclclw0001 plugins]# /usr/share/elasticsearch/bin/shield/esusers useradd test_1
会提示让你输入密码, [root@hftclclw0001 plugins]# /usr/share/elasticsearch/bin/shield/esusers  useradd test-1 -p test_1
这样就会创建一个用户test_1 密码是 test_1 [root@hftclclw0001 plugins]# /usr/share/elasticsearch/bin/shield/esusers list
#【userid】: 【roleid】
...
test_1         : -
... 默认角色是 -  也没有啥权限,稍后会说明角色与权限 修改用户密码(Managing User Passwords)
[root@hftclclw0001 plugins]# /usr/share/elasticsearch/bin/shield/esusers passwd test-1 -p test_1

2. 基于角色的访问控制

https://www.elastic.co/guide/en/shield/shield-1.3/configuring-rbac.html

定义角色(Defining Roles)
roles.yml [root@hftclclw0001 shield]# pwd
/etc/elasticsearch/shield
[root@hftclclw0001 shield]# ll
total 36
-rwxr-xr-x 1 elasticsearch elasticsearch 1119 Nov  9 05:21 logging.yml
-rw------- 1 elasticsearch elasticsearch 1119 Nov  9 06:28 logging.yml.new
-rwxr-xr-x 1 elasticsearch elasticsearch  473 Nov  9 05:21 role_mapping.yml
-rw------- 1 elasticsearch elasticsearch  473 Nov  9 06:28 role_mapping.yml.new
-rwxr-xr-x 1 elasticsearch elasticsearch 2634 Nov 12 09:06 roles.yml            => 角色与权限的映射
-rw------- 1 elasticsearch elasticsearch 2699 Nov  9 06:28 roles.yml.new
-rw------- 1 elasticsearch elasticsearch  128 Nov 12 08:24 system_key.new
-rwxr-xr-x 1 elasticsearch elasticsearch  410 Nov 12 09:02 users                => 用户信息
-rw------- 1 elasticsearch elasticsearch    0 Nov  9 06:28 users.new
-rwxr-xr-x 1 elasticsearch elasticsearch   85 Nov 12 09:02 users_roles          => 用户与角色的映射
-rw------- 1 elasticsearch elasticsearch    0 Nov  9 06:28 users_roles.new
[root@hftclclw0001 shield]#  默认的角色有:
admin
power_user
user
...
eg1: 我们创建一个用户test_logstash 它只能访问 logstash-* 的indices

1.创建角色
[root@hftclclw0001 shield]# vi /etc/elasticsearch/shield/roles.yml
...
...
logstash_user:
  cluster: all
  indices:
    'logstash-*': indices:data/read/search, indices:data/read/get, indices:admin/get   => 读权限
...
... 2.创建用户并执行角色
[root@hftclclw0001 shield]# /usr/share/elasticsearch/bin/shield/esusers useradd test_logstash -p test_logstash -r logstash_user
...
... 3. WEB UI 或 Terminate上校验,是否能访问logstash-*索引,是否能访问写,是否能访问其他的

3. LDAP 验证

Shield 安装与配置的更多相关文章

  1. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  2. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  3. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  4. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  5. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  6. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  7. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  8. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

  9. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

随机推荐

  1. 随笔记录 Linux基本操作命令 2019.7.27

    临时关闭防火墙systemctl stop firewalld永久关闭防火墙systemctl disable firewalld 临时关闭selinux安全机制setenforce 0永久关闭sel ...

  2. SpringBoot生产/开发/测试多环境的选择

    多环境选择 一般一套程序会被运行在多部不同的环境中,比如开发.测试.生产环境,每个环境的数据库地址,服务器端口这些都不经相同,若因为环境的变动而去改变配置的的参数,明显是不合理且易造成错误的 对于不同 ...

  3. for in循环介绍以及陷阱

    大家都知道在JavaScript中提供了两种方式迭代对象: (1)for 循环: (2)for..in循环: 使用for循环进行迭代数组对象,想必大家都已经司空见惯了.但是,使用for.. in循环时 ...

  4. duilib库分析1.消息流程分析

    看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManagerUI ...

  5. ZJOI 2006 物流运输 bzoj1003

    题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...

  6. Linux课程---13、linux中任务计划介绍(任务计划分类)

    Linux课程---13.linux中任务计划介绍(任务计划分类) 一.总结 一句话总结: 1.一次性任务计划:at 2.周期性任务计划:crontab 1.linux中如何添加一次性任务计划? at ...

  7. 函数开始处的MOV EDI, EDI的作用

    调试程序调试到系统库函数的代码时,总会发现系统函数都是从一条MOV EDI, EDI指令开始的,紧接着这条指令下面才是标准的建立函数局部栈的代码.对系统DLL比如ntdll.dll进行反汇编,可以发现 ...

  8. System.Web.Mvc.IController.cs

    ylbtech-System.Web.Mvc.IController.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, Public ...

  9. CCPC 2019 网络赛 1006 Shuffle Card

    // 签到题,比赛时候写双向链表debug了半天,发现有更好方法,记录一下.   Shuffle Card HDU 6707 题意:   有一 \(n\) 张卡片,编号 \(1~n\) ,给定初始编号 ...

  10. vue中的data用return返回

    为什么在大型项目中data需要使用return返回数据呢? 答:不使用return包裹的数据会在项目的全局可见,会造成变量污染:使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件. ...