企业级大数据安全架构(二)
2安全方案
2.1 Knox访问控制
Apache Knox是一个通过REST API和UI与Apache Hadoop 部署交互的应用网关。Knox网关为所有与Hadoop集群的REST和HTTP交互提供了一个单独的访问点。通过Knox可以实现访问控制。
Knox 与企业中使用的身份管理和 SSO 系统集成,并允许将这些系统的身份用于访问 Hadoop 集群。
Knox 网关为多个 Hadoop 集群提供安全性,具有以下优点:
简化访问:通过将 Kerberos 封装到群集中来扩展 Hadoop 的 REST/HTTP 服务。
提高安全性:暴露 Hadoop 的 REST/HTTP 服务,而不会透露网络细节,提供 SSL 开箱即用。
集中控制:集中执行 REST API安全性,将请求路由到多个 Hadoop 集群。
企业集成:支持 LDAP,AD,SSO,SAML 等认证系统。
典型安全流程:防火墙,通过 Knox 网关路由
Knox 可以与两个不安全的 Hadoop 集群和 Kerberos 安全集群一起使用。在采用 Kerberos 安全集群的企业解决方案中,Apache Knox Gateway 提供了企业安全解决方案:
与企业身份管理解决方案相结合
保护 Hadoop 集群部署的细节(主机和端口从最终用户隐藏)
简化客户需要交互的服务数量
2.2 数据授权与管理
现在解决大数据平台中的第二个隐患即保护大数据平台中资源安全,资源包括数据资源(HDFS、HIVE、HBASE等),系统资源包括YARN资源队列等,虽然这些系统都有各自的权限管理功能,但是比较分散比较原始,此时我们需要引入Ranger统一管理配置
Apache Ranger是一个用来在Hadoop平台上进行监控,启动服务,以及全方位数据安全访问管理的安全框架。
Ranger愿景是在Apache Hadoop生态系统中提供全面的安全管理。随着企业业务的扩展,企业可能在多用户环境中运行多个工作任务,这就要求Hadoop内的数据安全性需要扩展为同时支持多种不同的需求进行数据访问,同时还需要提供一个可以对安全策略进行集中管理,配置和监控用户访问的框架。Ranger由此产生。
2.2.1 Ranger目标
(1)允许用户使用Web UI或者Rest API对所有和安全相关的任务进行集中化的管理
(2)允许用户使用一个管理工具对操作Hadoop体系中的组件和工具的行为进行细粒度的授权
(3)支持Hadoop体系中各个组件的授权认证标准
(4)增强了对不同业务场景需求的授权方法支持,例如基于角色的授权或者基于属性的授权
(5)支持对Hadoop组件所涉及安全的审计行为的集中化管理
2.2.2 Ranger支持的框架
(1)Apache Hadoop
(2)Apache Hive
(3)Apache HBase
(4)APache Storm
(5)Apache Knox
(6)Apache Solr
(7)Apache Kafka
(8)NIFI
(9)YARN
...
2.2.3 Ranger架构
2.3 Kerberos认证机制
解决Hadoop服务的安全隐患我们的思路是引入Kerberos认证机制,通过集成Kerberos协议,就能够使用Kerberos用户代替服务器本地的Linux用户,让大数据平台中Hadoop相关服务全部使用Kerberos用户通过认证中心去认证,防止datanode regionserver等组件冒充加入集群解决了服务端到服务端的认证,也解决了客户端到服务端的认证,提升平台的安全性
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
最后整个框架是以Knox做代理访问,kerberos做前端验证,ldap做后端用户存储,Ranger做数据权限控制。