论文部分内容阅读
【摘要】 大数据产业是目前国家信息产业的重点发展方向。越来越多的单位和企业都开始使用大数据系统存储重要且敏感的数据,这些数据是企业长期积累的财富,必须严密保护。但是大数据系统也带来了全新的安全挑战,如果不能很好的应对这个挑战,企业的数据就会面临巨大的风险,势必会影响人们使用大数据系统的信心。
【关键词】 hadoop安全 大數据安全 计算机集群安全 组件安全
一、Hadoop面临的安全挑战
大数据产业是目前国家信息产业的重点发展方向。越来越多的单位和企业都开始使用大数据系统存储重要且敏感的数据,这些数据是企业长期积累的财富,必须严密保护。但是大数据系统也带来了全新的安全挑战,如果不能很好的应对这个挑战,企业的数据就会面临巨大的风险,势必会影响人们使用大数据系统的信心。
Hadoop集成了数据采集、数据存储、数据分析、数据展示等各方面的多个组件,是目前最常用的处理大数据的架构。但hadoop的安全性是比较差的,因为hadoop设计初衷是为搜索引擎建立网页索引,本来是在企业内部可信环境下使用的,安全并不是其重点考虑的问题,加上hadoop服务组件众多,所以hadoop平台天生就有认证分散,弱授权、弱审计且分散的特点,给安全工作带来很大的不便。它面临的安全风险主要体现在以下几个方面:
1.具有集群规模大、内部互信度高的特点,集群内部机器存在SSH免密登录的问题,因此只要集群内部一台机器被入侵,往往整个集群都沦陷。2.系统是为了数据共享,所以是开放的,与之交互的外部应用系统和用户也可能是动态变化的,这会给大数据系统认证和权限管理带来很大麻烦。3.系统组件多,且各个组件弱认证、弱授权、弱审计,存在着很大的安全风险。4.系统内部能够动态扩容,新加入的机器也可能会带来新的安全隐患。5.系统的存储、传输都采用明文形式,很容易造成信息泄露。
二、Hadoop安全防护研究
针对hadoop集群规模大机器多、内部互信度高(存在SSH免密登录)的特点,我们设计了封闭的大数据集群安全架构。用户不能直接访问大数据集群的任何一台设备和服务,所有服务都通过映射关系在安全系统上提供接口给用户,也就是说必须通过安全系统才能访问大数据里的服务。这样大数据集群里的任何一台机器都不会直接暴露在攻击者面前,避免了一台机器有漏洞被入侵导致整个集群被控制的情况出现。
hadoop集群各个服务组件用户认证不统一,而且有的服务根本不需要认证,在集群规模不断变化的情况下很容易造成身份认证管理的混乱,给集群的易用性和安全性带来很大风险。我们需要提供统一身份认证,解决了身份认证管理的混乱的问题,大大提高了集群的安全性和易用性。
hadoop大数据集群各个服务组件有多个不同访问方式,由于入口众多,给用户审计带来了很大的麻烦,往往只有部分组件的单独审计,无法做到全面审计。我们需要实现全面审计,清晰的展现出哪个用户在什么时间访问了哪个服务,进行了什么操作,结果如何,并提供统一的界面查询。
三、大数据安全桶架构和实现原理
系统架构图如下:
大数据安全桶从架构上分为以下几个模块:
3.1数据代理模块
是用户和大数据信息交互的桥梁,将外部的用户访问请求转发给大数据集群,然后将大数据集群的响应重写后返回给用户。
数据代理模块是整个解决方案的核心模块,它是用户访问大数据集群的入口,用户不能直接访问大数据集群的任何一台设备和服务,只能通过代理模块才能访问,这样就实现大数据平台的边界安全控制,实现了封闭的大数据集群安全架构。
代理模块提供了RESTFUL API和WEB UI访问接口,接管所有用户请求(如WEB UI访问、HDFS内容查看、Hive/HBase数据操作等),并把大数据集群组件返回的响应转发给用户。代理模块使用TLS加密传输协议,确保用户数据在传输过程中不会被非法窃取。
数据代理模块还通过其他模块一起为用户提供身份认证,访问授权和应用访问审计功能。比如通过身份管理模块接口为用户提供身份认证功能,通过访问控制模块提供细粒度的访问权限控制,为大数据应用审计系统提供用户请求记录。
数据代理模块还可以根据规则过滤掉不正常的数据流,防止恶意用户对大数据集群的攻击。
3.2账户管理和认证模块
集中保存了大数据集群的用户身份信息,并提供身份认证功能。
账户管理和认证模块统一管理整个平台的用户及应用账号,采用LDAP技术,提供LDAP目录访问协议接口,解决方案的其他各个模块可以通过接口进行用户身份认证和获取用户账号信息。
LDAP这种轻量级目录访问方式共享认证已成为一种行业标准,大多数系统均支持LDAP的认证方式,例如kerberos、knox、Ranger。
LDAP主要特点:1.简单;2.树形结构;3.有权限控制(ACL);4.schema来控制数据结构;5.可以安全访问(STLS或者SSL);6.有简单的LDAP语法。
采用LDAP方式为以后系统扩展提供了方便。
3.3访问控制模块
对用户访问权限进行控制,决定用户能访问集群里的哪些服务。
访问控制模块提供细粒度的访问权限控制,决定用户对集群中各个资源有什么类型的操作权限。
访问控制模块主要由以下三个部分构成:
Server: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。
Plugin: 嵌入到各系统执行流程中,定期从Server拉取策略,根据策略决定用户请求是否放行。 UserSync: 定期从平台身份管理系统的LDAP接口中加载用户,上报给Server,实现用户身份的统一管理。
3.4审计模块
记录和展示用户的对大数据集群访问信息,为统计、追溯提供依据。
审计模块主要是审计外部用户访问大数据系统产生的日志,为用户画像等功能提供原始分析數据。
审计模块采用大数据分析技术架构,针对Apache Hadoop, Hive, HBase, Storm, Solr, Kafka, YARN, Spark, ElasticSearch等大数据应用操作。
在大数据共享开放平台日常业务运行及安全维护中会产生大量的数据,其中包含了大量的有用信息,审计模块通过采集各个组件运行过程中产生的数据,基于强大的关联分析引擎,提供全维度、跨设备、细粒度的关联分析,还原事件背后的信息,为客户提供真正可信赖的系统现状和事件追责依据。协助用户全面审计大数据系统整体安全状况。平台的数据也可为后续的用户画像等应用提供数据,提高相关工作的准确性和效率。
3.5WEB控制台
大数据安全桶的用户交互界面。主要提供以下功能:
用户认证:提供用户名和密码输入框用于身份认证,提供导航链接访问各个组件WEB UI管理界面,还提供连接手册通过API方式访问组件。
统计仪表盘:通过仪表盘展示目前受保护的集群数量、集群内服务组件数量、本日会话、本日访问、本日有效攻击数量等信息。
访问统计:通过趋势图和饼图的方式展示一周访问量趋势、一周会话量趋势、一周集群访问TOP5、一周用户访问TOP5、一周服务访问TOP5等信息。
攻击记录:列出对集群的攻击行为,可显示攻击发生时间,攻击名称,被攻击的集群等信息。
系统配置:提供添加、修改、删除用户,访问授权等管理功能。
四、大数据安全桶的操作流程
4.1用户使用流程
用户要访问大数据集群,首先登录大数据安全桶进行身份认证。在安全桶系统里,用户可以看到自己能访问的集群和组件,然后点击组件旁边的按钮就能访问对应组件的WEB UI。点击组件旁边的另一个按钮可以看到该组件REST API访问方法,包括路径、用户名密码等,用户可以根据提示使用API跟大数据集群的组件进行交互。
4.2大数据安全桶管理流程
管理员首先通过身份认证进入安全桶系统,在安全桶里,管理员可以添加要保护的集群,集群包括节点和组件的信息,配置安全桶和大数据集群各组件的映射关系。添加要访问大数据集群的用户,并设置这些用户的访问权限。配置好后,用户就能使用账号登陆安全桶访问大数据集群了。
4.3大数据安全桶监控流程
安全人员登录大数据安全桶进行身份认证,在安全桶主页上通过图表等形式展示各集群、组件的访问情况,以及黑客对大数据集群尝试攻击情况。通过审计页面可以查询用户访问大数据集群的详细数据。
五、大数据安全桶部署方式
部署主要分为两个步骤:
首先封闭整个大数据集群,集群里的每个节点外部都不可访问,这样每个节点即使有漏洞也不会直接暴露在攻击者面前,大大提高了整个系统的安全性。
然后部署大数据安全桶系统,将安全桶与大数据集群联通,使安全桶成为访问大数据集群的唯一通道。我们在安全桶上集成了用户认证、访问控制、访问审计、集群内部监控等安全功能。用户在安全桶上就能实现整个集群的安全加固和审计监控。
大数据安全桶分LDAP用户帐号管理服务器,大数据安全网关模块、web交互页面服务三个部分组成。三部分可以部署到同一台服务器上,也可以分开部署,通过网络相互通信。
LDAP服务器是目前比较常用的身份认证系统,多个应用系统可以通过LDAP实现统一身份认证,大数据安全桶采用LDAP实现一个或多个安全网关模块的身份认证。
安全网关模块是安全桶的核心模块,预留了多个安全网关并联部署的接口。
web交互页面服务为大数据安全桶提供用户交互页面,用户通过web页面使用安全桶提供的各项功能。
安装好大数据安全桶后,先将hadoop集群与外界阻断,只有安全网关模块可以访问集群,然后通过安全桶的集群管理功能添加集群和组件,并建立各个组件的映射关系。最后可能要修改下用户原来的连接URL,因为原来的通路已阻断,必须通过安全桶访问。
【关键词】 hadoop安全 大數据安全 计算机集群安全 组件安全
一、Hadoop面临的安全挑战
大数据产业是目前国家信息产业的重点发展方向。越来越多的单位和企业都开始使用大数据系统存储重要且敏感的数据,这些数据是企业长期积累的财富,必须严密保护。但是大数据系统也带来了全新的安全挑战,如果不能很好的应对这个挑战,企业的数据就会面临巨大的风险,势必会影响人们使用大数据系统的信心。
Hadoop集成了数据采集、数据存储、数据分析、数据展示等各方面的多个组件,是目前最常用的处理大数据的架构。但hadoop的安全性是比较差的,因为hadoop设计初衷是为搜索引擎建立网页索引,本来是在企业内部可信环境下使用的,安全并不是其重点考虑的问题,加上hadoop服务组件众多,所以hadoop平台天生就有认证分散,弱授权、弱审计且分散的特点,给安全工作带来很大的不便。它面临的安全风险主要体现在以下几个方面:
1.具有集群规模大、内部互信度高的特点,集群内部机器存在SSH免密登录的问题,因此只要集群内部一台机器被入侵,往往整个集群都沦陷。2.系统是为了数据共享,所以是开放的,与之交互的外部应用系统和用户也可能是动态变化的,这会给大数据系统认证和权限管理带来很大麻烦。3.系统组件多,且各个组件弱认证、弱授权、弱审计,存在着很大的安全风险。4.系统内部能够动态扩容,新加入的机器也可能会带来新的安全隐患。5.系统的存储、传输都采用明文形式,很容易造成信息泄露。
二、Hadoop安全防护研究
针对hadoop集群规模大机器多、内部互信度高(存在SSH免密登录)的特点,我们设计了封闭的大数据集群安全架构。用户不能直接访问大数据集群的任何一台设备和服务,所有服务都通过映射关系在安全系统上提供接口给用户,也就是说必须通过安全系统才能访问大数据里的服务。这样大数据集群里的任何一台机器都不会直接暴露在攻击者面前,避免了一台机器有漏洞被入侵导致整个集群被控制的情况出现。
hadoop集群各个服务组件用户认证不统一,而且有的服务根本不需要认证,在集群规模不断变化的情况下很容易造成身份认证管理的混乱,给集群的易用性和安全性带来很大风险。我们需要提供统一身份认证,解决了身份认证管理的混乱的问题,大大提高了集群的安全性和易用性。
hadoop大数据集群各个服务组件有多个不同访问方式,由于入口众多,给用户审计带来了很大的麻烦,往往只有部分组件的单独审计,无法做到全面审计。我们需要实现全面审计,清晰的展现出哪个用户在什么时间访问了哪个服务,进行了什么操作,结果如何,并提供统一的界面查询。
三、大数据安全桶架构和实现原理
系统架构图如下:
大数据安全桶从架构上分为以下几个模块:
3.1数据代理模块
是用户和大数据信息交互的桥梁,将外部的用户访问请求转发给大数据集群,然后将大数据集群的响应重写后返回给用户。
数据代理模块是整个解决方案的核心模块,它是用户访问大数据集群的入口,用户不能直接访问大数据集群的任何一台设备和服务,只能通过代理模块才能访问,这样就实现大数据平台的边界安全控制,实现了封闭的大数据集群安全架构。
代理模块提供了RESTFUL API和WEB UI访问接口,接管所有用户请求(如WEB UI访问、HDFS内容查看、Hive/HBase数据操作等),并把大数据集群组件返回的响应转发给用户。代理模块使用TLS加密传输协议,确保用户数据在传输过程中不会被非法窃取。
数据代理模块还通过其他模块一起为用户提供身份认证,访问授权和应用访问审计功能。比如通过身份管理模块接口为用户提供身份认证功能,通过访问控制模块提供细粒度的访问权限控制,为大数据应用审计系统提供用户请求记录。
数据代理模块还可以根据规则过滤掉不正常的数据流,防止恶意用户对大数据集群的攻击。
3.2账户管理和认证模块
集中保存了大数据集群的用户身份信息,并提供身份认证功能。
账户管理和认证模块统一管理整个平台的用户及应用账号,采用LDAP技术,提供LDAP目录访问协议接口,解决方案的其他各个模块可以通过接口进行用户身份认证和获取用户账号信息。
LDAP这种轻量级目录访问方式共享认证已成为一种行业标准,大多数系统均支持LDAP的认证方式,例如kerberos、knox、Ranger。
LDAP主要特点:1.简单;2.树形结构;3.有权限控制(ACL);4.schema来控制数据结构;5.可以安全访问(STLS或者SSL);6.有简单的LDAP语法。
采用LDAP方式为以后系统扩展提供了方便。
3.3访问控制模块
对用户访问权限进行控制,决定用户能访问集群里的哪些服务。
访问控制模块提供细粒度的访问权限控制,决定用户对集群中各个资源有什么类型的操作权限。
访问控制模块主要由以下三个部分构成:
Server: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。
Plugin: 嵌入到各系统执行流程中,定期从Server拉取策略,根据策略决定用户请求是否放行。 UserSync: 定期从平台身份管理系统的LDAP接口中加载用户,上报给Server,实现用户身份的统一管理。
3.4审计模块
记录和展示用户的对大数据集群访问信息,为统计、追溯提供依据。
审计模块主要是审计外部用户访问大数据系统产生的日志,为用户画像等功能提供原始分析數据。
审计模块采用大数据分析技术架构,针对Apache Hadoop, Hive, HBase, Storm, Solr, Kafka, YARN, Spark, ElasticSearch等大数据应用操作。
在大数据共享开放平台日常业务运行及安全维护中会产生大量的数据,其中包含了大量的有用信息,审计模块通过采集各个组件运行过程中产生的数据,基于强大的关联分析引擎,提供全维度、跨设备、细粒度的关联分析,还原事件背后的信息,为客户提供真正可信赖的系统现状和事件追责依据。协助用户全面审计大数据系统整体安全状况。平台的数据也可为后续的用户画像等应用提供数据,提高相关工作的准确性和效率。
3.5WEB控制台
大数据安全桶的用户交互界面。主要提供以下功能:
用户认证:提供用户名和密码输入框用于身份认证,提供导航链接访问各个组件WEB UI管理界面,还提供连接手册通过API方式访问组件。
统计仪表盘:通过仪表盘展示目前受保护的集群数量、集群内服务组件数量、本日会话、本日访问、本日有效攻击数量等信息。
访问统计:通过趋势图和饼图的方式展示一周访问量趋势、一周会话量趋势、一周集群访问TOP5、一周用户访问TOP5、一周服务访问TOP5等信息。
攻击记录:列出对集群的攻击行为,可显示攻击发生时间,攻击名称,被攻击的集群等信息。
系统配置:提供添加、修改、删除用户,访问授权等管理功能。
四、大数据安全桶的操作流程
4.1用户使用流程
用户要访问大数据集群,首先登录大数据安全桶进行身份认证。在安全桶系统里,用户可以看到自己能访问的集群和组件,然后点击组件旁边的按钮就能访问对应组件的WEB UI。点击组件旁边的另一个按钮可以看到该组件REST API访问方法,包括路径、用户名密码等,用户可以根据提示使用API跟大数据集群的组件进行交互。
4.2大数据安全桶管理流程
管理员首先通过身份认证进入安全桶系统,在安全桶里,管理员可以添加要保护的集群,集群包括节点和组件的信息,配置安全桶和大数据集群各组件的映射关系。添加要访问大数据集群的用户,并设置这些用户的访问权限。配置好后,用户就能使用账号登陆安全桶访问大数据集群了。
4.3大数据安全桶监控流程
安全人员登录大数据安全桶进行身份认证,在安全桶主页上通过图表等形式展示各集群、组件的访问情况,以及黑客对大数据集群尝试攻击情况。通过审计页面可以查询用户访问大数据集群的详细数据。
五、大数据安全桶部署方式
部署主要分为两个步骤:
首先封闭整个大数据集群,集群里的每个节点外部都不可访问,这样每个节点即使有漏洞也不会直接暴露在攻击者面前,大大提高了整个系统的安全性。
然后部署大数据安全桶系统,将安全桶与大数据集群联通,使安全桶成为访问大数据集群的唯一通道。我们在安全桶上集成了用户认证、访问控制、访问审计、集群内部监控等安全功能。用户在安全桶上就能实现整个集群的安全加固和审计监控。
大数据安全桶分LDAP用户帐号管理服务器,大数据安全网关模块、web交互页面服务三个部分组成。三部分可以部署到同一台服务器上,也可以分开部署,通过网络相互通信。
LDAP服务器是目前比较常用的身份认证系统,多个应用系统可以通过LDAP实现统一身份认证,大数据安全桶采用LDAP实现一个或多个安全网关模块的身份认证。
安全网关模块是安全桶的核心模块,预留了多个安全网关并联部署的接口。
web交互页面服务为大数据安全桶提供用户交互页面,用户通过web页面使用安全桶提供的各项功能。
安装好大数据安全桶后,先将hadoop集群与外界阻断,只有安全网关模块可以访问集群,然后通过安全桶的集群管理功能添加集群和组件,并建立各个组件的映射关系。最后可能要修改下用户原来的连接URL,因为原来的通路已阻断,必须通过安全桶访问。