【速看】学习如何保护Hadoop集群免受恶意软件攻击!

有两个新的恶意软件,XBash和DemonBot,是针对Apache Hadoop服务器比特币挖矿和DDOS目的。这种恶意软件疯狂扫描互联网寻找Hadoop集群,当有未设安全的集群连接到公共互联网上,几分钟内便可被感染。本文将描述此恶意软件使用的机制,并提供保护的Hadoop群集的相应操作。


Hadoop的恶意软件的历史

大约两年前,对开源数据库解决方案的MongoDB以及Hadoop的发生了大量攻击这些攻击来自勒索软件:。攻击者擦除或加密数据,然后要求赎金来恢复数据就像最近的攻击一样,当时受影响的唯一的Hadoop集群是那些直接连接到互联网并且没有启用安全功能的集群。

Cloudera公司曾在2017年年1月发布了一篇关于此威胁的博客。该博客阐述了如何确保的Hadoop集群不直接连接到互联网,并建议启用了Cloudera的安全和治理功能。

XBash和DemonBot的起源故事说明了安全研究人员如何看待Hadoop生态系统和漏洞的生命周期。在2016年卢森堡的Hack.lu会议上,两位安全研究人员发表了题为“Hadoop Safari:寻找漏洞”的演讲。他们描述了Hadoop及其安全模型,然后针对没有启用安全功能的集群提出了一些“攻击”。这些攻击类似于在大门敞开时闯入房屋。


使用克贝尔进行强身份验证

这些攻击受到基本安全功能的阻碍,该功能多年来一直是Hadoop的的一部分:使用Kerberos身份进行强身份验证如果没有Kerberos的,任何与集群交互的用户都可以伪装成任何其他用户,不需要特定验证,任何用户都可以像任何用户那样执行任何操作。就好比在Linux的系统中每个人都知道根密码。

但是,在正确配置的群集中,Kerberos的用于身份验证。这意味着要与群集进行交互,用户必须首先输入认证(如用户名和密码)以证明他们是他们所说的人。此身份验证提供了用户和管理员期望的安全性:用户在系统中具有某些功能,他们无法模拟其他人,只有管理员可以访问管理帐户。

但是,如果没有Kerberos的,任何人都可以接触的Hadoop集群做各种不好的事情。安全研究人员在Hack.lu建议的一个示例攻击是提交一个简单的纱作业在集群中的所有机器上执行代码。这可以用来在该集群中的每台机器上获取的外壳。


最近的攻击

是在今年5月。互联网上有人写了一个Metasploit模块来执行Hadoop Safari演讲稿中所描述的攻击.Metasploit是最常用的利用安全漏洞的框架.Metasploit背后的想法是,安全研究人员识别了漏洞,编写了Metasploit的模块,然后世界上的任何人都可以运行它来测试该漏洞。这个特定模块只需要一些有效负载并作为纱作业运行,就像会议中示范的那样。

然后在9月,XBash出现了.XBash做了许多邪恶的事情,其中​​之一就是使用Metasploit的模块的攻击向YARN提交比特币挖矿工作。另一个新的恶意软件DemonBot使用相同的技术从受感染的Hadoop的服务器运行DDOS攻击。

我们在此强调,这种攻击技术并不复杂 - 它只是穿过一扇敞开的门。针对的Hadoop服务器是直接连接到公共互联网,并且未启用Kerberos身份验证。两年前,当对开放式Hadoop服务器的第一次攻击变得众所周知时,我们的回复博客帖子提供了一些现在仍然相关的简单建议:确保您的Cloudera的安装只能从应该能访问的位置访问,并进行测试确认。


观察一个真实的攻击

为了观察攻击的真实性,我们用Cloudera Altus创建了一个Hadoop集群.Altus是一个云服务平台,该服务使用CDH在公共云基础架构内大规模模式分析和处理数据。虽然使用Altus创建不受这些攻击影响的安全集群很简单,但也可能将阿尔特斯集群设置成易受攻击。

在Altus中,要使集群易受攻击,就不要勾选Secure Clusters的框架,也不要用AWS安全组,允许来自互联网上任何位置的传入流量。在创建这个对世界敞开的不安全的集群的几分钟内,我们就观察到了攻击行动.YARN Web UI显示了许多正在提交和运行的作业:

大约每分钟一次,DemonBot试图利用集群。对我们来说幸运的是,由于DemonBot本身的错误配置(换句话说,我们很幸运),这些攻击失败了。

教训:如果你放一个不安全的群集,它一定会受到攻击。


Cloudera Altus的安全保障

现在我们已经看到了一个不安全的集群会发生什么,那让我们来设置一个更安全些的集群。我们的目标是

  1. 仅允许从一组有限的计算机对群集进行SSH访问;
  2. 使用Kerberos的启用强身份验证。

好在这在阿尔特斯中很容易配置。在阿尔特斯中,集群是在环境内创建的。一个环境会描述如何访问用户的云帐号及其包含的资源。它还指定了如何创建集群的一些基本内容。因此,我们感兴趣的配置选项出现在阿尔特斯环境中创建环境有两种方法:通过简单的快速入门过程或通过设置向导有更大的灵活性。

快速入门过程当然是最简单的。创建环境时,选择“环境快速启动”路径,然后选择“安全集群”中的“启用”复选框:

完成!启用安全群集后,就启用了Kerberos。快速启动路径还将创建了一个外部世界无法访问的安全组,防范DemonBot和XBash等漏洞。我们在此环境中创建了这样一个集群,当然就没有在集群上发生攻击。

如果需要使用环境创建向导,也可以选择像“快速启动”中的“安全群集”复选框。不同之处在于,在向导中,您必须自己提供安全组。创建此安全组时,请确保它仅允许从Altus IP地址进行SSH访问。


总结

互联网是Hadoop集群的危险场所。因此,我们建议如下:

  • 不要将群集直接暴露给互联网
  • 始终启用的Kerberos身份验证
  • 使用Altus时,选择“Secure Clusters”复选框

通过这些简单的步骤,您的Hadoop的集群将受到保护,免受此处描述的攻击类型的影响。

本文转载自:Cloudera的中国

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值