前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >保护Hadoop环境

保护Hadoop环境

作者头像
大数据杂货铺
发布2020-02-11 16:15:28
1.1K0
发布2020-02-11 16:15:28
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

Hadoop于2007年首次发布时,其目的是在受信任的环境中管理大量Web数据,因此安全性不是重点,也不是聚焦点。随着采用率的上升和Hadoop演变成企业技术,它逐渐发展成为一种不安全的平台而享有盛誉。最初的Hadoop安全性的大多数缺陷已在后续版本中得到解决,但感觉变化比较缓慢。Hadoop的安全声誉和现实远不匹配。

实际上,Hadoop实施之间的安全性是非常不一致的,这是因为内置的安全性和可用选项在发行版本之间是不一致的。还需要注意的是,来自软件供应商(例如Cloudera,Hortonworks,MapR)的商业Hadoop发行版具有附加的专有安全性,而免费提供的Apache Hadoop免费发行版中没有这些安全性。

新的Hadoop部署可能非常安全,但是许多旧的Hadoop实施仍可能存在安全漏洞。本节重点介绍了历史上的Hadoop安全漏洞,并指出了可用于解决这些漏洞的资源和策略。

在谈论信息安全时,很容易很快就迷失在细节中。为了最大程度地减少混乱,我们将重点关注三个基本领域:

  • 数据在存储(静止)时以及在网络中移动(移动中)时如何加密或以其他方式保护数据
  • 系统和用户在访问Hadoop基础架构中的数据之前如何进行身份验证
  • 在环境中如何管理对不同数据的访问

Knox,Ranger简化安全管理

Hadoop生态系统有资源来支持安全性。Knox和Ranger是两个重要的Apache开源项目。Knox提供了用于管理安全性的框架,并支持Hadoop集群上的安全性实施。

Ranger项目专注于开发工具和技术,以帮助用户跨Hadoop集群部署和标准化安全性。它提供了一个集中式框架,可用于管理资源级别的策略,例如文件、文件夹、数据库、甚至数据库中的特定行和列。Ranger帮助管理员按组、数据类型等实现访问策略。Ranger对不同的Hadoop组件(例如YARN、HBase、Hive等)具有不同的授权功能。

Knox是在Apache社区内开发的REST API网关,用于支持对Hadoop集群的监视、授权管理、审计和策略实施。它为与群集的所有REST交互提供了单个访问点。通过Knox,系统管理员可以通过LDAP和Active Directory管理身份验证,进行基于HTTP标头的联合身份管理,以及在群集上审核硬件。Knox还支持增强的安全性,因为它可以与企业身份管理解决方案集成并且与Kerberos兼容。

Hadoop加密

原始的Hadoop版本不包含加密。更高的版本包括端到端加密,可以保护在Hadoop集群中静止的数据和在网络中移动时的数据。在当前版本中,HFDS中存储或通过HFDS访问的所有数据均已可以加密。Hadoop支持在磁盘、文件系统、数据库和应用程序级别进行加密。

在Hadoop核心技术中,HFDS具有称为加密区域的目录。将数据写入Hadoop后,将自动对其进行加密(使用用户选择的算法),并将其分配给加密区域。加密特定于文件,而不特定于区域。这意味着该区域内的每个文件都使用其自己的唯一数据加密密钥(DEK)进行加密。客户端使用加密的数据加密密钥(EDEK)HFDS解密数据,然后使用DEK读取和写入数据。加密区域和DEK加密发生在体系结构的文件系统和数据库级别之间。

需要管理加密密钥,这是Hadoop 密钥管理服务器(即KMS)的工作。KMS生成加密密钥,管理对存储密钥的访问,并管理HDFS客户端上的加密和解密。KMS是具有客户端和服务器组件的Java Web应用程序,它们使用HTTP和REST API相互通信。KMS中的安全性包括HTTPS安全传输和对HTTP SPNEGO Kerboros身份验证的支持。

Hadoop发行供应商和其他解决方案提供商已开发了特定于其产品或适用于整个Hadoop环境的附加安全性。许多增强功能致力于在移动数据时保护Hadoop数据。例如,存在可以应用于通过HTTP、RPC、数据传输协议(DTP)和JDBC传输的Hadoop数据的Wire加密协议。还为JDBC客户端和MapReduce改组提供了SSL保护,为网络RPC提供了SASL等。

Hadoop身份验证

Hadoop环境中的身份验证经历了快速而广泛的发展。最初的Hadoop版本不包含任何用于验证用户身份的条款,因为这是旨在在受信任环境中使用的有限项目。随后的发行版为HDFS中的文件添加了有限的权限管理功能,但是Hadoop仍未能提供企业级身份验证安全性。快进到今天,企业用于其核心IT基础架构的用户身份验证和身份管理解决方案可以扩展到Hadoop环境。

如今,Hadoop可在安全或非安全模式下进行配置。主要区别在于安全模式要求对每个用户和服务进行身份验证。Kerberos是Hadoop安全模式下身份验证的基础。数据作为身份验证过程的一部分进行加密。

许多组织使用其Active Directory或LDAP解决方案在Hadoop环境中执行身份验证。该方法以前与Hadoop环境不兼容,并且很好地表示了Hadoop的成熟和发展方式。来自Apache Hadoop项目的Knox API用于将Active Directory或LDAP扩展到Hadoop集群。它还用于将联合身份管理解决方案扩展到环境中。

Hadoop访问和权限

对用户或服务请求进行身份验证不会自动为它授予对Hadoop集群中所有数据的不受限制的访问权限。可以为部分HDFS甚至特定文件和数据类型设置访问权限。如前所述,Ranger促进了权限的建立和实施。也可以使用其他资源。HDFS权限指南是允许设置包含在HFDS目录和文件权限的管理员的组件。可以在组和个人级别上设置权限。权限包括谁可以访问文件、更新文件、删除文件等。服务级别授权是一项单独的功能,用于验证尝试连接到特定Hadoop服务的客户端是否有权访问该服务。像《 HDFS权限指南》一样,服务级别授权支持个人和组权限。Sentry是一个与Hive、HDFS数据表、Impala和其他组件一起使用的模块,旨在为Hadoop集群中的数据和元数据提供更精细的权限管理。

Ranger,HDFS权限指南,服务级别授权和Sentry是Hadoop项目的一部分。再次,各种Hadoop商业版本中都内置了其他权限保护以及相关的安全性和管理功能。

企业通常还使用各种商业解决方案在Hadoop中执行数据掩码。数据掩码是指隐藏原始数据记录(通过加密)的做法,这样未经授权的用户就无法访问它们。数据掩码是在大数据环境中完成的,因为许多应用程序需要来自数据集的某些信息,而不是完整的记录。例如,影像诊所可能需要知道六个月内在一家机构中有多少患者接受了乳房X光检查,而无需知道患者的结果或完整的病史。患者结果数据将与需要不同权限的临床医生有关。

过去和现在的Hadoop安全性

组件

最初的HADOOP版本

现在包括/可用

加密

不包含

DEK加密自动应用于HFDS和运动中的数据;其他针对每个商业发行版的数据保护功能;KMS管理加密密钥;Kerberos是常用的。其他加密方法是Hadoop兼容/可用的。

认证方式

没有

Kerberos是Hadoop安全模式的基础;Active Directory和LDAP扩展到Hadoop;身份管理解决方案扩展到Hadoop。

访问和权限

HDFS文件权限

可以按个人,组和角色设置权限,也可以为特定的数据类型和文件设置权限;数据掩码可以应用于限制访问的数据。

使用Hadoop解决大数据安全性问题

从定义上讲,大数据是大数据,但一种万能的安全方法是不合适的。Hadoop中的功能使组织可以优化安全性,以满足Hadoop环境中所有单独数据资产的用户,合规性和公司要求。诸如角色,用户和组权限,数据掩码以及多种加密和身份验证选项之类的功能使在单个大型环境中提供不同级别的安全性变得切实可行。Hadoop与Active Directory,LDAP和身份管理解决方案之间日益增长的集成支持使组织可以扩展其企业安全解决方案,因此Hadoop基础架构不必成为孤岛。

安全性是Hadoop变化最快的方面之一。功能不断增强和超越。有关最新的安全更新,请与Apache项目或Hadoop发行商联系。

来源:https://www.bmc.com/blogs/hadoop-security/

作者介绍:Walker Rowe是一名自由技术作家和程序员。他专门研究大数据,分析和编程语言。在LinkedIn或Upwork上找到他。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档