Hadoop系统框架安全机制(3)

令牌赋予了拥有节点权限并保证安全,节点根据令牌种类不同而拥有不同的权限。如持有ResourceManager令牌的应用程序及其发起的任务可以安全地与ResourceManager交互。Application 令牌保证ApplicationMaster与ResourceManager之间的通信安全。

委托令牌也存在缺点:认证用户可以与未认证用户共享委托令牌,这可能造成令牌滥用。

2.2.2 Hadoop 2(YARN)的授权机制

在正式接触YARN授权机制之前,先介绍HDFS的文件访问控制机制。HDFS的文件访问控制机制与当前Unix的一致,即将权限授予对象分为用户、同组用户和其他用户,且可单独为每类对象设置一个文件的读、写和可执行权限。此外,用户和用户组的关系是插拔式的,默认情况下共用Unix/Linux下的用户与用户组对应关系,这与YARN的授权设计思路是一致的。

YARN的授权机制是通过访问控制列表(ACL)实现的。访问控制列表授权了哪些可以访问,哪些无法访问。按照授权实体,可分为作业队列访问控制列表、应用程序访问控制列表和服务访问��制列表。

(1) 作业队列访问控制列表

为了方便管理集群中的用户,YARN将用户/用户组分成若干队列,并可指定每个用户/用户组所属的队列。在每个队列中,用户可以进行作业提交、删除等。通常而言,每个队列包含两种权限:提交应用程序权限和管理应用程序权限(比如杀死任意应用程序),这些可以通过配置文件设置。

(2) 应用程序访问控制列表

应用程序访问控制机制的设置方法是在客户端设设置对应的用户列表,这些信息传递到ResourceManager端后,由它维护和使用。为了用户使用方便,应用程序可对外提供一些特殊的可直接设置的参数。以MapReduce作业为例,用户可以为每个作业单独设置查看和修改权限。默认情况下,作业拥有者和超级用户(可配置)拥有以上两种权限且不可以修改。

(3) 服务访问控制列表

服务访问控制是Hadoop提供的最原始的授权机制,它用于确保只有那些经过授权的客户端才能访问对应的服务。比如可设置访问控制列表以指定哪些用户可以向集群中提交应用程序。服务访问控制是通过控制各个服务之间的通信协议实现的,它通常发生在其他访问控制机制之前,比如文件权限检查、队列权限检查等。

该授权机制的缺陷是,由于需要维护大量的访问控制列表,授权也给系统带来了不小的开销。

2.2.3 Hadoop 2(YARN)的其他安全机制

(1)加密机制

对于静态数据,Hadoop提供两种方式进行保护:一是文件先进行加密,再存储在Hadoop节点中;二是一旦数据加载到Hadoop系统中,立即申请对数据块的加密。对于动态数据,传输进或传输出的数据,Hadoop可以提供认证与安全层(SASL)认证进行加密。其中核心加密技术常用MD5-DIGEST,在此基础上搭载加密的安全协议有如下三种:

a. SASL安全协议加密

SASL提供了MD5-DIGEST等可选的不同种类的保护服务,具有提供认证,保护消息数据完整性、机密性等功能。

b. HDFS文件传输加密

HDFS现存的数据服务协议封装了简单的认证与安全握手协议。认证后,NameNode产生数据加密密钥并将数据信息(如数据块位置、数据块标志、访问令牌等)发送到客户端,成为MD5-DIGEST的凭证。

c. 安全套接层(SSL)

首先需要配置SSL来加密HTTP协议。为了避免恶意用户访问Reduce后的输出结果,Reduce任务计算请求的HMAC-SHA1,并通过作业令牌加密当前时间戳。任务追踪器将利用该HMAC-SHA1与请求中发送的HMAC-SHA1。如果计算出的HMAC-SHA1是URL中的一个,任务追踪器将会相应请求。

(2)审查日志(Audit Log)

Hadoop部署了一个日志审查监控系统,管理和报告系统变化情况。

措施:

(3)资源控制

YARN中可以控制最低限度的网络消耗,最低限度的资源、线程、进程的消耗,来保障系统的稳定和安全性。

2.3 Hadoop 2(YARN)面临的安全威胁

除了上述几大安全部分所具备的缺陷,作为一个开源云计算平台,Hadoop面临的威胁有:

(1)集中控制模式不够健壮。在HDFS中,NameNode中保存了所有元数据信息。一旦NameNode出现故障或者遭受恶意攻击,会使得整个系统不能运行。虽然Hadoop中存在一个SecondNameNode,但它只是保存了 NameNode中某一时间点的信息和之后的操作日志,在NameNode发生故障时不能立即对NameNode中的数据进行迅速恢复,不能保证运行的任务不被中断。

(2)基于ACL的访问控制机制过于简单。Hadoop中采用简单的访问控制机制,对访问权限的设定与Linux—样,存在可读、可写、可执行三个权限,但此简单的访问控制机制显然不能对数据进行很好的保护。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/920fdf67f9a09f319b553c6f86fb0640.html