互联网安全事件层出 看Hadoop独当一面
- +1 你赞过了
【天极网信息化频道】近期的一系列互联网安全事件给企业敲响了信息安全的警钟,这也就谈到了企业数据灾备的问题。这个问题已经是老生常谈了,而且各种厂商也推出了名目繁多的各种方案,比如双活、两地三中心等等概念。通常根据容灾系统对灾难的抵抗程度,可分为数据容灾和应用容灾。数据容灾是指建立一个异地的数据系统,对关键的数据进行备份存储,当故障造成本地数据丢失时,可以通过备份找回;应用容灾层次更高,即在异地建立一套完整的、与本地数据系统相当的备份应用系统,在灾难出现后,远程应用系统迅速接管或承担本地应用系统的业务运行。
根据某在线旅游网站的声明,其后台是一个由SOA(面向服务)架构组成的庞大服务器集群,看似简单的一个页面背后由上千个应用子系统以及上千个Web Service组成,而每个应用子系统和每个Web Service之间都存在着相互调用的依赖关系。发生事件后,携程的技术人员除了需要恢复生产服务器上的执行代码以外,还要恢复并确保每个应用子系统以及每个Web Service的功能正常,同时确保应用子系统与Web Service间的调用关系得以正常执行。因此才花费了十二个小时。
其实很多企业安全时间归结于管理问题,但是管理问题其实可以从技术上进行实现。Cloudera公司副总裁苗凯翔博士谈及近期互联网安全事件时,他表示,这些安全事故对于用户造成的影响还是蛮大的,虽然在技术人员看来这些事故的严重程度并不大,但是带给企业的思考是长远的。数据安全虽然很多情况下是源自管理问题,但是企业可以采用比较先进的技术来弥补管理上的漏洞。就拿灾备来说,其实Hadoop就是不错的解决方案,Hadoop不论是从底层的HDFS存储系统还是其他管理组件都采用了HA(高可用)设计。
Hadoop是目前最热门的大数据计算系统,它实现了一个可扩展的分布式文件系统HDFS作为海量数据的存储系统。HDFS是主从式的分布式系统,NameNode管理整个文件系统的元数据,负责数据的分配,并管理着DataNode;而DataNode负责存储数据块,按块提供数据存取服务。
HDFS集群是由一个NameNode和多个DataNode组成的主从结构。NameNode是个数据管理器,负责管理HDFS文件和块,还有文件系统的命名空间。该信息作为命名空间镜像和可编辑的日志永久保存在本地驱动器上。NameNode还存储非持久性的信息,例如给定文件中所有块(Block)的位置。 HDFS文件被分成块,然后复制和存储在DataNode上。每个DataNode定期与NameNode同步块信息。
Hadoop建立了主备的NameNode配置,以此避免了单点故障。当保守的故障切换控制器(Failover Controller)检测到故障,它可以让备用节点接管,让主用节点退下来。因为主用和备用的NameNode分享了可编辑日志和报告,备用NameNode可以非常迅速地接管。
苗凯翔以Cloudera服务的六百多用户来说,其中涉及很多银行等金融行业用户,但是从没有出现过类似携程这样的事件。这主要得益于Cloudera基于Hadoop的数据管理产品。在金融行业随着各种风险和合规性的要求,数据管理已经发展到EB级别,金融服务企业和监管机构正努力应对新的合规的挑战,尤其是涉及到平衡数据管理的成本和复杂性。
目前很多企业把重要的业务负载放在Hadoop上面,业界对于大数据项目的安全需求更加迫切。我们以MasterCard为例,全球最大的信用卡服务商之一MasterCard需要满足支付卡行业标准,对于MasterCard来说,数据隐私和安全的重要性不言而喻。从各种合作伙伴和供应商那里获取最新的技术来满足严格行业安全标准,而Cloudera在满足这些安全标准的同时,为MasterCard数据中心管理带来了带来了更多的选择。Cloudera与MasterCard的合作项目,借助HDFS和Hadoop集群以及Apache Sentry,Cloudera实现了在线与离线的所有数据与元数据的保护。
Hadoop在文件系统层有很强的安全性,但对于保证用户数据访问和BI应用程序的充分安全方面,它缺乏细粒度的支持。因此,许多对安全系数要求较高的业内组织被迫做出选择,要么将数据置于非保护状态,要么将所有的用户拒之门外,大多数企业选择后者,严格限制对Hadoop数据的访问。Apache Sentry弥补了Hadoop的安全漏洞。Sentry是一个Hadoop的权限控制的开源组件。为了对正确的用户和应用程序提供精确的访问级别,Sentry提供了细粒度级、基于角色的授权以及多租户的管理模式。
对于金融、政府、医疗保健和其它对敏感数据的访问有严格监管的行业,如若使用Hadoop必须要达到以下几个要求:
周边安全:通过网络安全、防火墙和最终的认证来确认用户身份,确保集群访问的安全。
数据安全:通过屏蔽和加密技术,保护集群中的数据不会被非法访问,包括已存储的数据和传输中的数据。
访问安全:通过文件系统ACL和细粒度授权,定义授权用户和应用程序对集群数据的权限。
可见性:通过中央审计报告数据源和数据用法。
通过引进Sentry,Hadoop目前可在以下方面满足企业和政府用户的RBAC(基于角色访问控制)需求:
安全授权:Sentry可以控制数据访问,并对已通过验证的用户提供数据访问特权。
细粒度访问控制:Sentry支持细粒度的Hadoop数据和元数据访问控制。
基于角色的管理:Sentry通过基于角色的授权简化了管理,你可以轻易将访问同一数据集的不同特权级别授予多个组。例如,对于某特定数据集,你可以分配给反欺诈小组查看所有列的特权,给分析师查看非敏感或非PII(Personally Identifiable Information)列的权限,给数据接收流插入新数据到HDFS的权限。
多租户管理:Sentry允许为委派给不同管理员的不同数据集设置权限。
统一平台:Sentry为确保数据安全,提供了一个统一平台,使用现有的Hadoop Kerberos实现安全认证。同时,通过Hive或Impala访问数据时可以使用同样的Sentry协议。
此外,Cloudera借助Gazzang的数据加密技术,可以实现所有数据的安全。Gazzang提供了块级的加密技术,其产品包括Hadoop环境下的数据加密产品及访问权限管理产品,后者可以控制对键值、令牌等数据访问授权协议的访问。
对于志在成为企业数据中枢的Cloudera来说,有了Gazzang的安全技术支持,无疑可以提高其客户对环境安全的信心。除了支持Hadoop环境以外,Gazzang的加密技术还支持Cassandra、MongoDB、CouchBase、Amazon Elastic MapReduce等下一代的数据存储环境。
Cloudera Enterprise Data Hub本身集成了很多安全特性,其中Cloudera Navigator提供开箱即用的集中式安全性,来确认授权和第三方增设的安全性。
总之,我们看到Hadoop不管作为一个大数据处理引擎,在数据存储和处理方面的优势也是非常明显的。因为Hadoop生来就是为了大规模的数据存储和处理,所以在赋予了Hadoop安全性后,Hadoop成为企业数据管理的重要管理工具,其在企业数据安全管理方面的想象空间是非常大的。