目录:

  • ES安全事件回顾
  • ES集群安全建议
  • 安全访问配置
  • license更新

ES安全事件回顾


  • 下面是白帽汇监测到针对全球使用广泛的全文索引引擎Elasticsearch的勒索事件:
  • 2017年1月12日上午10时,白帽汇发现第一波勒索者,分析统计,发现共有10264台服务器已经遭受攻击,并且还一直持续增长, 攻击者会删除Elasticsearch所有索引信息,并创建一个名为warning的索引,勒索者写入需要支付0.2比特币才给受害者发送数据(目前按照比特币市场价格,约等于150美元),并留下邮箱地址p1l4t0s@sigaint.org. 该邮箱域与Mongodb勒索的作者使用的是同一个域,但id不同。据了解,此前Mongodb勒索攻击者其实并未备份数据,而是直接删除,而目前确认Elasticsearch也是一样,并未对数据进行备份,而是直接删除。不幸的是,我们ES测试集群的数据也被干掉了:(
  • 2017年1月14日中午12时,白帽汇发现第二波勒索者,创建一个名为please_read名字的索引。攻击者留下类似的文字,该勒索信息显示需要支付0.5比特币(按照当天比特币市场价格,约等于400美元)。邮箱elasticsearch@mail2tor.com
  • 2017年1月16日中午12时,白帽汇发现第三波勒索者,其创建的索引为pleasereadthis.使用的邮箱地址为4rc0s@sigaint.org
  • 影响范围:截止2017年1月17日,白帽汇通过FOFA系统中的68000余个Elasticsearch进行统计分析,发现目前全球共有9750台存在勒索信息。其中此次被删除的数据达到至少500亿条,被删除数据大小至少450TB。通过两次勒索情况的对比分析,发现有大概1%的Elasticsearch使用了验证插件,另外有2%则关闭Elasticsearch,现在已经无法访问。
  • 白帽汇FOFA系统中显示,互联网上公开可访问的Elasticsearch超过68000余台。其中,共有受害总数9750台, 目前全球中受影响最多的为美国4380台,其次是中国第二944台。法国787台,爱尔兰462台,新加坡418台。
  • es集群会收到的攻击通常包含:1、通过es暴露的公网端口进行攻击  2、通过主机服务器进行攻击  3、与ES配合的其它产品,如Logstash,Kibana
  • 综上所述:2017.1.12号开始全球ES变攻击,巧合的是1.14号ES发布5.2.1, 日.......

ES集群安全建议


  • network监听地址(network.host)改为内网IP
  • 修改默认访问端口 , 【http.port: 9200 (设置对外服务的http端口,默认为9200),transport.tcp.port: 9300 (设置节点间交互的tcp端口,默认是9300)】
  • es集群放到专有网络,限制外网访问
  • 禁用http (http.enabled : false), 【http.enabled:是否使用http协议对外提供服务,默认为true,开启】,kibana通过rest访问es进行数据展示,禁用此配置相当于停止rest访问,因此根据实际情况进行处理
  • 增加访问验证,5.0以前版本官方推荐并且经过认证的是shield插件,该项目为收费项目,可以试用30天。网络中也有免费的插件,可以使用elasticsearch-http-basic,searchguard插件。5.0+版本对原本的watch,alert做了一个封装,形成了x-pack

安全访问配置


  • x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是可轻松的启用或者关闭一些功能
  • 修改elasticsearch.yml 配置文件,设置: xpack.security.enabled: true
  • 修改kibana.yml配置文件,设置: xpack.security.enabled: true
  • 同时设置kibana访问ES集群的用户名和密码(x-pack安装之后有一个超级用户elastic ,其默认的密码是changeme,拥有对所有索引和数据的控制权,可以使用该用户创建和修改其他用户),如下:
  • 重启ES、kibana服务,访问ES时会让你输入密码,如下图:
  • 同样,在登陆kibana时,也会提示用户和密码信息,如下图:
  • 可以通过kibana的web界面进行用户和用户组的管理,如下创建新用户等

license更新


  • 安装完成后,默认情况下,x-pack插件license有效期为一个月,通过如下命令: curl -XGET -u elastic:changeme 'http://10.0.0.5:12000/_xpack/license'
  • 注册用户获取基础license,有效期1年, 注册地址:https://register.elastic.co/xpack_register
  • 申请得到的json文件后,更新license命令:curl -XPUT -u elastic:password 'http://<host>:<port>/_xpack/license' -d @license.json
  • @license.json 申请得到的json文件,复制文件中的所有内容,粘贴在此
  • 如果提示需要acknowledge,则设置为true,如下:curl -XPUT -u elastic:password 'http://<host>:<port>/_xpack/license?acknowledge=true' -d @license.json
  • 参考文档:https://www.elastic.co/guide/en/x-pack/current/installing-license.html
  • 其它license 参见:https://www.elastic.co/subscriptions#request-info

ES(4): ES Cluster Security Settings的更多相关文章

  1. WCF : 修复 Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service 问题

    摘要 : 最近遇到了一个奇怪的 WCF 安全配置问题, WCF Service 上面配置了Windows Authentication. IIS上也启用了 Windows Authentication ...

  2. MySQL安装最后一步apply security settings错误

    网上查了很久都是说删除各种文件什么的,直接百度apply security settings,说是mysql没卸载干净.不是的. 看日志发现 You must SET PASSWORD before ...

  3. MySQL安装问题:Unable to update security settings解决方案

    主要问题还是之前装过,卸载的时候卸载不干净导致的. 如下: 安装到最后出现: Unable to update security settings. Access denied for user 'r ...

  4. the security settings could not be applied to the database(mysql安装error)【简记】

    在安装mysql时,出现“The security settings could not be applied to the database because the connection has f ...

  5. Data Structures & js &ES 6 & ES next

    Data Structures & js &ES 6 & ES next Algorithm Singly-Linked List & Doubly-Linked Li ...

  6. How to resolve "your security settings have blocked an untrusted application from running" in Mac

    If you encounter the error "your security settings have blocked an untrusted application from r ...

  7. Mysql安装过程中出现apply security settings错误的解决方法

    在学习Mysql的过程中,首先要安装Mysql.然而在第一遍安装过程中难免会出现安装错误的时候,当卸载后第二次安装(或者第三次甚至更多次)的时候,往往在安装最后一步会出现apply security ...

  8. MySQL安装时出现Apply Security Settings错误的解决办法

    windows版mysql安装执行程序下载地址: https://dev.mysql.com/downloads/file/?id=473605 点击下面的No thanks, just start ...

  9. mysql有关问题之:the security settings could not be applied to

    mysql问题之:the security settings could not be applied to 转自:http://www.myexception.cn/mysql/503556.htm ...

随机推荐

  1. 共享内存创建shmget控制操作shmat,shmctl

    1.共享内存的数据结构 共享内存就是分配一块能被其他进程访问的内存.每个共享内存段在内核中维护着一个内部结构: struct shmid_ds { struct ipc_perm shm_perm; ...

  2. Spring Boot的SpringApplication类详解

    相信使用过Spring Boot的开发人员,都对Spring Boot的核心模块中提供的SpringApplication类不陌生.SpringApplication类的run()方法往往在Sprin ...

  3. java反编译工具eclipse插件jad的使用

    https://www.cnblogs.com/zhikou/p/8098137.html 这边文章主要介绍如何使用Eclipse的插件jad进行反编译,在查看一些jar包里面的class文件时,就可 ...

  4. PHP:第一章——php中的变量001 /普通赋值/引用赋值/php变量的检查与销毁

    <?php //php中的变量: //php中的变量用一个美元符$后面紧跟着变量名来表示,变量名是区分大小写的. //有效的变量只能是字母或者下划线开头,后面跟任意数量的字母.数字.或者下划线. ...

  5. Adaboost算法流程及示例

    1. Boosting提升方法(源自统计学习方法) 提升方法是一种常用的统计学习方法,应用十分广泛且有效.在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的 ...

  6. SWIFT中获取配置文件路径的方法

    在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...

  7. HDU 1591 Encoded Love-letter(简单字符串)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  8. C语言基础:二维数组 分类: iOS学习 c语言基础 2015-06-10 21:42 16人阅读 评论(0) 收藏

    二维数组和一位数组类似. 定义: 数据类型 数组名[行][列]={{ },{ }....}; 定义时,一维(行)的长度可以省略,但是二维(列)的长度不可以省略.但是访问时,一定使用双下标. 二维数组的 ...

  9. 步步入佳境---UI入门(2)

    一,刚开始练习UI的时候,一般是在- (void)viewDidLoad方法中写代码测试,例如:- (void)viewDidLoad{    CGRect rect=CGRectMake(0, 0, ...

  10. PHP中redis的使用

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类 ...