近期的一系列互聯網安全事件給企業敲響了信息安全的警鐘,這也就談到了企業數據災備的問題。這個問題已經是老生常談了,而且各種廠商也推出了名目繁多的各種方案,比如雙活、兩地三中心等等概念。通常根據容災系統對災難的抵抗程度,可分為數據容災和應用容災。數據容災是指建立一個異地的數據系統,對關鍵的數據進行備份存儲,當故障造成本地數據丟失時,可以通過備份找回;應用容災層次更高,即在異地建立一套完整的、與本地數據系統相當的備份應用系統,在災難出現后,遠程應用系統迅速接管或承擔本地應用系統的業務運行。
根據某在線旅游網站的聲明,其后臺是一個由SOA(面向服務)架構組成的龐大服務器集群,看似簡單的一個頁面背后由上千個應用子系統以及上千個Web Service組成,而每個應用子系統和每個Web Service之間都存在著相互調用的依賴關系。發生事件后,攜程的技術人員除了需要恢復生產服務器上的執行代碼以外,還要恢復并確保每個應用子系統以及每個Web Service的功能正常,同時確保應用子系統與Web Service間的調用關系得以正常執行。因此才花費了十二個小時。
其實很多企業安全時間歸結于管理問題,但是管理問題其實可以從技術上進行實現。Cloudera公司副總裁苗凱翔博士談及近期互聯網安全事件時,他表示,這些安全事故對于用戶造成的影響還是蠻大的,雖然在技術人員看來這些事故的嚴重程度并不大,但是帶給企業的思考是長遠的。數據安全雖然很多情況下是源自管理問題,但是企業可以采用比較先進的技術來彌補管理上的漏洞。就拿災備來說,其實Hadoop就是不錯的解決方案,Hadoop不論是從底層的HDFS存儲系統還是其他管理組件都采用了HA(高可用)設計。
Hadoop是目前最熱門的大數據計算系統,它實現了一個可擴展的分布式文件系統HDFS作為海量數據的存儲系統。HDFS是主從式的分布式系統,NameNode管理整個文件系統的元數據,負責數據的分配,并管理著DataNode;而DataNode負責存儲數據塊,按塊提供數據存取服務。
HDFS集群是由一個NameNode和多個DataNode組成的主從結構。NameNode是個數據管理器,負責管理HDFS文件和塊,還有文件系統的命名空間。該信息作為命名空間鏡像和可編輯的日志永久保存在本地驅動器上。NameNode還存儲非持久性的信息,例如給定文件中所有塊(Block)的位置。 HDFS文件被分成塊,然后復制和存儲在DataNode上。每個DataNode定期與NameNode同步塊信息。
Hadoop建立了主備的NameNode配置,以此避免了單點故障。當保守的故障切換控制器(Failover Controller)檢測到故障,它可以讓備用節點接管,讓主用節點退下來。因為主用和備用的NameNode分享了可編輯日志和報告,備用NameNode可以非常迅速地接管。
苗凱翔以Cloudera服務的六百多用戶來說,其中涉及很多銀行等金融行業用戶,但是從沒有出現過類似攜程這樣的事件。這主要得益于Cloudera基于Hadoop的數據管理產品。在金融行業隨著各種風險和合規性的要求,數據管理已經發展到EB級別,金融服務企業和監管機構正努力應對新的合規的挑戰,尤其是涉及到平衡數據管理的成本和復雜性。
目前很多企業把重要的業務負載放在Hadoop上面,業界對于大數據項目的安全需求更加迫切。我們以MasterCard為例,全球最大的信用卡服務商之一MasterCard需要滿足支付卡行業標準,對于MasterCard來說,數據隱私和安全的重要性不言而喻。從各種合作伙伴和供應商那里獲取最新的技術來滿足嚴格行業安全標準,而Cloudera在滿足這些安全標準的同時,為MasterCard數據中心管理帶來了帶來了更多的選擇。Cloudera與MasterCard的合作項目,借助HDFS和Hadoop集群以及Apache Sentry,Cloudera實現了在線與離線的所有數據與元數據的保護。
Hadoop在文件系統層有很強的安全性,但對于保證用戶數據訪問和BI應用程序的充分安全方面,它缺乏細粒度的支持。因此,許多對安全系數要求較高的業內組織被迫做出選擇,要么將數據置于非保護狀態,要么將所有的用戶拒之門外,大多數企業選擇后者,嚴格限制對Hadoop數據的訪問。Apache Sentry彌補了Hadoop的安全漏洞。Sentry是一個Hadoop的權限控制的開源組件。為了對正確的用戶和應用程序提供精確的訪問級別,Sentry提供了細粒度級、基于角色的授權以及多租戶的管理模式。
對于金融、政府、醫療保健和其它對敏感數據的訪問有嚴格監管的行業,如若使用Hadoop必須要達到以下幾個要求:
周邊安全:通過網絡安全、防火墻和最終的認證來確認用戶身份,確保集群訪問的安全。
數據安全:通過屏蔽和加密技術,保護集群中的數據不會被非法訪問,包括已存儲的數據和傳輸中的數據。
訪問安全:通過文件系統ACL和細粒度授權,定義授權用戶和應用程序對集群數據的權限。
可見性:通過中央審計報告數據源和數據用法。
通過引進Sentry,Hadoop目前可在以下方面滿足企業和政府用戶的RBAC(基于角色訪問控制)需求:
安全授權:Sentry可以控制數據訪問,并對已通過驗證的用戶提供數據訪問特權。
細粒度訪問控制:Sentry支持細粒度的Hadoop數據和元數據訪問控制。
基于角色的管理:Sentry通過基于角色的授權簡化了管理,你可以輕易將訪問同一數據集的不同特權級別授予多個組。例如,對于某特定數據集,你可以分配給反欺詐小組查看所有列的特權,給分析師查看非敏感或非PII(Personally Identifiable Information)列的權限,給數據接收流插入新數據到HDFS的權限。
多租戶管理:Sentry允許為委派給不同管理員的不同數據集設置權限。
統一平臺:Sentry為確保數據安全,提供了一個統一平臺,使用現有的Hadoop Kerberos實現安全認證。同時,通過Hive或Impala訪問數據時可以使用同樣的Sentry協議。
此外,Cloudera借助Gazzang的數據加密技術,可以實現所有數據的安全。Gazzang提供了塊級的加密技術,其產品包括Hadoop環境下的數據加密產品及訪問權限管理產品,后者可以控制對鍵值、令牌等數據訪問授權協議的訪問。
對于志在成為企業數據中樞的Cloudera來說,有了Gazzang的安全技術支持,無疑可以提高其客戶對環境安全的信心。除了支持Hadoop環境以外,Gazzang的加密技術還支持Cassandra、MongoDB、CouchBase、Amazon Elastic MapReduce等下一代的數據存儲環境。
Cloudera Enterprise Data Hub本身集成了很多安全特性,其中Cloudera Navigator提供開箱即用的集中式安全性,來確認授權和第三方增設的安全性。
總之,我們看到Hadoop不管作為一個大數據處理引擎,在數據存儲和處理方面的優勢也是非常明顯的。因為Hadoop生來就是為了大規模的數據存儲和處理,所以在賦予了Hadoop安全性后,Hadoop成為企業數據管理的重要管理工具,其在企業數據安全管理方面的想象空間是非常大的。