Hadoop安全学习资料整理

本文最后更新于2018年12月11日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

最近在学习大数据安全相关的知识,主要是通过《Hadoop安全:大数据平台隐私保护》这本书,以及网上的一些文章来入门,在此整理一下在这一过程中看到的觉得还不错的资料,方便自己的同时也方便他人。

正文:

参考解答:
Hadoop安全-大数据平台隐私保护
  • 第一部分 安全架构(CIA)
  • 第二部分 验证、授权和审计(AAA)
  • 第三部分 数据安全(静态数据加密、动态数据加密)
大数据安全技术总体视图

(一)大数据平台安全
(二)数据安全
(三)隐私保护

大数据安全面临的威胁与技术
  1. 数据的真实性和完整性校验困难。黑客利用网络攻击向数据采集端注入脏数据,会破坏数据真实性,故意将数据分析的结果引向预设的方向,进而实现操纵分析结果的攻击目的。
  2. 大数据DLP 防护技术:针对使用泄露和存储泄露,通常采用身份认证管理、进程监控、日志分析和安全审计等技术手段,观察和记录操作员对计算机、文件、软件和数据的操作情况,发现、识别、监控计算机中的敏感数据的使用和流动,对敏感数据的违规使用进行警告、阻断等。针对传输泄露,通常采取敏感数据动态识别、动态加密、访问阻断、和数据库防火墙等技术,监控服务器、终端以及网络中动态传输的敏感数据,发现和阻止敏感数据通过聊天工具、网盘、微博、FTP、论坛等方式泄露出去。
  3. 密文计算技术:同态加密和安全多方计算等密文计算方法(SMPC)为解决这个难题提供了一种有效的解决思路。
  • 同态加密提供了一种对加密数据进行处理的功能,对经过同态加密的数据处理得到一个输出,将这一输出进行解密,其结果与统一方法处理未加密的原始数据得到的输出结果一致。
  • 安全多方计算(SecureMulti-PartyComputation, SMPC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,SMPC要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。
  1. 数字水印和数据血缘追踪技术
  • 数字水印技术是为了保持对分发后的数据流向追踪,在数据泄露行为发生后,对造成数据泄露的源头可进行回溯。
  • 数据血缘(Lineage,Provenance,Pedigree)亦可译为血统、起源、世系、谱系,是指数据产生的链路,数据血缘记载了对数据处理的整个历史,包括数据的起源和处理这些数据的所有后继过程。
  1. 数据脱敏技术
  • 第一种加密方法,是指标准的加密算法,加密后完全失去业务属性,属于低层次脱敏。算法开销大,适用于机密性要求高、不需要保持业务属性的场景。
  • 第二种基于数据失真的技术,最常用的是随机干扰、乱序等,是不可逆算法,通过这种算法可以生成“看起来很真实的假数据”。适用于群体信息统计或(和)需要保持业务属性的场景。
  • 第三种可逆的置换算法,兼具可逆和保证业务属性的特征,可以通过位置变换、表映射、算法映射等方式实现。
  1. 数据匿名化算法可以实现根据具体情况有条件地发布部分数据,或者数据的部分属性内容,包括差分隐私、K 匿名、L 多样性、T 接近等。
大数据平台安全体系的四个层次
  1. 外围安全;
  2. 数据安全;
  3. 访问安全;
  4. 访问行为监控。

 

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4206.html

《Hadoop安全学习资料整理》上的7个想法

  1. Hadoop in Secure Mode
    https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html
    `
    本文描述如何在安全模式下为Hadoop配置身份验证。当Hadoop被配置为以安全模式运行时,每个Hadoop服务和每个用户都必须通过Kerberos进行身份验证。

    必须正确配置所有服务主机的正向和反向主机查找,以允许服务彼此进行身份验证。主机查找可以使用DNS或/etc/hosts文件进行配置。在尝试以安全模式配置Hadoop服务之前,建议具有Kerberos和DNS的相关知识。

    Hadoop的安全特性包括身份验证、服务级别授权、Web控制台身份验证和数据保密性。
    `

  2. 一篇文章搞懂HDFS权限管理
    https://mp.weixin.qq.com/s/JU2_evATIxFezz6z8UwmEw
    https://paper.tuisec.win/detail/21ea7f2e541d642
    `
    小米的HDFS承载了公司内多个部门几十条业务线的几十PB数据,这些数据有些是安全级别非常高的用户隐私数据,也有被广泛被多个业务线使用的基础数据,不同的业务之间有着复杂的数据依赖。因此,如何管理好这些数据的授权,并尽可能自动化低成本的做好权限管理,是很重要的一部分工作。本文系统的描述了HDFS权限管理体系中与用户关联最紧密的授权相关内容,希望通过本文让大家对权限管理有一个清晰的了解。

    1、HDFS权限管理概述
    2、传统的POSIX权限模型
    3、ACLs概念介绍
    4、ACLs的示例
    `

  3. 滴滴大数据安全权限实践
    https://mp.weixin.qq.com/s/-0PGwGZ_fcssP0SxGe04xg
    `
    # 用户认证 – 自研账号密码机制
    1. 客户端
    1.1 普通客户端
    1.2 Beeline/JDBC

    2. 服务端
    2.1 Namenode 验证
    2.2 Hive Server 验证

    3. 用户管理模块

    # 权限认证 – 列级别鉴权体系
    说起滴滴的大数据权限机制,我们其实是经历了从0到1,又从1到2的过程,最早我们是基于 Hive SQL Standard-based+ HDFS UGO 机制构建了一套基于 hive 表粒度的权限体系,但是随着业务的发展和数据安全的诉求,我们在2018年对权限体系进行了重构 ,基于 Ranger 建设了基于列级别鉴权的数据权限体系,下面将具体说下,我会先讲下滴滴的数据权限的模型,以及我们是怎么实现的。
    `

  4. 干货 | 携程数据血缘构建及应用
    https://mp.weixin.qq.com/s/LGK3YPZCe6oPTf48QaAIqA
    `
    Data lineage includes the data origin, what happens to it and where it moves over time. Data lineage gives visibility while greatly simplifying the ability to trace errors back to the root cause in a data analytics process. ──百科Data lineage

    大数据时代,数据的来源极其广泛,各种类型的数据在快速产生,数据也是爆发性增长。从数据的产生,通过加工融合流转产生新的数据,到最终消亡,数据之间的关联关系可以称之为数据血缘关系。

    数据血缘是元数据管理、数据治理、数据质量的重要一环,追踪数据的来源、处理、出处,对数据价值评估提供依据,描述源数据流程、表、报表、即席查询之间的流向关系,表与表的依赖关系、表与离线ETL任务,调度平台,计算引擎之间的依赖关系。数据仓库是构建在Hive之上,而Hive的原始数据往往来自于生产DB,也会把计算结果导出到外部存储,异构数据源的表之间是有血缘关系的。

    数据血缘用途:
    追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。
    评估数据价值:从数据受众、更新量级、更新频次等几个方面给数据价值的评估提供依据。
    生命周期:直观地得到数据整个生命周期,为数据治理提供依据。
    安全管控:对源头打上敏感等级标签后,传递敏感等级标签到下游。

    本文介绍携程数据血缘如何构建及应用场景。第一版T+1构建Hive引擎的表级别的血缘关系,第二版近实时构建Hive,Spark,Presto多个查询引擎和DataX传输工具的字段级别血缘关系。

    二、构建血缘的方案
    2.1 收集方式
    方案一:只收集SQL,事后分析。
    方案二:运行时分析SQL并收集。

    2.2 开源方案
    Apache Atlas
    Linkedin DataHub

    三、携程方案
    携程采用了方案二,运行时分析SQL并收集分析结果到Kafka。由于开源方案在现阶段不满足需求,则自行开发。

    四、第一个版本-表级别血缘关系
    4.1 处理流程
    4.2 效果
    4.3 痛点
    随着计算引擎的增加,业务的增长,表级别的血缘关系已经不满足需求。
    覆盖面不足,缺少Spark ThriftServer , Presto引擎,缺少即席查询平台,报表平台等。
    关系不够实时,期望写入表后可以快速查询到关系,用户可以直观查看输入和输出,数据质量系统,调度系统可以根据任务ID查询到输出表,对表执行质量校验任务。
    图数据库Neo4j社区版为单机版本,存储数量有限,稳定性欠佳,当时使用的版本较低,对边不能使用索引(3.5支持),这使得想从关系搜索到关联的上下游较为麻烦。

    五、第二版本-字段级别血缘关系
    5.1 传输工具DataX
    5.2 计算引擎
    5.3 图数据库JanusGraph
    5.4 覆盖范围
    5.5 局限
    5.6 效果

    六、实际应用场景
    6.1 数据治理
    6.2 元数据管理
    6.3 调度系统
    6.4 敏感等级标签
    当源头的数据来自生产DB时,生产DB有些列的标签已打上了敏感等级,通过血缘关系,下游的表可以继承敏感等级,自动打上敏感标签。

    七、总结
    以上描述了携程如何构建表和字段级别的血缘关系,及在实际应用的场景。

    随着业务需求和数据的增长,数据的加工流程越来越复杂,构建一套数据血缘,可以轻松查询到数据之间的关系,进行表和字段级的血缘追溯,在元数据管理,数据治理,数据质量上承担重要一环。
    `

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注