保护Hadoop集群三大方法

大约在两年前,开源数据库解决方案MongoDB以及Hadoop曾遭受过大量恶意攻击,这些攻击后被统称为“勒索软件”,由于其攻击者会擦除或加密数据,而后向被攻击者索要资金以恢复数据。自今年以来,很多恶意软件开始频繁向Hadoop集群服务器下手,受影响最大的莫过于链接到互联网且没有启用安全防御的Hadoop集群。
保护Hadoop集群三大方法保护Hadoop集群三大方法
一直以来,Hadoop集群服务器都是一个很是稳定的平台,所以企业愿意选择搭建并使用。可是,自9月下旬以来,被攻击的服务器已经从最初的天天几台发展到70多台,DemonBot(新型的恶意软件)能够主动在网上搜索易受攻击的Hadoop集群服务器并对其发起进攻。一家名为Radware的网络安全公司跟踪DemonBot发现,其天天能够发起超过一百万次的尝试。
保护Hadoop集群三大方法保护Hadoop集群三大方法
虽然不少安全研究人员尝试扫描并解决DemonBot,但最终只是找寻到了部分踪影。惟一被证明的是,直到真正的DDos攻击发生的前一秒,机器都是保持沉默的。目前只知道DemonBot的DDoS攻击向量是UDP和TCP floods。linux

目前可知的攻击过程shell

据查证,DemonBot利用了企业网络中使用的资源调度系统——YARN模块中未经身份验证的远程代码执行漏洞以进行集群资源管理和做业调度。自今年3月起,GitHub上就出现了证实安全漏洞概念的验证代码。目前看来,问题彷佛是YARN中的配置错误致使的,它暴露了REST API并容许远程应用程序向集群添加新的做业。YARN提供有默认开放在8088和8090的REST API(默认前者)容许用户直接经过API进行相关的应用建立、任务提交执行等操做,若是配置不当,REST API将会开放在公网致使未受权访问的问题发生。利用这种疏忽,攻击者能够轻易提交DemonBot恶意软件。
Radware表示,目前处于离线状态的恶意软件代码引用了名为Owari的Mirai变种。然而,因为代码中出现了不熟悉的函数名称和逻辑,研究人员决定将其命名为DemonBot,并标记为新的恶意软件。研究人员已经在Pastebin上发现了完整的恶意软件源代码,由一个别名为Self-Rep-NeTiS的人建立,其中包含部分源代码以及用于建立多平台机器人的脚本。
保护Hadoop集群三大方法保护Hadoop集群三大方法
自今年以来,新的恶意软件——XBash和DemonBot发动了多起针对Apache Hadoop集群服务器进行的比特币挖掘和DDoS攻击。这种恶意软件能够扫描互联网上的全部Hadoop集群,不安全的集群一被放置在互联网上,几分钟内就可能被感染。数据库

保护Hadoop集群免受恶意软件攻击的方法:安全

一、不要将集群直接暴露给互联网服务器

将集群直接暴露给互联网至关于为恶意软件的攻击提供了便利,DemonBot只需轻易扫描即可锁定目标集群,并利用漏洞发起攻击。网络

二、使用Kerberos进行强身份验证架构

Hadoop集群自己提供简单的安全防护手段,但这对于企业而言远远不够,Kerberos成为了避免少研发人员的选择。其实,大部分攻击都利用了系统已有漏洞,并非攻击手段有多高明,这就比如小偷从大开的家门进入同样简单。若是没有Kerberos,任何与集群交互的用户均可以假装成其余用户,甚至不须要特定密钥,任何用户均可以执行任何操做,相似于一个全部人都知道root密码的Linux系统
在一个正确配置且使用Kerberos进行身份验证的Hadoop集群中, 用户与集群进行任何交互都必须输入凭据(如用户名和密码)以证实本身的身份和权限,此验证提供了用户和管理员指望的安全性:用户在系统中的功能没法被他人访问,只有管理员能够访问管理账户。
若是没有Kerberos,任何人均可以访问Hadoop集群并执行各类操做。安全研究人员在Hack.lu会议上演示的攻击案例就是提交一个简单的YARN做业,并在集群的全部机器上执行代码,这可用于在该集群的每台机器上获取shell。XBash发起的攻击之一就是使用Metasploit模块向YARN提交比特币挖掘工做。DemonBot使用相同的技术对受感染的Hadoop服务器运行DDoS攻击。这种攻击并不复杂,目标Hadoop服务器链接到开放式互联网,而且未启用Kerberos身份验证。函数

三、勾选安全服务工具

Cloudera的工程师使用Cloudera Altus建立了一个Hadoop集群。Altus是一个云服务平台,其可以使用CDH在公有云基础架构内大规模分析和处理数据。虽然使用Altus建立不受这些攻击影响的安全集群很简单,但也能够设置易受攻击的集群。
在Altus中,制做易受攻击的集群意味着不要选中Secure Clusters,也不要使用容许互联网上任何位置传入流量的AWS安全组。在建立对世界开放的不安全集群的几分钟内,咱们就能够观察到攻击行动。YARN Web UI会显示许多正在提交和运行的做业:DemonBot大约每隔一分钟就会对集群发起攻击。
要想设置一个更加安全的集群,咱们须要知足两大目标:一是仅容许从一组有限的计算机对集群进行SSH访问;二是经过Kerberos启用强身份验证,这在一些工具中很容易实现,好比Cloudera Altus。在Cloudera Altus中,集群是在环境中建立的,环境描述了如何访问用户的程序账户及其包含的资源,指定了建立集群的基础知识。所以,咱们须要重点注意的是Altus环境配置。建立环境有两种方法:一是经过简单的快速入门或设置向导,快速入门教程固然最简单。建立环境时,选择“Environment Quickstart”,而后选择“Secure Clusters”的“Enable”便可。
启用安全集群后,将启用Kerberos。Quickstart还将建立一个外部世界没法访问的安全组 ,咱们在此环境中建立的集群,基本不会被现有恶意软件攻击。若是须要使用环境建立向导,能够单击“ Quickstart”中的“Secure Clusters”。不一样的是,在第二种方式中,用户必须本身提供安全组。建立安全组时,请确保它仅容许从Altus IP地址进行SSH访问。固然,不管你选择什么工具和平台,都须要保证勾选了安全服务,国内各大厂商在设计时应该都将其考虑在内了。oop

结论

综上,企业在搭建Hadoop集群时须要注意三点:一是不要将集群直接暴露给互联网;二是始终启用Kerberos身份验证;三是选用合适的平台或者工具时须要确保勾选了安全服务。

相关文章
相关标签/搜索