摘要
分析hadoop现有安全技术架构,对hadoop框架组件的应用、结构进行分析,对现有的安全措施进行说明,分析分布式文件系统、MapReduce、kerberos、Hive、Hbase等相关组件的安全以及大数据平台网络访问、数据安全的机制,并总结研究hadoop的安全技术架构。
Hadoop安全现状
Hadoop安全漏洞
上图是列出的是Hadoop近年来的一些安全漏洞,接下来会针对其中的几个案例进行简要说明。
Apache的Ambari引用给Hadoop带来了很多便利,可以直接通过外部的管理对Hadoop的生态组件进行管控,但在这个过程中由于外部技术的引用,导致了一些外部应用层的漏洞,主要是SSRF伪造请求漏洞。这是由恶意攻击者通过SSRF攻击,远程对Hadoop服务以及进程进行操纵和读取数据。
MapRedure信息漏洞主要是由于数据文件、用户产生的数据以及加密秘钥都存储在同一个文件和磁盘中,导致恶意用户获取到加密秘钥同时读取了数据块中的数据。
Ambari重定向漏洞是由于target的URI参数被修改成了黑客指定的任意网址,由此造成了钓鱼攻击,甚至结合Linux底层的操作系统漏洞以及Hadoop的其他漏洞还能实现恶意代码的加载。
2017年hadoop的一个新的漏洞被曝光,漏洞的主要原因在于Hadoop引入了Docker组件,但是在linux这层没有输入过程的认证,并且Docker命令又是通过root身份来执行的。因此黑客就通过Docker命令伪造了root身份,然后对Hadoop进行了全线账户的提权,实现了整个操作系统的权限控制。
Hadoop由于自身的业务特点,一般都是部署在用户内网中,所以在早期设计的时候不是太注重安全方面的设计,而更多的专注于实现业务的功能。通过分析可以发现,这些漏洞的产生大部分都是由于Hadoop的身份认证授权没有做好。
早期Hadoop在的默认情况下,是没有身份认证和访问控制机制的,基本上是继承了Linux的权限控制体系。另外它在数据传输的过程中和静态数据保存过程中都没有有效的加密措施。
Hadoop关键安全因素
基于Hadoop面临的这些问题反过来思考,我们认为要想实现安全的Hadoop要从这几点出发。
一是认证,提供单点的登录,通过这种方式实现用户身份的认证。
二是授权,要能够确定用户访问权限,比如对数据集的访问、服务请求等。
三是访问控制,要有一个基于细粒度和角色的访问控制机制。
四是数据加密,包括数据处理过程中对中间数据的处理ÿ