雲數據庫HBase企業級安全解析

摘要:在2018年1月25日的數據庫直播中,Apsara DB-HBase產品技術團隊的天斯分享了「雲數據庫HBase企業級安全解析」的重要課題,經過與開源HBase相比,擁有由Intel和Alibaba合做開發的HAS系統的雲HBase系統不管在安全性仍是在運維成本上亦或是友好性上都有了較大的提升。
直播視頻:https://yq.aliyun.com/video/play/1333
PDF下載:https://yq.aliyun.com/download/2459
如下爲精彩視頻內容整理:
開源HBase安全解紹linux

1

開源HBase的安全功能主要包含3個部分:
1.Access Controller coprocessor實現的ACL權限控制;
2.RPC層的安全認證,主要實現有kerberos認證;
3.HBase的WebUI支持https訪問。數據庫

開源HBase ACL權限控制介紹
HBsae ACL是基於coprocessor實現的一套權限控制機制,能夠有效控制用戶對HBase的數據訪問權限,最小維度控制到列級。支持按用戶、用戶組來進行權限分配。HBsae ACL的做用範圍大小:global > namespace > table > famliy > quelifier。而認證經過優先級順序:global > namespace > table > family > quelifier。看以看出用戶權限是由大到小進行認證,所以在規定用戶權限時要注意用戶的受限的權限上層的大權限有無被限制。此外能夠按單個用戶user分配進行權限管理,也能夠按 用戶group進行權限管理,認證順序user>group。安全

開源HBase ACL使用案例網絡

2

在對某公司HBase數據庫管理小組各成員進行權限分配後,能夠實現各相關人員的權限可是並不能保證訪問權限的安全,倘若有來自外界的冒充人員,在獲取相應API後,在不開啓身份認證時系統會誤認爲其是小組內的成員,這樣就存在了安全風險。此時須要系統開啓身份認證來拒絕冒充人員的訪問,從而達到安全要求。架構

開源HBase 身份認證運維

3

身份認證(Authentication)是用於識別用戶身份的過程,只有經過身份認證的用戶纔有可能訪問某些服務。與身份認證不一樣的是,ACL受權僅僅控制的是指定的用戶訪問某些制定服務,但並不進行相應的身份識別。所以,只有身份認證(Authentication)和受權(Authorization)一同使用才能達到更更好的安全做用。ide

HBase目前支持的身份認證方式是kerberos認證,在RPC級實現的認證功能,而且kerberos也是hadoop內置的惟一認證方式。HBase/HDFS/Zookeeper通常同時開啓kerberos認證功能使用。工具

當前開源HBase的安全經常使用搭建方案主要有3方面: 
1.HBase啓用kerberos認證,啓用https WebUI 訪問,啓用ACL權限受權控制,開啓日誌審計,流量限制; 
2.HDFS啓用kerberos認證,啓用權限控制,啓用數據加密;
3.zookeeper啓用kerberos認證,啓用zk的ACL權限控制。oop

kerberos介紹大數據

Kerberos是一種網絡認證協議,目前Kerberos協議有不少實現版本,其本質使用對稱加密的技術實現網絡中的身份認證。一般使用第三方服務的方式提供身份認證,即獨立於相關的服務組件。目前不少大數據服務組件都默認集成了Kerberos,都可以開啓Kerberos身份啓動服務。

4

當一個用戶須要訪問某個被Kerberos保護的服務時,Kerberos認證過程能夠分爲兩個階段: 
1.Kerberos服務端程序(Authentication Server,AS)對用戶的身份認證;
2.服務對用戶的身份認證。

目前開源HBase在開啓相應身份認證後,雖然安全性獲得了有效提升,可是其存在成本方面投入巨大,訪問集羣準備 步驟多且繁鎖,使用並不友好,配置複雜繁瑣,須要將帳戶與系統進行綁定等缺點。

雲數據庫HBase安全介紹

5

雲數據庫HBase在安全的方面主要支持功能有:網絡層安全隔離、身份認證、權限控制,日誌審計、流量控制,數據加密。公網用戶、經典網用戶若想用戶VPC須要先加入白名單,不然是沒法進行訪問的。

6

雲數據庫HBase的網絡安全隔離方面,用戶能夠設置防火牆白名單、安全組端口限制,選擇HBase安裝在VPC專有網絡上;在身份認證上,採用Intel和Alibaba合做開發的HAS服務作身份認證,使用更友好;在權限控制上兼容HBase Access Controller coprocessor,支持細粒度權限控制,用戶帳戶不依賴本地linux系統用戶,提升了使用的效率;在審計上能夠記錄用戶對資源訪問操做,監控/跟蹤資源訪問的安全風險。所以,與開源HBase相比雲數據庫HBase在安全性、成本、用戶友好方面都有較大的提升。

雲HBase安全模塊還提供了: 
1)支持多種認證方式實現,如帳戶密碼、RAM、LDAP等; 
2)擴展backend元數據高可用服務; 
3)簡化client配置;
4)快捷方便的命令行行管理工具; 
5)能夠向客服提供與現存帳戶認證體系對接的能力。

雲HBase安全原理

1.什麼是HAS?
HAS (Hadoop Authentication Service),由致力於解決開源大數據服務和生態系統的認證支持。目前開源大數據(Hadoop/Spark)在安全認證上只內置支持了Kerberos方式,HAS提出了一種新的認證方式(Kerberos-based token authentication),經過與現有的認證和受權體系進行對接,使得在Hadoop/Spark在上面支持Kerberos之外的認證方式變成可能,並對最終用戶簡化和隱藏Kerberos的複雜性。

7

2.HAS系統架構 
HAS基於Apache Kerby 基礎上,以較少的開發 成本實現的全新的針對開源⼤大數據認證的方案。Apache Kerby爲HAS主要:提供了了全面的kerberos 客戶端lib和工具;提供了Kerby KDC:高效、高可用服務;強大的ASN-1支持;TokenPreauth 全新的token認證機制。

8

HAS協議流程主要是對Kerberos進行擴展,其協議基礎是TokenPreauth機制,該機制主要是在Apache Kerby中實現。該機制容許用戶使用第三⽅方頒發的token來代替,並由password向KDC進行身份驗證,目前已經被普遍的使用在互聯網、雲和移動互聯網中,使得Kerberos系統可以和其餘認證方案相結合,並推進了Kerberos在雲和大數據平臺上的發展。

雲HBase安全應用場景

安全需求無處不在,例如,企業爲了防止員工惡意報復,防止外部用戶訪問盜竊數據,甚至刪除全部數據等。能夠說只要是生產的環境,就有安全的需求,只是安全要求的防禦級別有所不不同。例如對於公有云常見的用戶,通常HBase數據庫就是內網DB,只供本身訪問使用,沒有第三方人員公用,加上存儲的數據可能都是用戶日誌數據,那麼這個客戶可能只須要外部網絡層隔離就能夠了。若是某公司HBase數據庫與某業務第三方服務商供存儲,可能就須要更更進一步的身份、權限、審計等安全需求了。

雲HBase與開源HBase相比,實現了運維成本和使用成本的降低,簡化了配置,而且不依賴系統帳戶來實現公網用戶、經典網用戶的訪問,最爲重要的的是在安全性上有了更大的提升。

本文由雲棲志願小組林一木整理,百見編輯。

閱讀原文http://click.aliyun.com/m/41277/

相關文章
相關標籤/搜索