為了節(jié)省瀏覽器前的你的寶貴時(shí)間黔寇,這篇文集適合以下的讀者:
- 熟悉大數(shù)據(jù) Hadoop 生態(tài)庞钢,具備一定 Shell 腳本能力、Linux 系統(tǒng)知識(shí)的照宝;
- 熟悉 Cloudera Manager 本身或有一定了解,希望對(duì) Cloudera Manager 平臺(tái)進(jìn)行安全加固兢仰;
- 想借鑒了解 Kerberos、OpenLDAP轻专、TLS/SSL 配置使用的请垛;
.... 的運(yùn)維洽议、開(kāi)發(fā)绞铃、測(cè)試同學(xué)嫂侍。
最近從阿里跳槽出來(lái)挑宠,去了一家互聯(lián)網(wǎng)創(chuàng)業(yè)公司,第一件事情就是折騰一個(gè)具備安全特性的大數(shù)據(jù)平臺(tái)懒鉴。歷史原因碎浇,公司已經(jīng)部署了免費(fèi)版本的Cloudera私有云平臺(tái),主要用于基于Impala的類SQL數(shù)據(jù)查詢奴璃,以及基于Kafka+Flume的數(shù)據(jù)準(zhǔn)實(shí)時(shí)同步苟穆。經(jīng)過(guò)調(diào)研,驚喜發(fā)現(xiàn)Cloudera的免費(fèi)組件已經(jīng)包含了以下幾大利器雳旅,完全可以滿足現(xiàn)在的需求,遂決定進(jìn)行實(shí)現(xiàn):
- 基于Kerberos的身份認(rèn)證:對(duì)稱密鑰體系抵拘,服務(wù)端和客戶端雙向身份認(rèn)證仑濒,可防止
非授信用戶獲得無(wú)權(quán)訪問(wèn)的服務(wù)或數(shù)據(jù)
墩瞳,主要用于防范:- 用戶偽裝喉酌,進(jìn)行危害性操作;
- 服務(wù)偽裝般妙,進(jìn)行危害性操作碟渺;
- 數(shù)據(jù)竊聽(tīng)突诬,進(jìn)行回放攻擊獲得服務(wù)器的訪問(wèn)權(quán)并終止進(jìn)程、服務(wù)等旺隙;
- 基于OpenLDAP的賬戶體系:后續(xù)和公司LDAP/AD進(jìn)行打通蔬捷,進(jìn)行統(tǒng)一賬戶管理周拐;
- 基于Hadoop ACLs的HDFS文件系統(tǒng)權(quán)限體系:嚴(yán)格控制用戶對(duì)底層文件的訪問(wèn);
- 基于Sentry的細(xì)粒度數(shù)倉(cāng)權(quán)限體系:數(shù)據(jù)庫(kù)/表/字段粒度的訪問(wèn)控制高蜂,進(jìn)一步加強(qiáng)數(shù)倉(cāng)數(shù)據(jù)的安全性;
- Sentry數(shù)倉(cāng)權(quán)限和HDFS文件系統(tǒng)ACLs權(quán)限同步备恤;
- 對(duì)數(shù)倉(cāng)區(qū)域的HDFS文件進(jìn)行強(qiáng)保護(hù),只有超級(jí)管理員有權(quán)限訪問(wèn)底層文件锦秒,其余用戶只能通過(guò)Sentry授權(quán)走上層接口訪問(wèn)數(shù)據(jù);
- 對(duì)數(shù)據(jù)庫(kù)/表的SELECT權(quán)限 映射到 ACLs的READ旅择;
- 對(duì)數(shù)據(jù)庫(kù)/表的INSERT權(quán)限 映射到 ACLs的WRITE惭笑;
- 對(duì)數(shù)據(jù)庫(kù)/表的ALL權(quán)限 映射到 ACLs的READ_WRITE_EXCUTE;
- 基于TLS/SSL的傳輸層加密沉噩;
當(dāng)然捺宗,還有HDFS層面的透明靜態(tài)數(shù)據(jù)加密,這塊因?yàn)閾?dān)心調(diào)研不夠充分川蒙,沒(méi)有著急上蚜厉。之前的經(jīng)驗(yàn)告訴我,如果沒(méi)有做好備份昼牛,最壞的情況可能會(huì)因?yàn)閿嚯妼?dǎo)致的多臺(tái)物理機(jī)壞盤,造成核心加解密代碼無(wú)法讀取,最終丟失數(shù)據(jù)恬汁。
最近氓侧,所有的部署都完成了,業(yè)務(wù)也開(kāi)始遷移到新的安全平臺(tái)甘苍,看到國(guó)內(nèi)外沒(méi)有任何一篇文章可以完整描述基于Cloudera的企業(yè)級(jí)安全大數(shù)據(jù)平臺(tái)的整個(gè)部署和調(diào)試過(guò)程
,所以記錄下來(lái)廊佩,予人玫瑰囚聚,手有余香。
本文集主要包括9篇文章标锄,讀者可以按需查閱顽铸,因?yàn)椴糠謪?shù)配置是前后相關(guān)的,所以建議從頭開(kāi)始連續(xù)閱讀:
- 1. 基礎(chǔ)部署料皇,主要介紹如何使用Parcels進(jìn)行基礎(chǔ)的Cloudera平臺(tái)部署谓松;
- 2. Kerberos的整合,主要介紹如何在Cloudera中對(duì)Kerberos進(jìn)行部署践剂;
- 3. 如何訪問(wèn)Kerberos Enabled服務(wù)鬼譬,主要介紹如何通過(guò)CLI、Java Client訪問(wèn)Kerberos Enabled HDFS逊脯;
- 4. OpenLDAP的整合优质,主要包括LDAP的部署、LDAP集成Kerberos、Impala集成LDAP巩螃、HUE集成LDAP演怎;
- 5. Sentry的整合,主要包括Hive集成Sentry避乏、Impala集成Sentry爷耀、HUE集成Sentry,HDFS集成Sentry(這塊暫時(shí)沒(méi)有調(diào)通)淑际;
- 6. OpenLDAP的整合-通過(guò)搜索綁定實(shí)現(xiàn)用戶和組的映射畏纲,描述了直接綁定和搜索綁定的區(qū)別,如何使用搜索綁定實(shí)現(xiàn)用戶和組的映射春缕,繼而映射到 Sentry 的角色盗胀,達(dá)到細(xì)粒度的權(quán)限控制;
- 7. 傳輸層加密配置 - Clouder Manager 組件傳輸層加密
- 8. 傳輸層加密配置 - Hadoop 組件傳輸層加密
- 9. 如何使用Java Client訪問(wèn)Kerberos + TLS Enabled Impala服務(wù)锄贼;
本人是安全小白票灰,歡迎各位安全大牛指導(dǎo)和拍磚。