大數據集群被竊取數據怎麼辦?透明加密可以一試
摘要:傳統大數據集群中,用戶數據明文保存在HDFS中,集群的維護人員或者惡意攻擊者可在OS層面繞過HDFS的許可權控制機制或者竊取磁碟直接訪問用戶數據。
本文分享自華為雲社區《FusionInsight MRS透明加密方案》,作者: 一枚核桃 。
概述
傳統大數據集群中,用戶數據明文保存在HDFS中,集群的維護人員或者惡意攻擊者可在OS層面繞過HDFS的許可權控制機制或者竊取磁碟直接訪問用戶數據。
FusionInsight MRS引入了Hadoop KMS服務並進行增強,通過對接第三方KMS,可實現數據的透明加密,保障用戶數據安全。
- HDFS支援透明加密,Hive、HBase等在HDFS保存數據的上層組件也將通過HDFS加密保護,加密密鑰通過HadoopKMS從第三方KMS獲取。
- 對於Kafka、Redis等業務數據直接持久化存儲到本地磁碟的組件,通過基於LUKS的分區加密機制保護用戶數據安全。
HDFS透明加密
- 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獲取訪問密鑰,用於加密數據密鑰,以保護數據密鑰安全性。磁碟分區加密後,重啟作業系統或者更換磁碟場景下,系統能夠自動獲取密鑰並掛載或創建新的加密分區。