5

大数据集群被窃取数据怎么办?透明加密可以一试

 2 years ago
source link: https://my.oschina.net/u/4526289/blog/5292349
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

摘要:传统大数据集群中,用户数据明文保存在HDFS中,集群的维护人员或者恶意攻击者可在OS层面绕过HDFS的权限控制机制或者窃取磁盘直接访问用户数据。

本文分享自华为云社区《FusionInsight MRS透明加密方案》,作者: 一枚核桃 。

概述

传统大数据集群中,用户数据明文保存在HDFS中,集群的维护人员或者恶意攻击者可在OS层面绕过HDFS的权限控制机制或者窃取磁盘直接访问用户数据。

FusionInsight MRS引入了Hadoop KMS服务并进行增强,通过对接第三方KMS,可实现数据的透明加密,保障用户数据安全。

v2-20692ea593e46b7d5f2358b4d6b1d2e2_720w.jpg

  • HDFS支持透明加密,Hive、HBase等在HDFS保存数据的上层组件也将通过HDFS加密保护,加密密钥通过HadoopKMS从第三方KMS获取。
  • 对于Kafka、Redis等业务数据直接持久化存储到本地磁盘的组件,通过基于LUKS的分区加密机制保护用户数据安全。

HDFS透明加密

v2-b0638a2dcad0dab5e86d115265c7b98c_720w.jpg

  • HDFS透明加密支持AES、SM4/CTR/NOPADDING加密算法,Hive、HBase使用HDFS透明加密做数据加密保护。SM4加密算法由A-LAB基于OpenSSL提供。
  • 加密使用的密钥从集群内的KMS服务获取,KMS服务支持基于Hadoop KMS REST API对接第三方KMS。
  • 一套FusionInsight Manager内部署一个KMS服务,KMS服务到第三方KMS使用公私钥认证,每个KMS服务在第三方KMS对应拥有一个CLK。
  • 在CLK下可以申请多个EZK,与HDFS上的加密区对应,用于加密数据加密密钥,EZK在第三方KMS中持久化保存。
  • DEK由第三方KMS生成,通过EZK加密后持久化保存到NameNode中,使用的时候使用EZK解密。
  • CLK和EZK两层密钥可以轮转。CLK作为每个集群的根密钥,在集群侧不感知,轮转完全由第三方KMS控制管理。EZK可通过FI KMS管理,轮转在FI KMS可控制管理,同时第三方KMS管理员拥有KMS内密钥的管理能力,也可以做EZK的轮转。

LUKS分区加密

对于Kafka、Redis等业务数据直接持久化存储到本地磁盘的组件,FusionInsight集群支持基于LUKS的分区加密进行敏感信息保护。

FusionInsight安装过程的脚本工具使用Linux统一密钥设置(Linux Unified Key Setup,简称LUKS)分区加密方案,该方案加密分区时会在集群每个节点生成或者从第三方KMS获取访问密钥,用于加密数据密钥,以保护数据密钥安全性。磁盘分区加密后,重启操作系统或者更换磁盘场景下,系统能够自动获取密钥并挂载或创建新的加密分区。

点击关注,第一时间了解华为云新鲜技术~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK