保护Hadoop集群三大方法
自今年以来,不少恶意软件开始频繁向Hadoop集群服务器下手,受影响最大的莫过于连接到互联网且没有启用安全防护的Hadoop集群。
大约在两年前,开源数据库解决方案MongoDB以及Hadoop曾遭受过大量恶意攻击,这些攻击后被统称为“勒索软件”,因为其攻击者会擦除或加密数据,然后向被攻击者索要资金以恢复数据。自今年以来,不少恶意软件开始频繁向Hadoop集群服务器下手,受影响最大的莫过于连接到互联网且没有启用安全防护的Hadoop集群。

一直以来,Hadoop集群服务器都是一个非常稳定的平台,因此企业愿意选择搭建并使用。但是,自9月下旬以来,被攻击的服务器已经从最初的每天几台发展到70多台,DemonBot(新型的恶意软件)可以主动在网上搜索易受攻击的Hadoop集群服务器并对其发起进攻。一家名为Radware的网络安全公司跟踪DemonBot发现,其每天可以发起超过一百万次的尝试。

虽然很多安全研究人员尝试扫描并解决DemonBot,但最终只是找寻到了部分踪迹。唯一被证实的是,直到真正的DDos攻击发生的前一秒,机器都是保持沉默的。目前只知道DemonBot的DDoS攻击向量是UDP和TCP floods。
目前可知的攻击过程
据查证,DemonBot利用了企业网络中使用的资源调度系统——YARN模块中未经身份验证的远程代码执行漏洞以进行集群资源管理和作业调度。自今年3月起,GitHub上就出现了证明安全漏洞概念的验证代码。目前看来,问题似乎是YARN中的配置错误导致的,它暴露了REST
API并允许远程应用程序向集群添加新的作业。YARN提供有默认开放在8088和8090的REST
API(默认前者)允许用户直接通过API进行相关的应用创建、任务提交执行等操作,如果配置不当,REST
API将会开放在公网导致未授权访问的问题发生。利用这种疏忽,攻击者可以轻易提交DemonBot恶意软件。
Radware表示,目前处于离线状态的恶意软件代码引用了名为Owari的Mirai变种。然而,由于代码中出现了不熟悉的函数名称和逻辑,研究人员决定将其命名为DemonBot,并标记为新的恶意软件。研究人员已经在Pastebin上发现了完整的恶意软件源代码,由一个别名为Self-Rep-NeTiS的人创建,其中包含部分源代码以及用于创建多平台机器人的脚本。

自今年以来,新的恶意软件——XBash和DemonBot发动了多起针对Apache Hadoop集群服务器进行的比特币挖掘和DDoS攻击。这种恶意软件可以扫描互联网上的所有Hadoop集群,不安全的集群一被放置在互联网上,几分钟内就可能被感染。
保护Hadoop集群免受恶意软件攻击的方法:
将集群直接暴露给互联网相当于为恶意软件的攻击提供了便利,DemonBot只需轻易扫描便可锁定目标集群,并利用漏洞发起攻击。
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访问。当然,无论你选择什么工具和平台,都需要保证勾选了安全服务,国内各大厂商在设计时应该都将其考虑在内了。
结论
综上,企业在搭建Hadoop集群时需要注意三点:一是不要将集群直接暴露给互联网;二是始终启用Kerberos身份验证;三是选用合适的平台或者工具时需要确保勾选了安全服务。
保护Hadoop集群三大方法的更多相关文章
- hadoop集群配置方法---mapreduce应用:xml解析+wordcount详解---yarn配置项解析
注:以下链接均为近期hadoop集群搭建及mapreduce应用开发查找到的资料.使用hadoop2.6.0,其中hadoop集群配置过程下面的文章都有部分参考. hadoop集群配置方法: ---- ...
- Hadoop 3.0完全分布式集群搭建方法(CentOS 7+Hadoop 3.2.0)
本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是3.2.0,JDK版本是1.8. 一.准备环境 1. 在VMware worksta ...
- Hadoop 2.0完全分布式集群搭建方法(CentOS7+Hadoop 2.7.7)
本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8. 一.准备环境 1. 在VMware worksta ...
- 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群
手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...
- Hadoop集群+Spark集群搭建(一篇文章就够了)
本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 一.准备 1.1 软件版本 Ub ...
- Hadoop集群nodes unhealthy解决方法
在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job ...
- Hadoop集群配置免密SSH登录方法
Hadoop集群包含1个主节点和3个从节点,需要实现各节点之间的免密码登录,下面介绍具体的实现方法. 一.Hadoop集群环境 二.免密登录原理 每台主机authorized_keys文件里面包含的主 ...
- Hadoop集群(第1期)_CentOS安装配置
CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会获得七年的支持(通过安全更新方式 ...
- [How to]HBase集群备份方法
1.简介 当HBase数据库中存在非常重要的业务数据的时候为了保护数据的可以对数据进行备份处理.对于HBase来说从备份操作来看可分为离线备份和在线备份. 2. 前准备 在测试环境上准备有哦两套HBa ...
随机推荐
- 8.29 jQuery
2018-8-29 13:22:26 jQuery : http://www.cnblogs.com/liwenzhou/p/8178806.html 都快开学了!我得在家渡劫! 今天下午去俺弟家玩去 ...
- OpenCV Cut Image via ROI 根据兴趣区域剪裁图片
我们在使用OpenCV时,有时候需要对现有图片剪裁,比如只需要一个小窗口中的内容,那么我们可以通过OpenCV的兴趣区域 Region of Interest (ROI) 来很轻易的实现,操作也很简单 ...
- js深浅copy
...点copy是浅拷贝var obj1 = [1,{a: 1}];//var obj2 = Object.assign( {}, obj1);//浅copy//var obj2 = JSON.par ...
- NEFU 117 - 素数个数的位数 - [简单数学题]
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=117 Time Limit:1000ms Memory Limi ...
- bin/hdfs dfs命令存在WARN util.NativeCodeLoader问题消除方法
例如:[hadoop@db01 hadoop-2.5.0]$ bin/hdfs dfs -ls17/03/01 21:50:33 WARN util.NativeCodeLoader: Unable ...
- AllowOverride None
PHP Advanced and Object-Oriented Programming Larry Ullman <Directory /> AllowOverride None < ...
- ie浏览器总跳转到 http://hao.360.cn
起因在于 开启360某些防护之后,若出现使用ie无法打开网页的情况,那么就会跳转到http://hao.360.cn .把360的防护能关的都关掉,就不会跳转了. 第二个问题:chrome可以打开网 ...
- 记录一下自己的.tmux.conf,.vimrc
~/.tmux.conf set -g default-terminal "screen-256color" set -g prefix C-a bind C-a send-pre ...
- 腾讯在线文档发布:实现QQ、微信多平台多人协作编辑
18日,腾讯宣布推出专注多人协作的在线文档产品—腾讯文档,据介绍,腾讯文档是一款支持随时随地创建.编辑的多人协作式在线文档工具,拥有一键翻译.实时股票函数和浏览权限安全可控等功能,以及打通QQ.微信等 ...
- Agreementhasbeenupdated--EditPhoneNumber
1.https://appleid.apple.com/#!&page=signin 登录appid账号 在账户里面的编辑 添加更多信息,新增手机号 2.如果不可以 可以试下这个https: ...