ElasticSearch 遭遇勒索攻击

春节前,有超过34000多台存在安全风险的MongoDB数据库遭到了勒索攻击,数据库数据被攻击者擦除并索要赎金,在收到赎金后攻击者才会返还服务器中的数据;紧接着,2017年1月18日,在短短几个小时内又有数百台ElasticSearch服务器受到了勒索攻击,服务器中的数据被擦除,并被索要赎金。

虽然在整个勒索攻击过程中并没有使用任何勒索软件,也没有涉及常规漏洞,但是ElasticSearch却仍然面临着严重的数据损失和数据泄露的风险。此次针对ElasticSearch服务器的攻击同上周攻击MongoDB数据库的攻击手法极其相似,安全研究人员Niall Merrigan(此前一直跟踪关注上周针对MongoDB数据库的攻击)表示,截止到目前,受攻击的ElasticSearch服务器已经超过了2711台。这些服务器大多数位于美国本土,少数位于欧洲、中国和新加坡等地。

在受到攻击的服务器上,可以看到类似下面的文本,要求支付比特币以便恢复数据:

(该图片来自code972.com

ElasticSearch简介

ElasticSearch是一个基于Apache Lucene的分布式搜索引擎,支持多用户和全文搜索,它由Java语言开发并且在Apache许可条款下开放源代码,是除Apache Solr之外最流行的企业级搜索引擎,通常被用于信息编目和数据分析,在云计算中使用较多。ElasticSearch能够做到实时搜索,其性能稳定、快速,配置简便。

ElasticSearch部署情况

Shodan搜索引擎的创始人John Matherly表示,目前互联网中大约有三万五千多台ElasticSearch服务器存在安全风险,其中大多数由亚马逊网络服务公司托管。

ZDNet数据显示中国境内有59台服务器受到影响,但据NTI绿盟威胁情报中心称,国内暴露在互联网上的ElasticSearch设备数字已经达到1956个。

ZDNet2017113日给出的ElasticSearch分布图如下图所示:

(该图片来自zdnet.com

但根据NTI绿盟威胁情报中心给出的数据显示,国内暴露在互联网的ElasticSearch设备总数达到1956个,如下图所示:

NTI绿盟威胁情报中心资料图(1)

其中各省、直辖市分布情况如下图所示:

NTI绿盟威胁情报中心资料图(2)

绿盟科技威胁情报中心探测到暴露在Internet公网上的ElasticSearch数目达到39590个,监测结果如下图所示:

NTI绿盟威胁情报中心资料图(3)

ElasticSearch 安全风险

ElasticSearch如果设置不当,则存在较为严重的安全风险!有两种访问ElasticSearch的方式:使用默认端口为9300的TCP模式和使用默认端口为9200的HTTP模式。然而在同ElasticSearch服务器进行通信的过程中,通信流量是明文形式的,没有加密;更为严重的是,如果不做任何防护措施地将ElasticSearch暴露在公网上,那么对它的访问将没有任何安全认证,任何连接到服务器端口上的人,都可以调用相关API对服务器上的数据进行任意的增删改查。

防护措施

ElasticSearch顾问Itamar Syn-Hershko的文章《Don’t be ransacked: Securing your Elasticsearch cluster properly》和ElasticSearch工程师Mike Paquette的文章《Protecting Against Attacks that Hold Your Data for Ransom》分别讲述了如何配置和部署ElasticSearch服务器以防止勒索攻击,其中提到:

  1. 将ElasticSearch重新部署在隔离的网络上:强烈建议不要将ElasticSearch暴露在Internet公网上,可以通过network.bind_host或者network.host对其监听的IP地址进行设定,使其只监听私有IP(或者本地IP),不要监听任何公网IP或DNS。
  2. 如果确实有必要通过Internet对ElasticSearch进行访问的话,应该对访问进行限制,包括:
  • 使用防火墙。
  • 使用VPN。
  • 使用代理,让代理负责客户端和服务器的通信,可以借此进行身份认证和访问授权。
  • 不要使用默认端口。
  • 在不需要的地方禁用HTTP:ElaticSearch最好的部署方式是设成一组服务器,分别担任不同的角色:控制节点,数据节点和客户端节点,只有客户端节点需要启用HTTP访问。
  • 禁用脚本:如非必须,可以禁用脚本功能。另外ElasticSearch 2.x以前的版本使用的脚本语言不具有沙箱功能,建议ElasticSearch 1.x和0.x的用户尽快升级;使用ElasticSearch 2.x的用户,其默认脚本语言也是不具有沙箱功能的groovy,应将其从配置中删除。
  • 使用官方付费插件:ElasticSearch 5.0版本可以使用插件X-Path进行防护;5.0以下的版本可以使用插件Shield。
  1. 对所有数据进行备份,可以使用Curator snapshots。

参考链接

上述两篇文章的链接地址如下:

《Don’t be ransacked: Securing your Elasticsearch cluster properly》 http://code972.com/blog/2017/01/107-dont-be-ransacked-securing-your-elasticsearch-cluster-properly
《Protecting Against Attacks that Hold Your Data for Ransom》 https://www.elastic.co/blog/protecting-against-attacks-that-hold-your-data-for-ransom

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

发表评论