国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Hadoop大數(shù)據(jù)平臺安全問題和解決方案的綜述①

2018-02-07 02:41麗,黃晉,王
計算機系統(tǒng)應用 2018年1期
關鍵詞:身份驗證集群組件

陳 麗,黃 晉,王 銳

1(廣東交通職業(yè)技術學院 信息學院,廣州 510650)2(華南師范大學 計算機學院,廣州 510631)3(中國移動通信集團廣東有限公司,廣州 510623)

所謂大數(shù)據(jù),狹義上可以定義為難以用現(xiàn)有的一般技術管理的大量數(shù)據(jù)的集合.大數(shù)據(jù)難以管理的原因,可以用3V來描述即Volume(容量)、Variety(多樣性)、Velocity(產(chǎn)生頻率、更新頻率)[1],如圖1所示.

圖1 大數(shù)據(jù)的 3V 描述

從廣義上來說,大數(shù)據(jù)可以定義為包括因具備3V特征而難以進行管理的數(shù)據(jù),對這些數(shù)據(jù)進行存儲、處理、分析的技術,以及能夠通過分析這些數(shù)據(jù)獲得實用意義和觀點的人才和組織的綜合性概念[2].

對大量數(shù)據(jù)進行分析,并從中獲得有用觀點這種做法,過去就已經(jīng)存在于一部分研究機構和大企業(yè)中.現(xiàn)在的大數(shù)據(jù)和過去相比,主要有 3 點區(qū)別[3].第一,隨著社交媒體和傳感器網(wǎng)絡等的發(fā)展,在我們身邊正產(chǎn)生出大量且多樣的數(shù)據(jù).第二,隨著硬件和軟件技術的發(fā)展,數(shù)據(jù)的存儲、處理成本大幅下降.第三,隨著云計算的興起,大數(shù)據(jù)的存儲、處理環(huán)境已經(jīng)沒有必要自行搭建.

大數(shù)據(jù)處理技術起源于Google.Google提出了一整套基于分布式并行集群方式的基礎架構技術,利用軟件的能力來處理集群中經(jīng)常發(fā)生的節(jié)點失效問題.Google使用的大數(shù)據(jù)平臺主要包括五個相互獨立又緊密結合在一起的系統(tǒng):分布式資源管理系統(tǒng)Borg[4],Google文件系統(tǒng)(GFS)[5],針對Google應用程序的特點提出的MapReduce編程模式[6],分布式的鎖機制Chubby[7]以及大規(guī)模分布式數(shù)據(jù)庫BigTable[8].而這些先進的大數(shù)據(jù)處理技術在Doug Cutting的牽頭下開發(fā)了Hadoop開源軟件,支持在廉價商業(yè)硬件構建的大型集群上運行的應用程序,這也是如今大數(shù)據(jù)技術和應用的飛速發(fā)展的關鍵推動力.

早期的Hadoop,包括Hadoop v1以及更早之前的版本,主要由兩個核心組件構成:HDFS和MapReduce.其中 HDFS 是 Google GFS 的開源版本,MapReduce計算框架實現(xiàn)了由Google工程師提出的MapReduce編程模型.還有一些圍繞在Hadoop周圍的開源項目,為完善大數(shù)據(jù)處理的全生命周期提供了必要的配套和補充.這些軟件常用的有 ZooKeeper、Hive、Pig、HBase、Storm、Kafka、Flume、Sqoop、Oozie、Mahout等.2012 年 5 月,Hadoop v2 的 alpha 版本發(fā)布,其中最重要的變化是在Hadoop核心組件中增加了YARN (Yet Another Resource Negotiator)[9].YARN 的出現(xiàn)是為了把計算框架與資源管理徹底分離開,解決Hadoop v1由此帶來的擴展性差、單點故障和不能同時支持多種計算框架的問題.

Hadoop是目前最為流行的大數(shù)據(jù)處理平臺之一,圍繞Hadoop平臺安全也已存在大量的研究工作,但研究方向主要是對具體Hadoop平臺的安全隱患研究和具體的Hadoop組件安全方案的優(yōu)化實現(xiàn),缺少以Hadoop平臺總體的安全問題和各個組件的解決方案為主題的綜述型文章.本文致力于填補這個研究方向上的空白.本文首先介紹了Hadoop平臺傳統(tǒng)安全問題;然后從身份驗證、訪問授權、數(shù)據(jù)加密和操作審計四個安全管控方向說明了Hadoop平臺上述這些傳統(tǒng)安全問題的解決方法,并細化到具體組件,包括:HDFS、YARN、HBase、Hive、Pig、Oozie、Zookeeper、Hue;再次從工業(yè)界視角,闡述了目前可投入實際生產(chǎn)環(huán)境中的大數(shù)據(jù)平臺安全技術方案;最后對全文進行總結并提出進一步研究方向.

1 Hadoop 平臺傳統(tǒng)安全問題

最初的Hadoop在開發(fā)時考慮的是功能優(yōu)先,因此沒有過多的考慮安全問題,沒有安全管控方案,沒有用戶/服務的身份認證,也沒有數(shù)據(jù)的隱私考慮,而且集群中的任意用戶均可以向集群提交作業(yè)任務[10].隨著業(yè)務發(fā)展的需求,Hadoop增加了審計和授權的機制(主要是HDFS文件的訪問權限和ACL),但因為依舊缺乏身份驗證機制,所以早期的安全方案很容易被惡意用戶使用身份偽裝的方式輕易繞過,大數(shù)據(jù)平臺的安全一直令人顧慮.相對于龐大的Hadoop集群,傳統(tǒng)的安全管控方案愈發(fā)顯得不足,主要存在以下問題[11].

(1)善意的用戶偶爾也會犯錯(如:誤操作導致大量數(shù)據(jù)被刪除);

(2)任意用戶、程序均可以通過Hadoop客戶端或編程方式訪問到Hadoop集群內的全部數(shù)據(jù),因為HDFS中用戶身份可以隨意申明而且無檢查機制[12];

(3)任意用戶均可以向集群提交任務[13]、查看其他人的任務狀態(tài)、修改任務優(yōu)先級甚至強行殺死別人正在運行的程序,因為MapReduce任務沒有身份驗證和授權的概念[14].

圖2 HDFS 中用戶身份可隨意申明

如今的大數(shù)據(jù)平臺Hadoop如今已經(jīng)不僅僅是HDFS加MapReduce,還包括了生態(tài)圈中眾多的組件.行業(yè)內的Hadoop大數(shù)據(jù)的平臺一般不僅包括Hadoop核心組件:Hadoop Common、HDFS、YARN,一般還包括與核心組件配套使用的主流組件:Zookeeper、HBase、Hive、Pig、Oozie、Hue 等.各組件介紹如下.

(1)Hadoop Common:Hadoop 框架基礎類庫,包含文件系統(tǒng)、RPC協(xié)議和數(shù)據(jù)串行化庫等,提供基礎支撐性的功能.

(2)HDFS:分布式文件系統(tǒng),具有高度容錯性的特點,能提供高吞吐量的數(shù)據(jù)訪問,適合有超大數(shù)據(jù)集的應用程序.

(3)YARN:集群資源調度器,提供集群計算資源(CPU、內存)資源的集中管控和調度,提供任務進度的集中管控,支持多種分布式計算框架,含Spark、MapReduce、Tez等,可以有效提升集群機器資料利用率.

(4)Zookeeper:利用 Paxos 算法解決消息傳遞一致性的分布式服務框架,主要是用來解決分布式應用中經(jīng)常遇到的一些數(shù)據(jù)管理問題,如:統(tǒng)一命名服務、狀態(tài)同步服務、集群管理、分布式應用配置項的管理等;分布式協(xié)調服務很難正確無誤的實現(xiàn),它們很容易在競爭條件和死鎖上犯錯誤,Zookeeper的出現(xiàn)為上述場景提供了優(yōu)秀的解決方案.

(5)HBase:分布式的、面向列的開源數(shù)據(jù)庫,適合于結構化和非結構化數(shù)據(jù)存儲,依托HDFS,具備高可靠性、高性能、可伸縮,能在大量數(shù)據(jù)中進行實時查詢.

(6)Hive:面向數(shù)據(jù)實時性要求低的海量數(shù)據(jù)查詢,基于SQL,結合自定義的復雜組合查詢函數(shù)實現(xiàn)目標業(yè)務搜索,依托HDFS,數(shù)據(jù)可靠安全,但不支持刪除、更新、中間插入.

(7)Pig:使用專屬分析語言 (Pig Latin)的大數(shù)據(jù)分析工具,支持并行化處理,適合數(shù)據(jù)準備階段對大量快速到達的數(shù)據(jù)進行ETL處理,并能對大規(guī)模數(shù)據(jù)集進行迭代處理.

(8)Oozie:分布式任務調度系統(tǒng),使用 DAG(有向無環(huán)圖 Direct Acyclic Graph)來定義工作流程以及每一個環(huán)節(jié)具體的操作動作.

(9)Hue:可快速開發(fā)和調試Hadoop生態(tài)系統(tǒng)各種應用的一個基于瀏覽器的圖形化用戶接口,支持HDFS文件瀏覽、HBase數(shù)據(jù)查看和修改、Hive元數(shù)據(jù)查看、Spark任務開發(fā)調試、MapReduce任務進度追蹤、Zookeeper瀏覽和編輯、Oozie任務的開發(fā)和監(jiān)控等眾多功能.

隨著Hadoop大數(shù)據(jù)平臺應用的廣泛性和重要性日漸提高,安全問題又被眾多組織機構提上議程,然而Hadoop大數(shù)據(jù)平臺的安全確實相當復雜的問題,因為涉及的組件非常之多、技術非常之復雜,以及數(shù)據(jù)量、計算規(guī)模都非常大之,Hadoop大數(shù)據(jù)平臺需要的是一個能滿足眾多組件且能橫向擴展的安全管控方案.

終于在2009年,Yahoo在Hadoop安全管控上提出了系統(tǒng)而全面的解決思路,作出了實質性的貢獻;2013 年,Intel牽頭啟動了開源項目“Project Rhino”,致力于為Hadoop生態(tài)組件安全和數(shù)據(jù)安全提供增強能力的保證.通過Hadoop社區(qū)眾多貢獻者的共同努力,目前已經(jīng)提供了一套可以解決上述問題的基本解決方案,主要是通過引入Kerberos,配置防火墻、基礎的HDFS權限和ACLs實現(xiàn).Kerberos其實并不是建設Hadoop集群必備,而是更貼近操作系統(tǒng)層面的一套身份驗證系統(tǒng),且其搭建以及與Hadoop服務整合的配置工作還是非常復雜的,因而在易用性方面一直沒有能夠獲得比較好的效果,這也使得該Hadoop的安全管控方案在行業(yè)內實踐依舊很少.

缺少有效身份驗證的安全解決方案(Kerberos)而只剩下防火墻、HDFS權限和ACLs的管控方案是不足以提供安全保證的,惡意用戶只要可以穿透防火墻,就可以使用身份偽裝的方式任意讀取集群中的數(shù)據(jù),這些安全隱患包括但不限于以下9條.

(1)未授權的用戶可以通過RPC或HTTP訪問HDFS上的文件,并可以在集群內執(zhí)行任意代碼.

(2)未授權的用戶可以直接使用相應的流式數(shù)據(jù)傳輸協(xié)議直接對DataNode中的文件塊進行讀寫操作.

(3)未授權的用戶可以私下為自己授權從而可以向集群的任意隊列提交任務、修改其他用戶任務的優(yōu)先級,甚至刪除其他用戶的任務.

(4)未授權的用戶可以通過 HTTP shuffle protocol直接訪問一個Map任務的中間輸出結果.

(5)一個任務可以通過操作系統(tǒng)的接口訪問其他正在運行的任務,或直接方案運行任務所在節(jié)點(一般是一臺DataNode)的本地磁盤數(shù)據(jù).

(6)未授權用戶可以截獲其他用戶客戶端和DataNode通信的數(shù)據(jù)包.

(7)一個程序或節(jié)點可以偽裝成Hadoop集群內部的服務,如:NameNode、DataNode 等.

(8)惡意用戶可以使用其他用戶身份向Oozie提交任務.

(9)由于DataNode自身無文件概念(只有數(shù)據(jù)塊的概念),惡意用戶可以無視集群的HDFS文件權限和ACLs而直接讀取DataNode中的任意數(shù)據(jù)塊.

綜上所述,傳統(tǒng)的Hadoop平臺建設優(yōu)先考慮的是功能和性能,對于安全問題沒有重點考慮,這給惡意用戶留下了利用安全漏洞的隱患,對于善意用戶也留下了錯誤操作影響超預期的隱患.雖然Hadoop行業(yè)領先企業(yè)、開源社區(qū)都提出了一些安全管控的方案,但實際上工業(yè)界普及率仍然很低,安全問題依舊需要引起重視.

2 Hadoop 平臺安全問題解決方法

Hadoop是一個分布式系統(tǒng),它允許我們存儲大量的數(shù)據(jù),以及還可以并行處理數(shù)據(jù).因為支持多租戶服務,不可避免的會存儲用戶相關的敏感數(shù)據(jù),如個人身份信息或財務數(shù)據(jù).對于企業(yè)用戶而言,其Hadoop大數(shù)據(jù)平臺存儲的海量數(shù)據(jù)往往也包含了用戶相關的敏感數(shù)據(jù),這些數(shù)據(jù)僅可以對有權限的真實用戶可見,因此需要強大的認證和授權.

Hadoop生態(tài)系統(tǒng)由各種組件組成,需要保護所有其他Hadoop生態(tài)系統(tǒng)組件.這些Hadoop組件一般都會被最終用戶直接訪問或被Hadoop核心組件內部(HDFS 和 Map-Reduce)訪問.2009 年,Yahoo 團隊發(fā)表論文[15]選擇使用Kerberos做為Hadoop平臺的身份驗證方案,為Hadoop大數(shù)據(jù)平臺的安全管控方案提供了堅實的基礎,從此Hadoop生態(tài)系統(tǒng)的安全管控突飛猛進.我們嘗試著將每個生態(tài)系統(tǒng)組件的安全性和每個組件的安全解決方案做一次系統(tǒng)的梳理,每個組件都有自己的安全挑戰(zhàn),需要采取特定的方案并根據(jù)需求進行正確配置才可以確保安全.

Hadoop大數(shù)據(jù)平臺安全問題主要在兩方面有體現(xiàn):第一,對內部Hadoop大數(shù)據(jù)平臺需要支持多租戶安全,確保用戶的身份是可信的且具備細粒度的訪問權限控制,保證操作不能相互影響,數(shù)據(jù)是安全隔離的;第二,對外部Hadoop大數(shù)據(jù)平臺需要支持禁止匿名用戶訪問,禁止惡意竊取用戶信息,確保用戶的操作都是被審計的,有據(jù)可查,保證用戶數(shù)據(jù)是被加密的,避免泄露數(shù)據(jù)導致信息被竊取.

針對上述Hadoop大數(shù)據(jù)平臺安全的兩大方面的問題,解決時需要針對其全部組件,并從身份驗證、訪問授權、數(shù)據(jù)加密和操作審計[16,17]四個方向給出解決方案.

2.1 身份驗證

身份驗證指驗證訪問系統(tǒng)的用戶標識.Hadoop提供 Kerberos 作為主身份驗證.最初,SASL/GSSAPI用于實現(xiàn)Kerberos,并通過RPC連接相互驗證用戶,應用程序和 Hadoop 服務.Hadoop 還支持 HTTP Web 控制臺的“Pluggable”身份驗證,意味著 Web應用程序和Web控制臺的實現(xiàn)者可以為HTTP連接實現(xiàn)自己的身份驗證機制,這包括但不限于HTTP SPNEGO身份驗證.

Hadoop組件支持SASL框架,RPC層可以根據(jù)需要選擇 SASL Digest-MD5認證或 SASL GSSAPI/Kerberos認證[18],詳細如下.

(1)HDFS:NameNode 和 DataNode 之間的通信通過RPC連接,并在它們之間執(zhí)行相互Kerberos認證[19].

(2)YARN:支持 Kerberos 身份驗證,SASL Digest-MD5身份驗證以及RPC連接上的委派令牌身份驗證.

(3)HBase:支持通過 RPC,HTTP 的 SASL Kerberos客戶端安全認證.

(4)Hive:支持 Kerberos和 LDAP 認證,也支持通過 Apache Knox 的認證.

(5)Pig:使用用戶票據(jù)將作業(yè)提交到 Hadoop,因此,不需要任何額外的Kerberos安全認證,但在啟動Pig之前,用戶應該使用KDC進行身份驗證并獲取有效的Kerberos票據(jù).

(6)Oozie:可以為 Web 客戶端提供 Kerberos HTTP簡單和受保護的GSSAPI協(xié)商機制(SPNEGO)身份驗證,當客戶端應用程序想要向遠程服務器進行身份驗證,但不能確定要使用的身份驗證協(xié)議時,將使用SPNEGO協(xié)議.

(7)Zookeeper:在 RPC 連接上支持 SASL Kerberos身份驗證.

(8)Hue:提供 SPENGO 身份驗證,LDAP 身份驗證,現(xiàn)在還支持SAML SSO身份驗證.

Hadoop 認證涉及多個數(shù)據(jù)流:Kerberos RPC 認證機制用于用戶認證、應用程序和Hadoop服務,HTTP SPNEGO認證用于Web控制臺,以及使用委托令牌.委托令牌是用戶和NameNode之間用于認證用戶的雙方認證協(xié)議,它比Kerberos使用的三方協(xié)議更加簡單而且運行效率更高,Oozie、HDFS、MapReduce均支持委托令牌.

2.2 訪問授權

授權是為用戶或系統(tǒng)指定訪問控制權限的過程.Hadoop中,訪問控制是遵循UNIX權限模型的、基于文件的權限模型來實現(xiàn)的,具體如下.

(1)HDFS:NameNode 基于用戶、用戶組的文件權限對HDFS中文件進行訪問控制.

(2)YARN:為作業(yè)隊列提供 ACL,定義哪些用戶或組可以將作業(yè)提交到隊列以及哪些用戶或組可以更改隊列屬性.

(3)HBase:提供對表和列族的用戶授權,使用協(xié)處理器來實現(xiàn)用戶授權.協(xié)處理器就像HBase中的數(shù)據(jù)庫觸發(fā)器,它們在前后攔截了對表的任何請求,目前HBase還支撐對單元級別超細粒度訪問控制.

(4)Hive:可以依賴HDFS的文件權限進行控制,也可以使用類似于SQL的方式實現(xiàn)對數(shù)據(jù)庫、數(shù)據(jù)表甚至字段級別超細粒度的訪問控制.

(5)Pig:使用 ACL為作業(yè)隊列提供授權.

(6)Oozie:提交的任務的權限依賴YARN定義的任務隊列提交的權限控制.

(7)Zookeeper:提供使用節(jié)點 ACL 的授權.

(8)Hue:通過文件系統(tǒng)權限提供訪問控制;它還提供作業(yè)隊列的ACL.

盡管Hadoop可以設置為通過用戶和組權限和訪問控制列表(ACL)執(zhí)行訪問控制,但這可能不足以滿足每個企業(yè)的需要,因為各個組件均有自己的一套管控體系導致管控入口分散,各個組件管控的具體操作方式也各異,導致運維實施操作時復雜度高.因此一般的會采用一些集成的解決方案,將訪問授權以集中的、可視化的方式封裝起來[20],降低運維操作的復雜度,提升效率,這些解決方案包括:Apache Ranger、Cloudera Sentry 等.

2.3 數(shù)據(jù)加密

加密確保用戶信息的機密性和隱私性,并且保護Hadoop中的敏感數(shù)據(jù)[21].Hadoop是在不同的機器上運行的分布式系統(tǒng),這意味著數(shù)據(jù)在網(wǎng)絡上定期傳輸是不可避免的,而且對于數(shù)據(jù)挖掘的需求會要求這些數(shù)據(jù)持續(xù)不斷地寫入到集群.數(shù)據(jù)寫入或讀出集群時,稱之為運動的數(shù)據(jù),數(shù)據(jù)保存在集群內部時,稱之為靜止的數(shù)據(jù),全面的數(shù)據(jù)加密方案需要同時兼顧運動的數(shù)據(jù)加密和靜止的數(shù)據(jù)加密[22],常見的數(shù)據(jù)加密保護策略包括以下兩條.

(1)運動的數(shù)據(jù)加密保護策略:在數(shù)據(jù)傳輸?shù)紿adoop系統(tǒng)和從Hadoop系統(tǒng)讀出數(shù)據(jù)時,可以使用簡單認證和安全層(SASL)認證框架用于在Hadoop生態(tài)系統(tǒng)中加密運動中的數(shù)據(jù).SASL安全性保證客戶端和服務器之間交換的數(shù)據(jù),并確保數(shù)據(jù)不會被“中間人”讀取.SASL 支持各種身份驗證機制,例如 DIGESTMD5,CRAM-MD5 等.

(2)靜止的數(shù)據(jù)加密保護策略:靜止的數(shù)據(jù)可以通過兩種方案加密,方案一:在數(shù)據(jù)存儲到HDFS之前,首先對整個數(shù)據(jù)文件進行加密,然后再將加密后的文件寫入HDFS中.在這種方法中,每個DataNode中的數(shù)據(jù)塊不能被單獨解密,只有全部DataNode中全部的數(shù)據(jù)塊被讀取出來后,才可以進行解密;方案二:在HDFS層面對每一個數(shù)據(jù)塊進行加密,這個操作對于文件寫入方是無感知的,是HDFS底層靜默進行加密處理的.

Hadoop組件對于數(shù)據(jù)加密的支持如下.

(1)HDFS:支持各種通道的加密功能,如 RPC,HTTP和數(shù)據(jù)傳輸協(xié)議等,可支持對運動的數(shù)據(jù)進行加密保護;Hadoop也支持對于靜止數(shù)據(jù)的加密保護,可以通過Hadoop加密編解碼器框架和加密編解碼器實現(xiàn).

(2)YARN:不存儲數(shù)據(jù),因此不涉及數(shù)據(jù)加密.

(3)HBase:支持使用基于SASL框架的RPC操作提供對運動的數(shù)據(jù)進行加密;目前暫不提供對靜止數(shù)據(jù)加密的解決方案,但可以通過定制加密技術或第三方工具來實現(xiàn).

(4)Hive:目前官方暫不提數(shù)據(jù)加密解決方案的數(shù)據(jù),但可以通過定制加密技術或第三方工具來實現(xiàn).

(5)Pig:支持使用SASL對運動的數(shù)據(jù)進行加密;目前暫不提供對靜止數(shù)據(jù)加密的解決方案,但可以通過定制加密技術或第三方工具來實現(xiàn).

(6)Oozie:支持使用 SSL/TLS對運動的數(shù)據(jù)進行加密;目前暫不提供對靜止數(shù)據(jù)加密的解決方案,但可以通過定制加密技術或第三方工具來實現(xiàn).

(7)Zookeeper:目前官方暫不提數(shù)據(jù)加密解決方案的數(shù)據(jù),但可以通過定制加密技術或第三方工具來實現(xiàn).

(8)Hue:支持使用HTTPS對運動的數(shù)據(jù)進行加密,目前暫不提供對靜止數(shù)據(jù)加密的解決方案,但可以通過定制加密技術或第三方工具來實現(xiàn).

2.4 操作審計

Hadoop集群托管敏感信息,此信息的安全對于企業(yè)具有成功的安全大數(shù)據(jù)使用至關重要[23].即便做了比較完善的安全管控,但仍然存在未經(jīng)授權的訪問或特權用戶的不適當訪問而發(fā)生安全漏洞的可能性.因此為了滿足安全合規(guī)性要求,我們需要定期審計整個Hadoop生態(tài)系統(tǒng),并部署或實施一個執(zhí)行日志監(jiān)視的系統(tǒng)[24],詳細如下.

(1)HDFS:提供對用戶訪問HDFS執(zhí)行操作行為的審計支持.

(2)YARN:提供對用戶任務提交、資源用量和資源隊列操作等行為的審計支持.

(3)HBase:提供對用戶訪問HBase執(zhí)行操作行為的審計支持.

(4)Hive:通過 Metastore 提供對用戶訪問 Hive 執(zhí)行操作行為的審計支持.

(5)Pig:目前官方暫不提審計的功能,但可以通過定制加開發(fā)或第三方工具來實現(xiàn).

(6)Oozie:通過Oozie日志文件提供對用戶執(zhí)行的分布式任務調度信息的審計支持.

(7)Zookeeper:目前官方暫不提審計的功能,但可以通過定制開發(fā)或第三方工具來實現(xiàn).

(8)Hue:通過Hue日志文件提供對用戶使用Hue執(zhí)行操作行為的審計支持.

對于官方不提供內置審計日志記錄的Hadoop組件,行業(yè)內一般通過自定義開發(fā)日志記錄并結合日志采集工具,例如:Flume、Scribe 和 LogStash 等開源工具,實現(xiàn)審計日志數(shù)據(jù)接入到大數(shù)據(jù)平臺中,然后依托于按需采集的日志,搭建適合企業(yè)內部的日志管理系統(tǒng),用以支持集中式日志記錄和審核[25].

綜上所述,Hadoop安全問題目前在身份驗證、訪問授權、數(shù)據(jù)加密和操作審計四個主要方向上均有可用解決方案或待實現(xiàn)的解決思路,對于大數(shù)據(jù)平臺用戶應該合理分析自己的應用場景來明確安全保障等級,對于平臺使用到的組件不應該存在安全短板,具體的:在多租戶場景下,用戶的身份驗證和訪問授權是至關重要的;在數(shù)據(jù)敏感場景下,數(shù)據(jù)傳輸中的動態(tài)加密和數(shù)據(jù)存儲時的靜態(tài)加密均需考慮;在有問題追責體系或用量計量需求時,操作審計是必需具備的安全管控能力,但在實際生產(chǎn)環(huán)境中實踐顯示操作審計對于性能有一定的影響,且審計日志體量較大,需要做好評估和優(yōu)化設計.

3 Hadoop 平臺安全技術方案

大數(shù)據(jù)平臺的開源社區(qū)在致力于開發(fā)更高性能、更穩(wěn)定的大數(shù)據(jù)組件的同時,也致力于解決平臺安全這個重要問題,隨著發(fā)行版Hadoop的日趨成熟,目前行業(yè)領先的Cloudera和Hortonworks等Hadoop發(fā)行廠商也支持開源社區(qū)并輸出了一些比較成熟而先進的組件產(chǎn)品和技術方案.

這些Hadoop平臺安全技術方案正致力于覆蓋更全面的Hadoop平臺組件,均從大數(shù)據(jù)平臺安全管控的身份驗證、訪問授權、數(shù)據(jù)加密和操作審計這四個方向對應設計出了安全管控產(chǎn)品,具備安全能力保障和安全能力易用兩大特性.具體的,這些技術方案可分如下幾類.

(1)Hadoop平臺安全技術管控核心:集中化的安全管控.

(2)Hadoop平臺安全技術對平臺應用方更友好的封裝:集群邊界安全管控.

(3)Hadoop平臺安全技術對平臺運維方更友好的封裝:自動化安全管控.

3.1 集中化安全管控

早期沒有集中化安全管控工具時,Hadoop大數(shù)據(jù)平臺的安全管理問題對于運維團隊相當不友好.

(1)管控入口零散:不同的技術組件具備不同的管控指令和語法,管控工作繁瑣且效率低.

(2)缺少可視化界面:全部的技術組件僅支持命令行式的配置、查詢操作方式,管控工作復雜且出錯概率高.

圖3 傳統(tǒng)大數(shù)據(jù)平臺安全管控方式

通過集中化安全管控組件,可以大幅度降低大數(shù)據(jù)平臺安全管控的復雜度和工作量.

3.1.1 Apache Sentry

Apache Sentry是Cloudera公司發(fā)布的一個Hadoop開源組件,它提供了細粒度級、基于角色的授權以及多租戶的管理模式.該項目于2016年3月孵化成果,目前屬于Apache頂級項目之一.

Apache Sentry目前是Cloudera發(fā)行版Hadoop(CDH)使用的集中化安全管控組件.其定位為集中化提供Hadoop大數(shù)據(jù)平臺的組件權限管控,設計目標為:

(1)為授權用戶對于數(shù)據(jù)和元數(shù)據(jù)的訪問需求提供細粒度的、基于角色的控制 (RBAC,role-based access control);

(2)企業(yè)級別的大數(shù)據(jù)安全管控標準;

(3)提供統(tǒng)一的權限策略管控方式;

(4)插件化和高度模塊化.

截止到版本v.1.7.0已經(jīng)支持的組件包括:HDFS、Hive、其他 (Solr、Kafka、Impla).

Apache Sentry架構設計上支持高可用,單點故障不影響正常服務.

但是目前Apache Sentry支持的Hadoop相關組件數(shù)量仍然不多,不支持基于屬性標簽的權限控制方案,不支持Hadoop相關組件的操作行為審計.

3.1.2 Apache Ranger

Apache Ranger是 Hortonworks發(fā)布的一個Hadoop開源組件,它解決了Hadoop平臺各個服務安全管理各自為政的現(xiàn)狀,打造了一個集中統(tǒng)一的管理界面,為所有服務提供權限管理、日志審計等.

Apache Ranger目前是 Hortonworks發(fā)行版Hadoop (HDP)使用的集中化安全管控組件.其定位為集中化提供Hadoop大數(shù)據(jù)平臺的組件權限管控并為相關組件提供審計能力,設計目標為:

(1)通過 Web UI或 REST APIs的方式提供集中化的安全管控能力;

(2)集中式的管理工具提供細粒度的操作和使用行為管控;

(3)對于Hadoop相關技術組件提供標準化的授權管理方案;

(4)增強支持不同的權限管控方案,如:基于角色的管控和基于屬性標簽 (Tag)的管控;

(5)支持Hadoop相關技術組件的用戶操作和維護行為的集中審計.

截止到版本0.7.0已經(jīng)支持的組件包括:YARN、HDFS、Hive、HBase、其他 (Solr、Kafka、Knox、Storm、NiFi).

Apache Ranger目前支持的組件較為豐富,且提供了統(tǒng)一的審計能力.

但是目前Apache Ranger的高可用能力暫不完善,單點故障時雖然不影響Hadoop相關組件的權限判斷和用戶使用,但此時是無法提供訪問權限變更的服務的.

3.2 集群邊界安全管控

大數(shù)據(jù)平臺的安全解決方案雖然可以顯著提升集群的安全性,但對于運維團隊來說面向多租戶場景的運維存在一定的復雜性和工作量,對于開發(fā)團隊來說,基于Kerberos的身份驗證也存在著一些編程開發(fā)的門檻.因此集群邊界安全管控方案被提出,對于運維團隊僅須關注集群內部,無需將部署細節(jié)對外公布,對于開發(fā)團隊來說,通過邊界網(wǎng)管集中式訪問各種Hadoop相關服務,大幅度簡化了開發(fā)的復雜性.

3.2.1 Apache Knox

Apache Knox 是一個開源的 Hadoop Gateway,其目的是為了簡化和標準化發(fā)布和實現(xiàn)安全的Hadoop集群,對于 Kerberos化的集群,他可以對使用者屏蔽與復雜的Kerberos交互,只需要專注于通過集中式的REST APIs訪問Hadoop相關的服務.

具體的,Apache Knox支持用戶身份驗證、單點登錄、服務級別的授權控制和審計功能,配合合理配置的網(wǎng)絡安全策略和Kerberos化的Hadoop集群,Apache Knox可以提供企業(yè)級別的 REST API Gateway服務.

(1)可與企業(yè)現(xiàn)有的用戶身份管理方案快速集成;

(2)保護集群的部署細節(jié),對終端用戶無需保留集群的主機、端口號等信息,減少安全隱患;

(3)簡化開發(fā)團隊需要與交互的服務數(shù)量,無需和眾多Hadoop相關組件直接交互,僅需要與Apach Knox交互即可.

截止到版本0.12.0已經(jīng)支持的組件包括:

(1)服務:Ambari、HDFS、HBase、HCatalog、Oozie、Hive、YARN、Storm;

(2)Web UI:NameNode UI、JobHistory UI、Oozie UI、HBase UI、YARN UI、Spark UI、Ambari UI、Ranger Admin Console.

Apache Knox 還處于快速的發(fā)展過程中,Hortonworks發(fā)行版Hadoop (HDP)已經(jīng)對其提供了較為完善的支持,可以支持一鍵安裝,其余Hadoop發(fā)行版使用時仍需自行做相關適配工作.

3.3 自動化安全管控

3.3.1 Apache Ambari

Apache Ambari是一個用于創(chuàng)建、管理、監(jiān)視Hadoop集群的開源工具,它是一個讓Hadoop以及相關的大數(shù)據(jù)軟件更容易使用的一個工具;Ambari對于大數(shù)據(jù)平臺的安全支持良好,提供了一鍵式、可視化的Kerberos化Hadoop集群的功能.

截止到版本2.5.0,對于安全管控方面,Apache Ambari提供了以下功能.

(1)可視化、自動化的Kerberos化Hadoop集群操作;

(2)Apache Ranger一鍵安裝和配置;

(3)Apache Knox 一鍵安裝和配置.

Apache Ambari主要由 Hortonworks,IBM,Pivotal,Infosys等公司的支持開發(fā),得益于開源社區(qū)的力量,其發(fā)展速度相當之快,目前是相當成熟的Hadoop集群管控工具.

目前主要存在的問題是界面友好性較弱,在自動化部署配置時錯誤日志顯示不精確 (不便于定位到問題根本原因),出現(xiàn)問題后缺少自動回滾能力 (停留在配置中間狀態(tài)需要人工修復).

3.3.2 Cloudera Manager

Cloudera Manager是一個定位與 Apache Ambari一致的產(chǎn)品,是Cloudera公司開發(fā)的用于支持其自有發(fā)行版 Hadoop (CDH)的管理工具,其開發(fā)投產(chǎn)時間要早于Apache Ambari約3年,因此在產(chǎn)品的完善程度、用戶界面友好程度較為領先.

截止到版本5.10.1,對于安全管控方面,Cloudera Manager提供了以下功能.

(1)可視化、自動化的Kerberos化Hadoop集群操作;

(2)Apache Sentry 一鍵安裝和配置.

Cloudera Manager為Cloudera公司閉源開發(fā)的產(chǎn)品,僅支持與其發(fā)行版Hadoop配套使用,由于沒有采用開源路線,對于缺陷、新功能、修改意見等均無法像Apache Ambari那樣得到快速響應,使用時需要為License付費且不支持二次開發(fā).

目前主要存在的問題是缺少集群邊界安全管控的支持.

綜上所述,目前工業(yè)界和開源社區(qū)已經(jīng)具備基本可用的Hadoop安全技術方案,可以實現(xiàn)基本的安全管控能力.在構建安全的大數(shù)據(jù)平臺時,建議選擇集中化安全管控工具和自動化安全管控工具來實現(xiàn)安全管控,對于希望降低大數(shù)據(jù)平臺用戶使用門檻和運維管理維護工作量的需求,可以考慮引入集群邊界安全管控工具.但總體而言,目前的安全技術方案在開箱即用能力、穩(wěn)定性和易用性上并不完善,一般需要投入一定的定制化開發(fā)、適配工作,并在平臺的運營管理流程需要針對性做好規(guī)范,避免平臺運維者和使用者之間因分工模糊、流程紊亂而產(chǎn)生沖突和問題.

4 結語

在大數(shù)據(jù)時代,大數(shù)據(jù)平臺需要處理海量的數(shù)據(jù)、承載多租戶應用,集群安全、數(shù)據(jù)安全成為需要重點關注的問題.隨著Hadoop在行業(yè)內越來越多被采納、被廣泛用于生產(chǎn)環(huán)境,可用于實戰(zhàn)環(huán)境中的安全解決方案是每一個企業(yè)、團隊需要綜合考慮和實踐.本文描述傳統(tǒng)Hadoop大數(shù)據(jù)平臺的安全隱患,基本涵蓋了解決這些隱患采用的技術方法,以及目前可用的成熟技術方案.我們認為之后的研究方向可側重以下4個方面.

(1)Hadoop 平臺安全問題:持續(xù)跟進 Hadoop 生態(tài)圈各個技術組件,關注生產(chǎn)實踐中新發(fā)現(xiàn)的安全問題、隱患.

(2)Hadoop平臺安全問題解決方法:持續(xù)跟進安全管控的四個主要方向和可能的新方向,對于Hadoop生態(tài)圈各個技術組件的安全問題的解決方法補充和更新,并關注新安全問題的解決方法.

(3)Hadoop平臺安全問題技術方案:持續(xù)跟進工業(yè)界和開源社區(qū),關注對于Hadoop平臺安全問題的技術方案能力更新和可能出現(xiàn)的新技術方案.

(4)Hadoop平臺安全管控最佳實踐:根據(jù)技術方案的成熟度和行業(yè)應用的實戰(zhàn)經(jīng)驗,待到技術方案足夠解決基本的安全問題時,給出Hadoop平臺安全管控最佳實踐,對于不同的安全管理等級需求,給出針對性的落地方案指導和最佳實踐建議.

>

>

1 Laney D.3D data management:Controlling data volume,velocity and variety.META Group Research Note,2001,(6):70.

2 Terzi DS,Terzi R,Sagiroglu S.A survey on security and privacy issues in big data.2015 10th International Conference for Internet Technology and Secured Transactions(ICITST).London,UK.2015.14–16.

3 Hashem IAT,Yaqoob I,Anuar NB,et al.The rise of “big data” on cloud computing:Review and open research issues.Information Systems,2015,(47):98 –115.[doi:10.1016/j.is.2014.07.006]

4 Verma A,Pedrosa L,Korupolu M,et al.Large-scale cluster management at Google with Borg.Proceedings of the Tenth European Conference on Computer Systems. Bordeaux,France.2015.18.

5 Ghemawat S,Gobioff H,Leung ST.The Google file system.ACM SIGOPS Operating Systems Review,2003,37(5):29–43.[doi:10.1145/1165389]

6 Dean J,Ghemawat S.MapReduce:A flexible data processing tool. Communications of the ACM,2010,53(1):72 –77.[doi:10.1145/1629175]

7 Burrows M.The Chubby lock service for loosely-coupled distributed systems.Proceedings of the 7th Symposium on Operating Systems Design and Implementation.Berkeley,CA,USA.2006.335–350.

8 Chang F,Dean J,Ghemawat S,et al.Bigtable:A distributed storage system for structured data.ACM Transactions on Computer Systems (TOCS),2008,26(2):4.

9 Vavilapalli VK,Murthy AC,Douglas C,et al. Apache Hadoop YARN:Yet another resource negotiator.Proceedings of the 4th Annual Symposium on Cloud Computing.New York,NY,USA.2013.5.

10 Big Data Working Group.Expanded top ten big data security and privacy challenges.2013.

11 Adluru P,Datla SS,Zhang XW.Hadoop eco system for big data security and privacy.2015 IEEE Long Island Systems,Applications and Technology Conference (LISAT).Farmingdale,NY,USA.2015.1–6.

12 Somu N,Gangaa A,Sriram VSS.Authentication service in Hadoop using one time pad.Indian Journal of Science &Technology,2014,7(S4):56–62.

13 Bardi M,Zhou XW,Li S,et al.Big Data security and privacy:A review.China Communications,2014,11(14):135–145.[doi:10.1109/CC.2014.7085614]

14 Fernandez EB.Security in data intensive computing systems.Furht B,Escalante A.Handbook of Data Intensive Computing.New York:Springer,2011:447–466.

15 O ’Malley O,Zhang K,Radia S,et al.Hadoop security design.Sunnyvale,CA,USA:Yahoo Inc.,2009.

16 Hortonworks. Securing your hadoop infrasturcture with apach knox.http://hortonworks.com/hadoop-tutorial/ securinghadoop-infrastructure-apache-knox,2014.

17 Shukla V. Hadoop security:Today and tomorrow.https://hortonworks.com/blog/hadoop-security-today-andtomorrow/.[2013-12-09].

18 Zhang XF.Secure your Hadoop cluster with apache sentry.Cloudera.[2014-04-07].

19 Saraladevi B,Pazhaniraja N,Paul P V,et al.Big Data and Hadoop-a study in security perspective.Procedia Computer Science,2015,(50):596 –601.[doi:10.1016/j.procs.2015.04.091]

20 Hortonworks.Comprehensive and coordinated security for enterprise hadoop. http://hortonworks.com/labs/security.[2014-05-15].

21 Tene O,Polonetsky J.Big Data for all:Privacy and user control in the age of analytics.Northwestern Journal of Technology and Intellectual Property Volume,2013,11(5):240–273.

22 Cheng HB,Rong CM,Hwang K,et al.Secure Big Data storage and sharing scheme for cloud tenants.China Communications,2015,12(6):106–115.[doi:10.1109/CC.2015.7122469]

23 Marchal S,Jiang XY,State R,et al.A Big Data architecture for large scale security monitoring.2014 IEEE International Congress on Big Data (BigData Congress).Anchorage,AK,USA.2014.56–63.

24 Lan L,Jun L. Some special issues of network security monitoring on Big Data environments.Proceedings of the 2013 IEEE 11th International Conference on Dependable,Autonomic and Secure Computing (DASC).Washington,DC,USA.2013.10–15.

25 Gupta A,Verma A,Kalra P,et al.Big Data:A security compliance model.Proceedings of the 2014 Conference on IT in Business,Industry and Government (CSIBIG).Indore,India.2014.1–5.

猜你喜歡
身份驗證集群組件
無人機智能巡檢在光伏電站組件診斷中的應用
Kistler全新的Kitimer2.0系統(tǒng)組件:使安全氣囊和安全帶測試更加可靠和高效
一種嵌入式軟件組件更新方法的研究與實現(xiàn)
通用(OA)辦公自動化系統(tǒng)的組件運用
海上小型無人機集群的反制裝備需求與應對之策研究
培育世界級汽車產(chǎn)業(yè)集群
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設計
聲紋識別認證云落戶貴州
勤快又呆萌的集群機器人
人臉識別身份驗證系統(tǒng)在養(yǎng)老保險生存核查中的應用