文库网
ImageVerifierCode 换一换
首页 文库网 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

《大数据安全技术》课件-第3章.pptx

  • 资源ID:20014218       资源大小:844.12KB        全文页数:77页
  • 资源格式: PPTX        下载积分:10文币
微信登录下载
快捷下载 游客一键下载
账号登录下载
三方登录下载: QQ登录 微博登录
二维码
扫码关注公众号登录
下载资源需要10文币
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

《大数据安全技术》课件-第3章.pptx

1、第3章 大数据平台Hadoop的安全机制主要内容主要内容安全威胁概述Hadoop安全机制Hadoop组件的安全机制安全技术工具Hadoop的安全性分析Hadoop安全技术架构3.1 安全威胁概述 Hadoop是Apache下基于Java语言实现的开源大数据计算处理框架,允许使用简单的编程模型在计算机集群上对大型数据集进行分布式处理。下面是网上报道过的其安全漏洞案例:1.漏洞1:SSRF伪造请求漏洞Apache的Ambari引用,导致攻击者可以直接通过外部的管理对Hadoop的生态组件进行管控。恶意攻击者通过SSRF攻击,远程对Hadoop服务以及进程进行操纵和读取数据。3.1 安全威胁概述2.

2、漏洞2:MapReduce信息漏洞主要是由于数据文件、用户产生的数据以及加密密钥都存储在同一个文件和磁盘中,导致恶意用户获取到加密密钥,并读取了数据块中的数据。3.漏洞3:Ambari重定向漏洞由于target的URI参数被修改成了黑客指定的任意网址,由此造成了钓鱼攻击,甚至结合Linux底层的操作系统漏洞以及Hadoop的其他漏洞还能实现恶意代码的加载。3.1 安全威胁概述4.漏洞4:引入Docker组件,黑客伪造root身份在Linux这层没有输入过程的认证,而Docker命令通过root身份来执行。因此,黑客通过Docker命令伪造root身份,然后对Hadoop进行全线账户的提权,实现

3、对整个操作系统的权限控制。早期Hadoop,在默认情况下没有身份认证和访问控制机制,基本上继承Linux的权限控制体系。此外,在数据传输和静态数据保存过程中无有效的加密措施。3.2 Hadoop安全机制3.2.1 基本安全机制 1.Simple机制 Simple机制是JAAS协议与Delegation Token结合的一种机制,JAAS提供JAVA认证与授权服务。(1)用户提交作业时,JobTracker端要进行身份核实,先是验证到底是不是这个人,即通过检查执行当前代码的人与JobConf中的user.name中的用户是否一致。3.2 Hadoop安全机制3.2.1 基本安全机制 1.Simp

4、le机制(2)然后检查ACL(Access Control List)配置文件(由管理员配置)确认是否有提交作业的权限。一旦通过验证,会获取HDFS或者MapReduce授予的Delegation Token(访问不同模块有不同的Delegation Token),之后的任何操作,比如访问文件,均要检查该Token是否存在,且使用者跟之前注册使用该Token的用户是否一致。3.2 Hadoop安全机制3.2.1 基本安全机制 2.Kerberos机制 Kerberos机制是基于认证服务器的一种方式。整体过程如图3.1所示。3.2 Hadoop安全机制3.2.2 总体安全机制(1)Hadoop客

5、户端通过RPC库访问相应服务,在RPC层中添加权限认证机制,所有RPC都会使用SASL进行连接。(2)HDFS认证分成两部分:一是客户端与NameNode连接时的认证;二是客户端从DataNode获取Block时所需要的认证。前者使用Kerberos协议认证和授权令牌认证,此令牌可以作为接下来访问HDFS的凭证。后者则是客户端从NameNode获取一个认证令牌,只有使用这个令牌才能从相应的DataNode获取Block。3.2 Hadoop安全机制3.2.2 总体安全机制(3)在MapReduce中用户的每个Task均使用用户的身份运行,防止了恶意用户使用Task干扰TaskTracker或者

6、其他用户的Task。(4)HDFS在启动时,NameNode首先进入一个安全模式,此时系统不会写入任何数据。NameNode在安全模式下会检测数据块的最小副本数,当一定比例的数据块达到最小副本数时(一般为3),系统就会退出安全模式,否则补全副本,以达到一定的数据块比例。3.2 Hadoop安全机制3.2.2 总体安全机制(5)当从HDFS获得数据时,客户端会检测从DataNode收到的数据块,通过检测每个数据块的校验和验证数据块是否损坏。如损坏,则从其他DataNode获得数据块的副本,以保证数据的完整性和可用性。(6)MapReduce和HDFS都设计了心跳机制,Task和DataNode都

7、定期向JobTracker和NameNode发送信条数据。当JobTracker不能接收到某个Task的心跳数据时,则认为该Task已经失败,会在另一个节点上重启该任务,以保证整个MapReduce程序的运行。同理,如果NameNode收不到某个DataNode的心跳消息,也认为该节点已经死掉,不会向该节点发送新的I/O任务,并复制那些丢失的数据块。3.3 Hadoop组件的安全机制3.3.1 RPC安全机制 RPC是指远程过程调用,也就是说两台不同的服务器(不受操作系统限制),一个应用部署在A上,一个应用部署在B上,若A想要调用B上的某个方法,由于不在一个内存空间,不能直接调用,需要通过网络

8、来表达调用的语意和传达调用的参数。Hadoop集群是Master/Slave(主/从)结构,Master包 括 NameNode和 JobTracker,Slave包括DataNode和TaskTracker。3.3 Hadoop组件的安全机制3.3.1 RPC安全机制 NameNode可看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的MetaData,同时周期性地将所有存在的Block信息发送给NameNode。3.3 Hadoop组件的安全机制3.3.1

9、 RPC安全机制 就通信方式而言,Client与NameNode、NameNode与DataNode都是在不同进程、不同系统间的通信,因此Hadoop要用到RPC。RPC安全机制是在Hadoop RP中添加权限认证授权机制。当用户调用RPC时,用户的Login Name会通过RPC头部传递给RPC,之后RPC使用SASL确定一个权限协议(支持Kerberos和DIGEST-MD5两种),完成RPC授权。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 客 户 端 获 取 NameNode初 始 访 问 认 证 后,获 取 一 个Delegation Token,作为接下来访问HD

10、FS或者提交作业的凭证。为了读取某个文件,客户端首先要与NameNode交互,获取对应数据块的Block Access Token,然后到相应的DataNode上读取各个数据块,而DataNode在初始启动向NameNode注册时,已提前获取这些Token,当客户端要从TaskTracker上读取数据块时,首先验证Token,通过后才允许读取。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 当用户使用Kerberos证书向NameNode提交认证后,从NameNode获得一个Delegation Token,之后该用户提交作业时可使用该De

11、legation Token进行身份认证。Delegation Token是用户和NameNode之间的共享密钥,获取Delegation Token的任何人都可以假冒该用户。只有当用户再次使用Kerberos认证时,才会再次得到一个新的Delegation Token。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 当 从 NameNode获 得 Delegation Token时,用 户 应 该 告 诉NameNode这个Token的renewer(更新者)。在对该用户的Token进行更新之前,更新者先向NameNode进行认证。Tok

12、en的更新将延长该Token在NameNode上的有效时间,而非产生一个新的Token。为了让一个MapReduce作业使用一个Delegation Token,用户通常需要将JobTracker作为Dolegation Toben的更新者。同一个作业下的所有任务使用同一个Token。在作业完成之前,JobTracker确保这些Token是有效的;在作业完成之后,JobTracker就可以废除这个Token。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token NameNode随机选取masterKey,并用它生成和验证Delegation To

13、ken,保存在NameNode的内存中,每个Delegation Token都有一个Token,存在expiryDate(过期时间)。如果currentTimeexpiryDate,该Token将被认为是过期的,任何使用该Token的认证请求都将被拒绝。NameNode将过期的Delegation Token从内存中删除,另外,如果Token和owner(拥有者)和renewer(更新者)废除了该Token,则NameNode将这个Delegation Token从内容中删除。Sequence Nunber(序列号)随着新的Delegation Token的产生不断增大,唯一标识每个Token

14、。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 当客户端(如一个Task)使用Delegation Token认证时,首先向NameNode发送Token。Token ID代表客户端将要使用的Delegation Token。NameNode利用Token ID和masterKey重新计算出Delegation Token,然后检查其是否有效。当且仅当该Token存在于NameNode内存中,并且当前时间小于过期时间时,这个Token才算是有效的。如果Token是有效的,则客户端和NameNode就会使用它们自己的Token Authen

15、ticator作为密钥、DIGEST MD5作为协议相互认证。以上双方认证过程中,都未泄露自己的Toke Authenticator给另一方。如果双方认证失败,意味着客户端和NameNode没有共享同一个Token Authenticator,那么它们也不会知道对方的Token Authenticator。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 为了保证有效,Delegation Token需要定时更新。假设JobTracker是一个Token的更新者,在JobTacker向NameNode成功认证后,JobTracker向Name

16、Node发送要被更新的Token。NameNode将进行如下验证。(1)JobTracker是Token ID中指定的更新者;(2)Token Authenticator是正确的;(3)currentTime maxDate。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 验证成功之后,如果该Token在NameNode内存中,即该Token是 有 效 的,则 NameNode将 其 新 expiryDate设 置 为min(currentTime+renewPeriod,maxDate),如果这个Token不在内存中,说明NameNode

17、重启丢失了之前内存中保存的Token,则NameNode将这个Token添加到内存中,并且用相同的方法设置其expiryDate,使得NameNode重启后作业依然可以运行。JobTracker需要在重新运行失败Tasks之前,向NameNode更新所有的Delegation Token。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 1.Delegation Token 注意:只要currentTime maxDate,那么即使这个Token已经过期,更新者依然可以更新它。因为NameNode无法判断一个Token过期与否(或是否被废除),或是由于NameNode重启导致其不

18、在内存中。只有被指定的更新者可以使一个过期的Token复活,即便攻击者窃取到了这个Token,也不能更新使其复活。masterKey需要定时更新,NameNode只循要将masterKey而不是Tokens保存在磁盘上。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token 当用户向NameNode请求访问文件时,NameNode进行文件权限检查。NameNode根据对用户所请求的文件(即相关的数据块)是否具有相应权限来做出授权。为了在HDFS上实施一致的数据访问控制策略,需要一个机制来将NameNode上的访问授权实施到DataNode上,并

19、且任何未授权的访问将被拒绝。NameNode通过使用Block Access Token向DataNode 传递数据访问权限授权信息。Block Access Token由NameNode生成,在DataNode上使用,其拥有者能够访问 DataNode中的特定数据块,而DataNode能够验证其授权。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token Block Access Token通过对称密钥机制生成,NameNode和所有的DataNode共享一个密钥。对于每一个Token,NameNode使用这个共享密钥计算出一个加密的哈希值(

20、MAC),这个哈希值就是Token Authenticator。Token Authenticator是构成Block Access Token的必要部分。当DataNode收到一个Token时,它使用自己的密钥重新计算出Token Authenticator。并将其与接收到的Token中的Token Authenticator进行比较,如果匹配,则认为这个Token是可信的。因为只有NameNode和DataNode知道密钥,所以第三方无法伪造Token。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token 若使用公钥机制生成Token,则

21、计算成本较为昂贵。其主要优点是即使一个DataNode被攻陷,攻击者也不会获得能够伪造出有效Token的密钥。然而,通常在HDFS部署中,所有DataNode的保护措施都是相同的(相同的数据中心、相同的防火墙策略)。如果攻击者有能力攻陷一个DataNode,那么就能够利用相同的手段攻陷所有的DataNode,而不必使用密钥。因此,使用公钥机制不会带来根本性的差异。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token 理想情况下,Block Access Token是不可转移的,仅其拥有者可以使用它。Token中包含了其拥有者的ID,无论谁使用

22、这个Token都要认证其是否为拥有者,所以没有必要担心Token的丢失。在当前的安全机制中,Block Access Token中包含其拥有者的ID。但DataNode 并不验证其拥有者的ID,预计以后会添加相关验证。3.3 Hadoop组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token 无须更新或者废除一个Block Access Token。当一个Block Access Token过期时,只需获取一个新的Token。Block Access Token保存在内存中,无须写入磁盘中。Block Access Token的使用场景如下:HDFS客户端向Nam

23、eNode请求一个文件的Block ID和所在位置;NameNode验证该客户端是否被授权访问这个文件,然后将所需的Block ID和对应的Block Access Token发送给客户端;当客户端需要访问一个数据块时,将向DataNode发送Block ID和对应的Block Access Token;DataNode验证收到的Block Access Token,判断是否客户端允许访问数据块。HDFS客户端把从NameNode获取的Block Access Token保存在内存中,当Token过期或者访问到未缓存的数据块时,客户端会向NameNode请求新的Token。3.3 Hadoop

24、组件的安全机制3.3.2 HDFS安全机制 2.Block Access Token 无论数据块实际存储在哪里,Block Access Token在所有的DataNode上都是有效的。NameNode随机选取计算Token Authenticator的密钥,当DataNode首次向NameNode注册时,NameNode将密钥发送给该DataNode。NameNode上有一个密钥滚动生成机制以更新密钥,并定期将新的密钥发送给DataNode。3.3 Hadoop组件的安全机制3.3.3 MapReduce安全机制 MapReduce也是Hadoop中核心组件之一,它为海量的数据提供计算。1.

25、作业提交(Job Submission)用户提交作业后,JobClient需与NameNode和JobTracker等服务进行通信,以进行身份认证和获取相应令牌。授权用户提交作业时,JobTracker会为之生成一个Delegation Token,该Token将被作为Job的一 部 分 存 储 到 HDFS上 并 通 过 RPC分 发 给 各 个TaskTracker,一旦Job运行结束,该Token失效。3.3 Hadoop组件的安全机制3.3.3 MapReduce安全机制 2.作业控制 用 户 提 交 作 业 时,可 通 过 参 数mapreduce.job.acl-view-job指

26、定哪些用户或者用户组可以查看作业状态,也可以通过mapreduce.job.acl-modify-job指定哪些用户或者用户组可以修改或者杀掉Job。3.3 Hadoop组件的安全机制3.3.3 MapReduce安全机制 3.任务启动 TaskTracker收到JobTracker分配的任务后,如果该任务来自某个作业的第一个任务,则会进行作业本地化:将任务运行相关的文件下载到本地目录中,其 中,作 业 令 牌 文 件 会 被 写 到$mapred.local.dir/ttprivate/taskTracker/$user/jobcache/$jobid/jobToken目录下。由于只有该作业

27、的拥有者可以访问该目录,因此令牌文件是安全的。此外,Task要使用作业令牌向TaskTracker进行安全认证,以请求新的任务或者汇报任务状态。3.3 Hadoop组件的安全机制3.3.3 MapReduce安全机制 4.任务运行(Task)用户提交作业的每个Task均是以用户身份启动的,这样,一个用户的Task便不可以向TaskTracker或者其他用户的Task发送操作系统信号,对其他用户造成干扰。这要求为每个用户在所有TaskTracker上建一个账号。3.3 Hadoop组件的安全机制3.3.3 MapReduce安全机制 5.Shuffle 当一个MapTask运行结束时,它要将计算

28、结果告诉管理它的TaskTracker,之后每个ReduceTask会通过HTTP向该TaskTracker请求自己要处理的那块数据,Hadoop应该确保其他用户不可以获取MapTask的中间结果,其做法是:ReduceTask对“请求URL”和“当前时间”计算HMAC-SHA1值,并将该值作为请求的一部分发动给TaskTracker,TaskTracker收到后会验证该值的正确性。3.4 安全技术工具3.4.1 系统安全工具 1Ganglia Ganglia是UC Berkeley发起的一个开源集群监视项目,用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad及一个Web

29、前端,主要用来监控系统性能,如CPU、内存、硬盘利用率、IO负载、网络流量情况等。通过曲线可以看到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。3.4 安全技术工具3.4.1 系统安全工具 1Ganglia 每台计算机都运行一个收集和发送度量数据的gmond守护进程。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。这种层次结构模式使得Ganglia可以实现良好的扩展,同时gmod带来的系统负载非常少,使得它成为在集群中各台计算机上运行的一段代码,不会影响用户性能,但所有这些数据多次收集就会影响节点性能。网络中的“抖动”发生在大量

30、小消息同时出现的时候,可以通过将节点时钟保持一致来解决问题。3.4 安全技术工具3.4.1 系统安全工具 1Ganglia gmetad可以部署在集群内任一节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式保存在数据库中。由RRDTool工具处理数据并生成相应的图形显示,以Web方式直观地提供给客户端。3.4 安全技术工具3.4.1 系统安全工具 2Nagios Nagios是一个监视系统运行状态和网络信息的监视系统,能够监视所指定的本地或远程主机及服务,同时提供异常通知功能。它可以运行在Linux/UNIX平台上,同时提

31、供一个可选的基于浏览器的Web界面,以方便系统管理人员查看网络状态、各种系统问题及日志等。3.4 安全技术工具3.4.1 系统安全工具 2Nagios Nagios可以监控的功能包括:监控网络服务 监控主机资源 简单的插件设计 并行服务检查机制 具备定义网络分层结构的能力3.4 安全技术工具3.4.1 系统安全工具 2Nagios Nagios可以监控的功能包括:当服务或主机问题产生与解决时,将告警发送给联系人 定义一些处理程序,在服务/主机发生故障时起预防作用 自动的日志滚动功能 支持并实现对主机的冗余监控 可选的Web界面用于查看当前的网络状态、通知等 通过手机查看系统监控信息 指定自定义

32、的事件处理控制器3.4 安全技术工具3.4.1 系统安全工具 3Ambari Apache Ambari是一个基于Web的工具,用于配置、管 理 和 监 视 Hadoop集 群,支 持 HDFS、MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。同时,提供了集群状况仪表盘,如Heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对性能特性进行诊断。3.4 安全技术工具3.4.1 系统安全工具 3Ambari Ambari充分利用了已有的优秀开源软件,巧妙地将它们结合起来,在分布式环境中具有集群式服

33、务管理能力、监控能力、展示能力。相关的开源软件包括:(1)在Agent端,采用puppet管理节点;(2)在Web端,采用ember.js作为前端MVC框架和NodeJS相关工具,handlebars.js作为页面渲染引擎,在CSS/HTML方面使用Bootstrap框架;(3)在Server端,采用Jetty、Spring、JAX-RS等;(4)同时利用Ganglia、Nagios的分布式监控能力。3.4 安全技术工具3.4.1 系统安全工具 3Ambari Ambari采用Server/Client的框架模式,主要由ambari-agent和ambari-server两部分组成。Ambar

34、i依赖其他已经成熟的工具,如ambari-server依赖python,而ambari-agent依赖ruby、puppet、facter等工具,也依赖一些监控工具如Nagios和Ganglia用于监控集群状况。其中,puppet是分布式集群配置管理工具,也是典型的Server/Client模式,能够集中管理分布式集群的安装配置部署,主要语言是ruby;facter是使用Python编写的一个节点资源采集库,用于采集节点的系统信息,如操作系统信息。由于ambari-agent主要使用Python编写,因此使用facter可以很好地采集节点信息。3.4 安全技术工具表3.1 Ambari项目目录

35、介绍目目 录录描描 述述ambari-serverAmbari的Server程序,主要管理部署在每个节点上的管理监控程序ambari-agent部署在监控节点上运行的管理监控程序Contrib自定义第三方库ambari-webAmbari页面UI的代码,作为用户与ambari-server的交互ambari-views用于扩展ambari-web UI中的框架Docs文档ambari-commonambari-server和ambari-agent共用的代码3.4 安全技术工具3.4.2 Apache Sentry 1Sentry Apache Sentry是一个Hadoop开源组件,提供细粒

36、度级、基于角色的授权以及多租户的管理模式。在Hadoop生态中扮演着“守门人”角色,担负大数据平台的数据安全访问。以插件形式运行于组件中,通过关系型数据库(或本地文件)来存取访问策略,对数据使用者提供细粒度的访问控制。Sentry仅支持基于角色的访问控制。无法直接向用户或组授予权限,需要在角色下组合权限。只能将角色授予组,而不能直接授予用户。3.4 安全技术工具3.4.2 Apache Sentry Sentry授权包括以下几种角色:资源。资源是要管理访问权限的对象,如Server、Database、Table或者URL(如HDFS或本地路径)。Sentry支持对列进行授权。权限。权限的本质是

37、授权访问某一个资源的规则。角色。角色是一系列权限的集合。用户和组。一个组是一系列用户的集合。默认情况下,Sentry使用Hadoop的组映射。Sentry允许将用户和组进行关联。3.4 安全技术工具3.4.2 Apache Sentry 2.Sentry特性 Apache Sentry为Hadoop使用者提供了以下便利:能够在Hadoop中存储更敏感的数据;使更多的终端用户拥有Hadoop数据访问权;创建更多的Hadoop使用案例;构建多用户应用程序;符合规范(如SOX、PCI、HIPAA、EAL3)。3.4 安全技术工具3.4.2 Apache Sentry 3.Sentry体系结构的组件及

38、工作流程 (1)Binding Binding实现对不同的查询引擎授权,Sentry将自己的Hook函数插入到各SQL引擎的编译、执行的不同阶段。这些Hook函数起两大作用:一是起过滤器的作用,只放行具有相应数据对象访问权限的SQL查询;二是起授权接管的作用,使用了Sentry之后,Grant/Revoke管理的权限完全被Sentry接管,Grant/Revoke的执行也完全在Sentry中实现;所有引擎的授权信息也存储在由Sentry设定的统一的数据库中,这样就实现了对引擎的授权的集中管理。3.4 安全技术工具3.4.2 Apache Sentry 3.Sentry体系结构的组件及工作流程

39、(2)Policy Engine 这是Sentry授权的核心组件。Policy Engine判定从Binding层获取的输入的权限要求与服务提供层已保存的权限描述是否匹配。(3)Policy Provider Policy Provider负责从文件或数据库中读取原先设定的访问权限。Policy Engine以及Policy Provider其实对于任何授权体系来说都是必需的,因此是公共模块,后续还可服务于别的查询引擎。3.4 安全技术工具图3.2 Sentry权限管理流程图3.4 安全技术工具3.4.3 Apache Ranger 1.Ranger概念 Apache Ranger提供一个集中

40、式安全管理框架,提供统一授权和统一审计的能力,可对整个Hadoop生态中 的 组 件 如 HDFS、YARN、Hive、HBase、Kafka、Strom等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可轻松通过配置策略来控制用户访问HDFS文件夹、HDFS文件、数据库、表、字段权限。这些策略可以为不同的用户和组来设置,同时权限可与Hadoop无缝对接。3.4 安全技术工具图3.3 Ranger架构图(1 1)Ranger AdminAdmin(2)Ranger UserSync(3)Ranger TagSync(4)Ranger Plugin3.4 安全技术工具图3.3 Ran

41、ger架构图(1)Ranger Admin(2 2)Ranger UserSyncRanger UserSync(3)Ranger TagSync(4)Ranger Plugin3.4 安全技术工具图3.3 Ranger架构图(1)Ranger Admin(2)Ranger UserSync(3 3)Ranger TagSyncRanger TagSync(4)Ranger Plugin3.4 安全技术工具图3.3 Ranger架构图(1)Ranger Admin(2)Ranger UserSync(3)Ranger TagSync(4 4)Ranger PluginRanger Plugin

42、3.4 安全技术工具3.4.3 Apache Ranger 2.Ranger权限模型 Ranger的权限模型由一条条的权限策略组成的,权限策略主要由3个方面组成,即用户、资源、权限。图3.4 Ranger权限模型3.3 Hadoop组件的安全机制图3.5 用户访问资源权限校验流程图3.4 安全技术工具3.4.3 Apache Ranger 2.Ranger权限模型 黑名单、黑名单排除、白名单、白名单排除匹配的优先级如下:黑名单优先级高于白名单黑名单排除的优先级高于黑名单白名单排除的优先级高于白名单3.5 Hadoop的安全性分析3.4.1 Hadoop面临的安全问题 在1.0版本之前,Hado

43、op基本没有任何安全机制,因此面临着各方面的安全威胁,主要包括以下方面:(1)如何强制所有类型的客户端上的用户及应用进行验证?(2)如何确保服务不是服务冒充的?(3)如何根据已有的访问控制策略和用户凭据强制数据的访问控制?(4)如何实现基于属性的访问控制(ABAC)或基于角色的访问控制(RBAC)?(5)怎么才能将Hadoop跟已有的企业安全服务集成到一起?3.5 Hadoop的安全性分析3.4.1 Hadoop面临的安全问题 在1.0版本之前,Hadoop基本没有任何安全机制,因此面临着各方面的安全威胁,主要包括以下方面:(6)如何控制谁被授权可以访问、修改和停止MapReduce作业?(7

44、)怎么才能加密传输中的数据?(8)如何加密静态数据?(9)如何对事件进行跟踪和审计,如何跟踪数据的出处?(10)对于架设在网络上的Hadoop集群,通过网络途径保护它的最好办法是什么?3.5 Hadoop的安全性分析3.4.2 Hadoop生态圈安全风险 Hadoop生态圈的安全风险主要有5类:1.安全认证 任何用户都可以伪装成为其他合法用户,访问其在HDFS上的数据,获取MapReduce产生的结果,从而存在恶意攻击者假冒身份,篡改HDFS上他人的数据,提交恶意作业破坏系统、修改节点服务器的状态等隐患。由于集群缺乏对Hadoop服务器的认证,攻击者假冒成为DataNode或TaskTrack

45、er节点,加入集群,接受NameNode和JobTracker。3.5 Hadoop的安全性分析3.4.2 Hadoop生态圈安全风险 2.权限控制 用户只要得知数据块的Block ID后,可以不经过NameNode的身份认证和服务授权,直接访问相应DataNode,读取DataNode节点上的数据或者将文件写入DataNode节点,并可以随意启动假的DataNode和TaskTracker。对于JobTracker,用户可以任意修改或者杀掉其他用户的作业,提高自身作业的优先级,JabTracker对此不作任何控制。3.5 Hadoop的安全性分析3.4.2 Hadoop生态圈安全风险 3.关

46、键行为审计 默认情况下,Hadoop缺乏审计机制,但可以通过Hadoop系产品添加日志监控来完成一部分审计功能。通过日志的记录来判断整个流程中是否存在问题。这种日志的记录缺乏特征的判断和自动提示功能。完全可以利用进行改进后的审计产品来进行审计,只审计客户端的行为即可追查到恶意操作或误操作行为。3.5 Hadoop的安全性分析3.4.2 Hadoop生态圈安全风险 4.静态加密 默认情况下,Hadoop在对集群HDFS系统上的文件没有存储保护,所有数据均是明文存储在HDFS中,超级管理员可以不经过用户允许直接查看和修改用户在云端保存的文件,这就很容易造成数据泄露。采用静态加密的方式,对核心敏感数

47、据进行加密处理,使得数据密文存储,可防止泄露风险。具体细节详见6.1及6.3节。3.5 Hadoop的安全性分析3.4.2 Hadoop生态圈安全风险 5.动态加密 默认情况下,Hadoop集群各节点之间,客户端与服务器之间数据明文传输,使得用户隐私数据、系统敏感信息极易在传输的过程被窃取。解决动态加密一般会提供一个附加的安全层。对于动态数据而言,即传输到或从Hadoop生态系统传送出来的数据,利用简单认证与安全层(SASL)认证框架进行加密,通过添加一个安全层的方式,保证客户端和服务器传输数据的安全性,确保在中途不回被读。具体细节详见6.2及6.4节。3.5 Hadoop的安全性分析3.4.

48、3 Hadoop安全应对 厂商们发布安全产品来弥补Hadoop的不足,主要基于以下考虑:(1)没有“静态数据”加密。(2)以Kerberos为中心的方式Hadoop依靠Kerberos做认证。(3)有限的授权能力。(4)安全模型和配置的复杂性。3.5 Hadoop的安全性分析3.4.3 Hadoop安全应对 针对Hadoop存在的潜在风险,其自身改进:(1)HDFS的命令行不变,但在Web UI中添加权限管理。(2)MapReduce添加ACL。(3)MapReduce系统目录访问权限改为700。(4)所有Task以作业拥有者身份运行。(5)Task对应的临时目录访问权限改为700。(6)Di

49、stributedCache是安全的。3.6 Hadoop安全技术架构 如何实现Hadoop安全,可以考虑:认证授权访问控制数据加密网路安全系统安全基础架构安全审计监控3.6 Hadoop安全技术架构3.6.1 Hadoop认证授权1.用户层次访问控制用户层次访问控制,要有对用户和用户组的认证机制,具体包括:Hadoop用户只能访问授权的数据;只有认证的用户可以向Hadoop集群提交作业;用户可以査看、修改和终止他们的作业;只有认证的服务可以注册为DataNode或TaskTracker;DataNode中数据块的访问需要保证安全,只有认证用户才能访问Hadoop集群中存储的数据;3.6 Ha

50、doop安全技术架构3.6.1 Hadoop认证授权2.服务层次访问控制服务层次访问控制,即服务之间的互相认证,具体包括:可扩展的认证:Hadoop集群包括大量的节点,认证模型需要能够支持大规模的网络认证;伪装:Hadoop可以识别伪装用户,保证正确的用户作业隔离;自我服务:Hadoop作业可能执行很长时间,要确保这些作业可以自我进行委托用户认证,保证作业完整执行;安全的IPC:Hadoop服务要可以相互认证,保证它们之间的安全通信。3.6 Hadoop安全技术架构3.6.2 Hadoop网络访问安全 1.Hadoop网络访问安全措施 如图3.6所示,目前主流的Hadoop网络安全措施是通过防


注意事项

本文(《大数据安全技术》课件-第3章.pptx)为本站会员(bubibi)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(点击联系客服),我们立即给予删除!




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

文库网用户QQ群:731843829  微博官方号:文库网官方   知乎号:文库网

Copyright© 2025 文库网 wenkunet.com 网站版权所有世界地图

经营许可证编号:粤ICP备2021046453号   营业执照商标

1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png