在Hadoop中保护数据
随着Hadoop进入主流并开始以生产环境中的主要方式使用,对其诸如数据库等系统的安全问题也适用于Hadoop。
在早期,Hadoop没有考虑到安全性,但增加了企业效力的安全能力是Hadoop年龄到期的主要部分。
它也是必要的部分:对于许多申请(如金融),如果我们无法提供安全保障,我们可能会违法。
本文侧重于保护信息的三个主要方面 - 适用于Hadoop的方面,因为它们将为任何其他IT系统提供:
周边管理
访问控制
加密
周边管理
IT安全中的第一个原则是严格控制系统与外界之间的边界。
因为Hadoop是一个分布式系统,这是许多计算机的,这主要是一个网络问题。
作为分布式计算平台,Hadoop集群有许多单独的计算机,每台计算机都有许多打开的端口和服务。
正如我们所希望的那样,这是一个安全噩梦,通过将群集保持在孤立的网络上,大多数管理员都是一个安全噩梦。
当用户需要运行针对Hadoop本身的应用程序时,挑战是挑战。
考虑使用共享网络部署边缘节点,以在Hadoop和外部世界之间充当网关。
然而,这一策略呈现了安全挑战。
为了满足这一挑战,Hortonworks团队已经开始开发Apache Knox项目,这可以安全地访问Hadoop集群的服务。
访问控制
安全讨论的一大部分是控制访问。
在周边控制大约最小化接入点的情况下,访问控制是确保发生的任何访问都是安全的。
验证
在访问控制的前线是身份验证,简而言之,用户是他们所说的谁。
开源社区对此区域进行了巨大的工作,使Apache Hadoop生态系统中的各种组件能够与Kerberos,良好的计算机网络认证协议一起使用。
截至2014年春季,Hadoop 1和Hadoop 2释放都是全面的Kerberos启用。
(并非每个IT商店都使用Kerberos,但其他协议,如LDAP,通过一些Hadoop分销供应商在专有产品中应用于Hadoop。
)
授权
在身份验证服务验证了用户的身份后,下一个问题正在确定该用户有权授权的信息和行为,换句话说。
目前,Hadoop的授权是相当原始的,并且仅限于文件系统级别的POSIX样式读取,写入和执行权限。
但是,正在进行重大努力来定义用户类(例如,用户角色)和访问控制列表(ACL)的管理。
例如,Hive项目将很快授予/撤消命令,使管理员能够定义哪些用户可以访问特定的表或者视图。
为此,Cloudera团队一直在担任Apache Knox项目,以管理用户角色的定义及其在Impala和Hive中访问数据的权限。
审计
访问控制拼图的最后一部分是跟踪数据访问事件,这是一些信息管理监管标准的核心要求,例如健康保险便携性和问责法(HIPAA)和支付卡行业数据安全标准(PCI) DSS)。
Hadoop能够妥善存储审核信息以记录数据访问事件,因此已经到位了核心要求。
为了保护和管理该审计数据,提供第三方工具,例如Cloudera的导航器或者IBM Guardium。
加密
在确保通过管理周边和管理访问到达数据的防御后,我们可以在发生违规状态的情况下更好地进行。
加密可以是最后的防御线。
对于磁盘上的数据,在Hadoop社区中正在激活活动,将加密作为存储在HDF中的任何数据的选项。
英特尔的分发有一个早期跳跃,因为它通过利用Hadoop从节点中使用的英特尔CPU中的专用加密指令,它能够对HDF的数据进行加密。
第三方工具也可用于加密HDFS中的数据。
由于Hadoop是一种分布式系统,它依赖于网络通信,因为它通过网络移动时加密数据是本故事的关键部分。
回到Hadoop 1,Hadoop远程过程调用(RPC)系统得到增强以支持加密。
这涵盖了数据处理所涉及的通信,例如MapReduce,但对于数据移动和Web接口,Hadoop还使用TCP/IP和HTTP。
这两种也已被保护:Hadoop的HTTP服务器现在支持HTTPS,并且可以将HDFS传输操作配置为加密。