转自:http://www.freebuf.com/articles/database/131268.html
大数据已不再是一个单纯的热门词汇了,随着技术的发展大数据已在企业、政府、金融、医疗、电信等领域得到了广泛的部署和应用,并通过持续不断的发展,大数据也已在各领域产生了明显的应用价值。
企业已开始热衷于利用大数据技术收集和存储海量数据,并对其进行分析。企业所收集的数据量也呈指数级增长,包括交易数据、位置数据、用户交互数据、物流数据、供应链数据、企业经营数据、硬件监控数据、应用日志数据等。由于这些海量数据中包含大量企业或个人的敏感信息,数据安全和隐私保护的问题逐渐突显出来。而这些问题由于大数据的三大主要特性而被进一步放大:数据量大(Volume)、数据增长快(Velocity)和数据多样化(Variety)。现在,当我们说“大数据”的时候,已不再是单指海量的数据了,而是基础设施(云服务器)、应用、数据源、分析模型、数据存储和平台的组合,而正是这些使得大数据安全面临着不同寻常的挑战。
与传统数据安全相比,大数据安全有什么不同
传统数据安全技术的概念是基于保护单节点实例的安全,例如一台数据库或服务器,而不是像Hadoop这样的分布式计算环境。传统安全技术在这种大型的分布式环境中不再有效。另外,在大规模的Hadoop集群中,各服务器和组件的安全配置出现不一致的机率将大大增加,这将导致更多的安全漏洞产生。大数据平台存储着各种各样的数据,每一种数据源都可能需要有其相应的访问限制和安全策略。而当需要整合不同数据源时,就变得更加难以平衡对数据的安全策略的应用。同时,快速增长的海量数据使得大数据平台中的敏感信息和个人隐私信息无处不在,准确发现和定位敏感信息并制定针对性的访问控制策略变得愈加困难,而对敏感信息的访问的实时监控也是保障大数据安全的重要任务之一。最后,大数据技术很少单独使用Hadoop,而是会结合生态系统中的其它技术组件如HBase,Spark,Impala,Hive,Pig等对数据进行抽取、存储、处理、计算等。这些技术使得大数据可被访问和利用,但基本都缺乏企业级的安全特性。以上从平台、数据、技术视角对大数据安全与传统数据安全进行了简单的分析,传统安全工具没有为数据多样化、数据处理及Hadoop的分布式特性而改进,不再足以能保证大数据的安全。
如何建立完善的大数据安全体系
面对复杂的大数据安全环境,需要从四个层面综合考虑以建立全方位的大数据安全体系:边界安全、访问控制和授权、数据保护、审计和监控。
• 边界安全:主要包含网络安全和身份认证。防护对系统及其数据和服务的访问,身份认证确保用户的真实性及有效性。Hadoop及其生态系统中的其它组件都支持使用Kerberos进行用户身份验证。
• 访问控制和授权:通过对用户的授权实现对数据、资源和服务的访问管理及权限控制。Hadoop和HBase都支持ACL,同时也实现了RBAC(基于角色的访问控制)模型,更细粒度的ABAC(Attibute Based Access Control)在HBase较新的版本中也可通过访问控制标签和可见性标签的形式实现。
• 数据保护:通过数据加密和脱敏两种主要方式从数据层面保护敏感信息不被泄露。数据加密包括在传输过程中的加密和存储加密。传输过程中的加密依赖于网络安全协议而存储加密可通过相关加密算法和密钥对数据进行加密存储。数据脱敏是比加密较为折中的办法,对于大数据时代,该方法将更被更为广泛的采用。因为收集的海量数据需要相对开放的共享给内部不同团队或外部机构使用,才能发挥大数据的价值。对于敏感信息部分可通过脱敏的方式进行处理以保障信息安全。
• 审计和监控:实时地监控和审计可管理数据安全合规性和安全回溯、安全取证等。
如何设计大数据安全框架
基于以上四层的安全体系,结合大数据平台的特性,企业在实践大数据平台安全化时,需要有更详细的架构设计,四层安全体系对应在实际环境中,应是以数据为中心,建立完善的管理制度,先治理好大数据,再从访问控制和数据保护层面加强对数据使用的安全防护,最后从网络和基础层加固平台的安全部署。因此,大数据安全框架需包含以下5个核心模块: 数据管理、身份和访问管理、数据保护、网络安全、基础安全。
(一)数据管理
企业实施数据安全的首要任务是先管理好数据,根据业务要求、合规性、安全策略及数据的敏感性,关键性和关联风险对数据进行分类分级管理,有助于对数据保护的基准安全控制做出合理的决策。从大数据特性层面对数据进行标记(例如分析类型、处理方式、数据时效性、数据类型、数据格式 、数据源等维度),就知道数据是如何进出大数据平台,将会被如何使用,会被谁使用,数据是如何存储的等等,这些都有助于数据发现的管理和对数据访问控制制定相应的策略。最后,如果缺乏掌握敏感数据在大数据平台中存在于哪里的意识,这将无疑是把数据暴露于风险之下。所以,掌握敏感数据在大数据平台中分布情况,并能自动地增量式地发现找到敏感数据,并监控其使用情况,是否受到保护是能否做到全面保护数据安全的关键。
(二)身份认证和访问控制
身份认证是防护数据安全的第一道关卡,通过身份认证确保访问大数据平台中的数据、资源和服务的用户是安全的,大数据生态系统中从Hadoop到HBase、Hive、Pig、Impala、Spark等几乎都支持利用Kerberos进行身份认证。Kerberos也可以和企业的AD/LDAP结合以快速建立密钥分发中心,而无需大数据平台用户重新建立用户组、角色和密钥等。用户通过身份认证后可获得访问大数据平台的资格,为进一步控制用户对资源的访问权限,需要通过授权机制来管理不同用户对不同资源的访问许可。Hadoop和HBase及其它组件都在一定程度上支持对访问的控制,RBAC和ABAC是两个不同粒度的访问控制模型,前者是基于角色来进行访问控制,后者是更为细粒度的控制,可控制到被访问对象的字段级别。在制定访问控制策略时,应依据合规要求,结合敏感数据保护策略、数据使用场景等针对不同数据、不同业务需求制定相应的访问限制规则,高效利用数据,发挥大数据价值是企业的最终目的。
(三)数据保护
如果说身份认证、授权和访问控制是确保了对数据访问的对象的防护和控制,数据保护技术则是从根源层保护信息安全的最重要和最有效的手段。通过数据保护技术,对大数据的开放共享、发布、最大化利用等都会有着最直接的积极作用。数据保护技术的作用不仅局限于企业内部,它是确保整个大数据产业快速发展的最重要保证。数据保护技术通过对数据利用脱敏、失真、匿名化限制发布等技术处理后,可让处理后的数据到达安全交易、开放共享的目的。而对于企业内部,针对脱敏后的数据,不需再设定复杂的访问控制限制,可让更多的分析应用更高效地实施并优化开发项目,让大数据得到更充分的利用同时,也确保遵从行业/监管数据隐私法令和法规。
(四)网络安全
大数据的网络安全通常是指通过客户端访问大数据平台的连接和大数据平台中服务器节点之间的网络通信安全。 为保证数据在传输过程中的安全性,节点之间及客户端与服务器之间的通信都需要进行加密,不同的通信使用不同的加密方式,Hadoop平台支持RPC加密,HDFS数据传输加密和HTTP通信的加密。除了对网络通信进行加密设置,还可通过使用网关服务器隔离客户端与大数据平台的直接访问来进一步升级网络安全。网关服务器部署在大数据平台和企业用户网络域之间,用户通过登录网关服务器来验证身份,并由网关服务代理用户对大数据平台的访问,同时,该服务器还可用来提供访问控制、策略管理。用户通过登录到网关服务器来执行对大数据平台的操作,所有的客户端包括Hive,Pig,Oozie等都可安装在这台网关服务器上,这样用户就不必登录到大数据平台中的服务器节点,从而保护大数据平台不会受到非法访问。
(五)基础安全
前面我们谈到了通过各种方式来保证大数据平台和安全性,包括身份认证、授权、访问控制、数据保护及网络通信安全。但大数据平台仍然有可能会受到非法访问和特权用户的访问。为确保合规性的需要,我们需要对大数据平台的一切活动进行审计和监控并生成告警信息,也即是安全事故和事件监控(SIEM)系统。SIEM系统负责对大数据平台中任何可疑的活动进行收集,监控,分析和生成各种安全报告。以下是大数据平台中需要被监控的事件以用来分析识别安全事件:用户登录和身份验证事件、HDFS操作、授权错误、敏感数据操作、MapReduce任务、通过各种客户端的访问如Oozie,HUE等以及异常事件。只有全面的收集在大数据平台中的一切活动,才有机会捕捉可能会发生的安全事故及进行事后分析时有机会进行回溯分析,追踪事故根源。
结束语
本篇围绕大数据平台对大数据安全的体系和架构设计进行了分析概述,完全实践本文中所设计的安全架构是一项艰巨的任务,在实践过程中,需深入掌握Hadoop自身的安全特性支持,广泛了解开源软件及商业软件在数据管理和数据安全上的优势点,并结合企业现阶段对大数据部署的实际情况选择合适的产品从不同角度保护大数据平台的安全。 在下次的分享中,会从实践(In-Action)的角度介绍如何采用合适的开源技术和商业产品来实现大数据平台安全架构。