当前位置:文档之家› 基于Hadoop的云计算平台安全机制研究

基于Hadoop的云计算平台安全机制研究

基于Hadoop的云计算平台安全机制研究
基于Hadoop的云计算平台安全机制研究

马 媛

(中国电子科技集团公司第三十研究所,四川 成都 610041)

[摘 要] Hadoop 作为一种开源的基础云计算框架,在企业界逐步得到了有效的应用,但其安全机制的薄弱已成为阻碍其发展的主要问题之一。文中首先归纳了传统网络的安全问题以及安全机制,分析了云计算的安全问题,然后通过对Hadoop 工作模式的描述,提出了Hadoop 的安全需求,最后通过对Hadoop 当前安全机制的研究,分析了其中的安全隐患,并提出了相应的解决办法,为Hadoop 新安全需求的企业应用提供了技术支持。[关键词]云计算;Hadoop;安全机制;Hadoop 分布式文件系统;MapReduce

[中图分类号] TN918 [文献标识码] B [文章编号] 1009-8054(2012)06-089-04

Study of Security Mechanism based on Hadoop

MA Yuan

(No.30 Institute,CETC,Chengdu Sichuan 610041,China)

[Abstract] Hadoop,as an open-source cloud computing framework,is increasingly applied in the business world,while the weakness of security mechanism now becomes one of the main problems hindering its development. This paper first summarizes the traditional network security issues and mechanisms,analyzes the security problems of cloud computing,then based on description of its operating mode,gives Hadoop's security requirement,and finally through study of Hadoop's security mechanism and analysis of security risk in its current version,proposes some corresponding solutions. All these could provide certain technical supports for the enterprises in their Hadoop applications with new security needs.[Keywords] cloud computing;Hadoop;security mechanism;HDFS;MapReduce

收稿日期:2012-04-26

作者简介:马媛,1989年生,女,硕士,研究方向:保密通信。

基于Hadoop 的云计算平台安全机制研究

0 引言

Hadoop 是由Apache 基金会开发的基于Java 实现的开源基础云计算框架。它的出现使得使用者可以自行设计云计算平台并开发云计算应用程序。当前,Hadoop 已成为工业界和学术界进行云计算应用和研究的标准平台。然而,其安全机制的薄弱,造成了使用者在决定是否实施基于Hadoop 的解决方案时有所顾虑。

1 云计算的安全问题

1.1 传统网络的安全问题及安全机制

传统通信网络存在13种安全问题[1]

,它们是:窃听、修改、重放、伪装、欺骗、渗透、抵赖、拒绝服务、病毒、蠕虫、木马、后门、入侵。传统网络的6种安全机制包括:信息隐蔽、完整性保障、身份认证、访问控制、电磁泄漏控制以及网络防御策略[1]

。1.2 云计算的安全问题

相对于传统网络,由于云计算的大规模网络化、虚拟化以及分布式等特点,使得其安全问题更加突出[2]

。传统网络中的病毒攻击、数据窃取、身份假冒、安全漏洞等一系列不安全因素在云计算模式中依然存在并且更加突出。此外,云计算模式还具有如下不安全因素:

1) 用户数据存储于云中,用户失去了对数据的绝对管理权。同时,云计算服务提供商的权限过大,用户数据存在被非法访问和泄漏的隐患。

2) 云计算环境中,服务商动态提供存储空间,使得传统的通过划分物理和逻辑安全域来提供数据隔离和保护的做法难以实现。使得不同用户、不同安全级别的数据不加区分地存放在同一介质上,这样势必会给传统的安全防

护体系提出挑战。

3) 云计算模式下,所有业务处理交由服务器完成,要求服务端的设计更加健壮,对少数服务端的攻击,可能会导致大量的用户应用无法运行。

2 Hadoop 的安全机制

2.1 Hadoop 框架

Hadoop 被设计用来在由通用计算设备组成的大型集群上执行分布式应用。它实现了包括分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce 计算模型在内的基础架构,并在其上整合了数据库HBase、数

据仓库Hive、数据收集系统Chuhwa 等一系列子项目。目前,Hadoop 已有效地应用于Twitter 、FaceBook、Yahoo 等公司。

HDFS 采用Master/Slave 主/从构架模型,一个HDFS 集群由一个NameNode 和若干DataNode 组成,采用中心控制的模式。NameNode 是Master 主服务器,负责管理文件系统名称空间和控制外部客户机的访问。HDFS 中的文件被分为多个Block 块。NameNode 中的元数据记录Block ID 与相应DataNode 的映射[3]

,客户机获取Block ID 后直接与DataNode 通信,文件的I/O 事务并不经过NameNode。DataNode 是Slave 从服务器,响应来自客户机的读写请求和来自NameNode 对Block 块的创建、删除、复制等命令。

MapReduce 同样由一个主服务器JobTracker 和多个从服务器TaskTracker 组成。作业Job 在客户端通过JobClient 类将输入集分解成小的数据集,然后通过RPC 向JobTracker 提交作业,并将应用程序和配置参数打包存入HDFS,并把路径提交给JobTracker。JobTracker 创建Map 任务和Reduce 任务,分发到各个TaskTracker 中去[4]

。HDFS、MapReduce 组成如图1所示。

图1 HDFS、MapReduce

组成

接下来的内容中将主要分析Hadoop 两个核心部分的安全性,即HDFS 和MapReduce 的安全机制。2.2 Hadoop 的安全漏洞

设计之初Hadoop 并没有考虑到平台的安全问题,并未给之前的版本加入安全机制。默认集群内所有的节点都是可靠的,值得信赖的,所处的环境都是安全的,不存在恶意的攻击者,以至于Hadoop 存在以下安全漏洞[5]

1) 缺乏用户以及服务器的安全认证机制。由于缺乏对用户的认证,任何用户都可以冒充他人,并非法访问其HDFS 或MapReduce 集群,恶意提交作业、修改JobTracker 状态、篡改HDFS 上的数据等;由于缺乏对DataNode、TaskTracker 服务器的认证,攻击者可以伪装成合法服务器接受NameNode 和JobTracker 发布的数据和任务。

2) 缺乏安全授权机制。在DataNode 服务器上缺少访问控制机制,以至于用户在得知Block ID 后,可以不经过认证和授权直接访问DataNode 读取Block 数据块,并且可以随意地写入或修改DataNode 节点上的数据。对

于JobTracker,用户可以任意修改或杀掉任何其他用户的作业,不受任何限制。

3) 缺乏传输以及存储加密。Master 与Slave 之间、Client 与服务器之间的数据传输采用TCP/IP 协议,以Socket 方式实现,但在传输和存储过程中没有加解密处理。Hadoop 各节点间的数据明文传输,使得其极易在传输的过程被窃取。

数据服务器对内存和存储器中的数据没有存储保护,在恶意入侵、介质丢失、维修等情况下数据容易泄漏。2.3 当前Hadoop 的安全机制

为了增强Hadoop 的安全性,从2009年起,Apache 专门抽出一个团队,为Hadoop 增加安全认证和授权机制,在Apache Hadoop 1.0.0版本和Cloudera CDH3之后的版本中加入了Kerberos 身份认证和基于ACL 的访问控制机制。

(1) HDFS 的安全机制

HDFS 采用Kerberos 进行身份认证,协议分为两个部分:1) 客户端Clinent 向密钥分配中心(Key Distribution Center,KDC)发送自己的身份信息,KDC 用协议开始前Client 与KDC 之间的密钥将TGT(ticket-granting ticket)加密回复给Client。详细过程如图2所示。

图2 Kerberos 身份认证——获取

TGT

2)客户端Client 利用之前获得的TGT 向KDC 请求其他Service 的Ticket,从而通过其他Service 的身份鉴别,

详细过程如图3所示。

图3 Kerberos 身份认证——Service

鉴别

为了确保Kerberos 的性能,Hadoop 采用单点登录的策略,一次认证可访问多个相互信任的服务器。认证通过后分发令牌Token 来支持安全通信[6]

。Delegation Token 用于Client 与NameNode 间的识别。Block Access Token 由NameNode 和DataNode 达成共识,作为Block 的访问凭证。

由上述分析可知,基于Kerberos 的认证机制是一种对称密码体制,实现了机器级别的安全认证。Hadoop 平台本身并没有认证功能,身份的认证需要依靠KDC 密钥分配中心等外围设备来完成。

访问控制方面,HDFS 使用基于访问控制列表ACL

的访问控制策略。ACL在XML的配置文件中定义实现[7]。HDFS对文件和目录的访问控制模型和Linux相似。HDFS 有3种权限类型:读(r)、写(w)、执行(x)。

(2) MapReduce的安全机制

MapReduce中作业Job的提交以及Job运行状态的追踪均采用带有Kerberos认证的RPC实现。合法用户提交作业时,JobTracker会为之生成一个Delegation Token,该Token在整个Job处理期间有效。Job作业的每个Task任务均以用户身份启动,这样,用户间不会出现干扰[5]。当一个Map Task运行结束时,Hadoop应该确保其他用户不可以获取Map Task的中间结果。访问控制方面,MapReduce增加了ACL,管理员可在配置文件中配置允许访问的User和Group列表,以及所对应的权限。

3 提升Hadoop的安全机制

3.1 当前安全机制存在的问题

虽然在Hadoop 1.0.0或者CDH3版本之后,Hadoop 增加了相应的安全机制,但其仍存在以下问题:

1) KDC成为系统瓶颈。Hadoop采用基于Kerberos的身份认证,每次认证都要使用Kerberos的密钥分配中心KDC。在Hadoop中,一个MapReduce集群有成千上万的任务,每个任务的执行都要使用Kerberos认证[8]。如果这些任务在一个很短的时间内同时向Kerberos服务器请求票据,就会使得KDC的负载急剧增大,使其成为整个系统的瓶颈,影响系统性能。且Client向KDC申请TGT时发送的身份信息极易被截取,存在不安全因素。

2) 不够健壮的中心控制模式。在Hadoop所采用的主/从服务器架构中,集群唯一的主服务器Master功能强大、任务繁重。客户的身份验证、访问控制、文件块Block到DataNode的映射、文件系统命名空间的操作以及MapReduce中作业任务的调度、监控都由主服务器完成。一旦唯一的主服务器被攻击,将给整个系统带来毁灭性破坏。

3) 过于简单的访问控制。Hadoop在HDFS和MapReduce中增加了基于ACL的访问控制策略。但是这种传统的基于访问控制列表的方式在服务端易被修改,存在不安全因素。同时,这种基于用户的、过于简单的控制,并不能满足企业不断发展的安全需求,对于企业自身而言,需要改进实现合适的基于角色的安全访问机制。

4) 节点间数据明文传输。当前版本的Hadoop并没有在传输和存储过程中对数据进行加解密处理。即使有些版本采用运行在TCP/IP之上的安全套接层协议SSL,但其算法的简单实现并不能满足特定的安全需求。

5) 没有存储保护。当前版本的Hadoop并没有解决数据服务器中对数据的存储保护问题。

6) 没有数据的隔离。不同用户、不同安全级别的数据存放在同一介质上,没有区分。

基于以上问题,当前实际使用中,政府机构采取的是隔离Hadoop数据,引入角色管理,预防非法访问。像IBM、Yahoo、Google这些老牌的Hadoop厂商近年来也逐渐意识到Hadoop安全性的重要性,纷纷采取措施,积极应对。而一些对安全性要求相对保守的公司,干脆就放弃了Hadoop的使用[9]。

3.2 提升Hadoop安全性

针对以上安全问题,文中采用密码技术和网络防御技术来提升Hadoop的安全性能。

(1) 基于公钥体制的身份认证

针对KDC瓶颈问题,文中放弃采用基于Kerberos的对称密码加密的身份认证方式,转而采用基于PKI的身份认证机制。认证过程分为两步:首先,CA核实申请者身份并为各个合法节点颁发数字证书;然后,示证方向验证方发送数字证书,验证身份。

在基于公钥密码体制的身份认证方案中,节点一旦获得CA颁发的数字证书,在随后向服务器申请身份认证的过程将不会有PKI管理实体的参与。这样便避免了在面对大业务量时系统瓶颈的问题。

(2) 网络防御预防单点失效

Hadoop所采用的对主服务器Master备份的做法,只能解决Master的普通故障问题,不能应对来自网络的恶意攻击。为了保证Master服务器以及整个系统的安全,需要加强网络的防御措施,使其免遭病毒、木马以及拒绝服务等来自网络的攻击。应该对Hadoop中的服务器设置访问控制、对操作系统进行安全配置、安装防火墙和杀毒软件、及时修补安全漏洞并启动入侵检测实时监测服务器的TCP连接和数据流量。对于某些安全需求高的私有云,还可以采取物理隔离的方式,最大限度减少被攻击的可能。

(3) 传输加密

采用数字信封的技术对将要传输的数据进行加密,并增加相应的密码设备或模块实现算法的硬件加密,其原理如图4所示。

4 数字信封原理

在该过程中将使用到公私钥密码对和会话密钥。使用会话密钥对传输数据进行对称加密,保证了加解密的速

度,降低了系统的消耗。使用公私钥密码对加密保护会话密钥,保证了会话密钥的机密性,同时也解决了对称加密中庞大的密钥管理问题。

(4) 存储加密

在云端数据中心采用密码算法对数据加以保护,并通过密钥管理、算法参数管理、强认证等密码技术保证特殊用户所使用的资源仅受其自身管理。

4 结语

云技术是当前业界的一个研究热点。 Hadoop 开源构架的出现,使得使用者可以自行设计云计算平台并开发云计算应用程序。然而,其安全机制的不健全,已经成为用户选择使用Hadoop 框架的最大顾虑。Apache 基金会、Yahoo、Cloudera 等公司在提升其安全性方面已做出相应努力。但Hadoop 的安全性能还不能应对企业不断发展的安全需求。文中针对Hadoop 的安全问题提出了相应的解决办法,这些解决办法的具体实施和性能测试有待进一步的验证。参考文献

[1] 戴逸民. 通信网的安全理论与技术[M]. 北京:清华大学

出版社,2006:24-25.

[2] 张秋江,王澎. 云计算的安全问题探讨[J]. 信息安全与通信保密,2011(11):94-95.

[3] 仇李寅,邱卫东,苏芊,等. 基于Hadoop 的分布式哈希算法实现[J]. 信息安全与通信保密,2011(11):54-56.[4] 王晟,赵壁芳. 云计算中MapReduce 技术研究[J]. 通信技术,2011,44(11):159-161.

[5] O'MALLEY O,ZHANG K,RADIA S,et al. Hadoop Security Design[EB/OL]. (2009-10-11) [2012-04-15]. http://https://www.doczj.com/doc/1616859555.html,/jira/browse/HADOOP-4487.[6] BECHERER A. Hadoop Security Design Just Add Kerberos?Really?[EB/OL]. (2011-04-20) [2012-04-18]. http://https://www.doczj.com/doc/1616859555.html,.

[7] The Apache Software Foundation. Service Level Authorization Guide[EB/OL]. (2012-02-14) [2012-04-18]. http://https://www.doczj.com/doc/1616859555.html,/common/docs/stable/service_level_auth.html.[8] 柴黄琪,苏成. 基于HDFS 的安全机制研究[J]. 计算机安全,2010(12):22-25.

[9] 皮丽华. 不可盲崇拜Hadoop 警惕安全性漏洞[EB/OL].(2011-12-09) [2012-04-15]. http://tech.it168com/

a2011/1208/1285/00000 1285780.shtml.

拟化的环境为安全带来了新的挑战[3]

以下从几个方面对已有的或尚未产品化的桌面虚拟化安全技术进行探讨:

1) 信息安全。数据中心的物理环境安全;虚拟环境的高可用性与容灾机制;数据加密存储;严格的网络访问控制;加密数据传输[4]

2) 系统安全。严格的设备、人员身份认证;细粒度访问权限控制;USB、串/并口设备控制;行为记录、审计;病毒查杀、入侵检测。

3) 应用安全。虚拟机隔离;集中的操作系统、应用程序部署;及时程序升级、安装补丁、更改病毒库;网站监控。

与传统的数据中心安全防护

[5]

不同,在虚拟化的环

境下,上述的安全技术需要采用物理机、虚拟机两个层面的安全设备进行配合,确保多层次、无缝的安全防护。

4 结语

随着虚拟化技术的不断发展,作为应用层面分支的桌面虚拟化技术开始获得众多企业的关注与采纳。文中对桌面虚拟化原理、优势、尚待解决的问题、安全需求等方面进行了研究与探讨。随着上述开放性问题的逐步

解决,桌面虚拟化的应用将会更加广泛。参考文献

[1] Wikipedia. Desktop Virtualization[EB/OL]. [2012-04-01]. http://https://www.doczj.com/doc/1616859555.html,/wiki/Desktop_virtualization.[2] Seagate. Seagate Point of View 2012-the Hosted Virtual Desktop[EB/OL]. [2012-04-05]. http://https://www.doczj.com/doc/1616859555.html,/docs/pdf/corporate/seagate_view_hosted_virtual_desktop_us.pdf.[3] 张秋江,王澎. 云计算的安全问题探讨[J]. 信息安全与通信保密,2011(5):94-95.

[4] 王善跃,何小海,罗代升,等. 通信信息加/解密研究进展[J]. 通信技术,2010,43(4):101-103.

[5] 韩鲲,薛辉. 数据中心建设安全策略的研究. 信息安全

与通信保密,2011(7):57-62.

(上接第88页

)

相关主题
文本预览
相关文档 最新文档