热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Shield安装与配置

Shield安装与配置Shield安装与配置https:www.elastic.coguideenshieldshield-1.3introduction.html一、简介Shie
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 安装与配置


推荐阅读
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • Bootstrap 插件使用指南
    本文详细介绍了如何在 Web 前端开发中使用 Bootstrap 插件,包括自动触发插件的方法、插件的引用方式以及具体的实例。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • http:blog.csdn.netzeo112140articledetails7675195使用TCPdump工具,抓TCP数据包。将数据包上传到PC,通过Wireshark查 ... [详细]
author-avatar
wqp2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有