目录:

  • 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. laravel中通过查询构造器,实现数据的curd

    //查询构造器: public function query1(){ //利用查询构造器,插入数据: /*$num=DB::table('student')->insert( ['name'=& ...

  3. c++理解析构函数

    析构函数有2种方式调用,一个是主动调用delete,另一个是根据RAII的规则,在对象的生命周期结束时自动析构.第一点没什么好说的,就简单讲下第二点. 对象的生命周期不等于是程序的生命周期,一般我们所 ...

  4. Graph

    题目: [问题描述] 给你一个有向图,有 N 个点,标号为 0 到 N -1,图中的每条边有个权值,每次你经过一条边,它的权值将被记入你的得分,如果同样的边被经过多次,它的权值每次都将被记入总分,权值 ...

  5. python--ConfigParser读写改配置文件

    from configparser import ConfigParser fp = 'conf.ini' #定义配置文件名 conf = ConfigParser() #实例化 conf.read( ...

  6. 软工作业No.5 甜美女孩第三周yep

    需求&原型改进: 1. 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改 (5分) 没有问题及建议 2. 修改完善上周提交的需求规格说明书(10分) 上周的<需求规格说 ...

  7. Java通过class文件得到所在jar包

    今天遇到一个问题,需要通过知道的class文件得到该文件所在的jar包,试过很多办法都不行,最后在网上找到了一个解决办法,如下: demo.java 1 2 String path = XXX.cla ...

  8. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(五)

    MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 六.部署到JBoss服务器 1. 右键单击Servers视图,然后选择New>Server,选择您安 ...

  9. windows 自动copy远程服务器文件

    net use h: \\123.45.67.000\T1dbbackup 123456/user:administrator ------远程服务器IP123.45.67.000  .T1dbbac ...

  10. ionic 编写自定义控件

    创建组件 在项目所在目录下执行: ionic g component <ComponentName> 在src/components中会出现: --components |--Compon ...