梁猛
?
大數(shù)據(jù)平臺安全認證負載均衡解決方案
梁猛
中國移動通信集團廣東有限公司網(wǎng)絡(luò)管理中心,廣東 廣州 510623
利用組件FreeIPA+Ranger對基于Hadoop架構(gòu)的大數(shù)據(jù)平臺實施了端到端的安全管控方案。FreeIPA組件的Keberous進行訪問認證,Ranger組件進行訪問鑒權(quán),并且提供詳細的訪問日志及安全審計功能,實現(xiàn)“合法的人、干合法的事”,操作軌跡能夠被審計,基本徹底解決集群存在的各類安全隱患。但在實際生產(chǎn)中發(fā)現(xiàn)Keberous KDC高可用性和負載均衡能力較弱,不能自動實現(xiàn)負載均衡,需要手動進行配置。因此,提出采用Keepalived+LVS組件結(jié)合的方案解決基于Hadoop架構(gòu)的大數(shù)據(jù)平臺安全認證存在的高可用性和負載均衡的問題。
Keepalived+LVS;負載均衡;KDC;Keberous
2017年網(wǎng)絡(luò)管理中心對基于Hadoop開源架構(gòu)體系的網(wǎng)絡(luò)大數(shù)據(jù)共享平臺實施了端到端安全加固方案,部署了用戶身份驗證組件FreeIPA和用戶鑒權(quán)組件Ranger,并對程序訪問進行改造,基本徹底解決集群存在的各類安全隱患。通過FreeIPA組件中的Kerberos認證機制,實現(xiàn)了用戶身份驗證服務,杜絕匿名用戶、惡意用戶、偽裝用戶與未經(jīng)驗證的用戶訪問集群獲取數(shù)據(jù),保護了集群合法用戶訪問,同時保障了集群節(jié)點是可靠的、可信賴的[1];通過Ranger組件進行數(shù)據(jù)訪問鑒權(quán),防止了操作者在執(zhí)行業(yè)務過程中的非法訪問和非法消費行為,并且提供詳細的審計日志,為事后追溯跟蹤問題提供有利的基礎(chǔ)數(shù)據(jù)。
針對集群安全認證組件FreeIPA的Kerberos KDC數(shù)據(jù)同步不穩(wěn)定、負載均衡較弱的問題,通過對多種負載均衡方案包括DNS A記錄、DNS SRV記錄、KDC client配置多個KDC服務器地址、Keepalived+LVS進行驗證測試,Keepalived+LVS可以對KDC 實現(xiàn)高可用與負載均衡來提高KDC的容錯與可用性,最終選擇Keepalived+LVS的架構(gòu)方案,同時升級IPA Server 3.0 版本到IPA Server 4.5。
DNS的SRV資源記錄把服務名字映射為提供服務的服務器名字,對客戶端來說只需知道從那個域去尋找kerberos協(xié)議的服務即可,DNS服務器會解析出客戶端所請求的服務是由哪些后臺主機提供的,并根據(jù)SRV記錄的優(yōu)先級和權(quán)重讓客戶端優(yōu)先連接其中一臺提供服務的主機。使用DNS實現(xiàn)負載均衡,可配置權(quán)重與優(yōu)先級把請求量按一定比例分流到KDC服務器;缺點是相同DNS的A記錄同樣不能對故障的KDC服務器進行隔離,DNS輪詢到故障的KDC服務器時導致訪問集群延遲增加。
配置同一個域名映射為多個KDC服務器的IP。當客戶端需要進行域名解析請求時,DNS服務器會根據(jù)對應的負載均衡算法計算出其中一個KDC的IP地址并返回給客戶端。負載均衡由DNS完成,配置靈活、簡單、成本低。對于平臺當前環(huán)境的KDC集群來說,不需要任何修改即可讓客戶端訪問不同的KDC,缺點是不能對故障的KDC服務器進行隔離。DNS負載均衡采用的是簡單的輪詢算法,無法判斷KDC服務器和KDC服務的健康狀態(tài)。當KDC服務器宕機或KDC服務掛死時,依舊會把不可用的KDC服務器IP解析分配給客戶端。
KDC Client配置多個KDC服務器地址,進行順序請求。請求第一個KDC失敗則請求第二個KDC直至成功或失敗;缺點是不能對故障的KDC服務器進行隔離,設(shè)置請求超時與重試次數(shù)無法完全避免在出現(xiàn)某個KDC服務器不可用時訪問集群帶來的延遲增加。
Keepalived結(jié)合Linux虛擬服務器(LVS)來實現(xiàn)負載平衡、健康檢測和故障轉(zhuǎn)移服務,經(jīng)研究驗證可以滿足KDC 提供高可用與負載均衡服務,對于用戶與客戶端是透明的;具備健康檢查故障隔離與高可用,具備負載均衡能力,提供多種負載均衡算法;使用前提是同一個組的KDC服務器需處于同一個Vlan網(wǎng)段,需要維護Keepalived服務。
通過對以上四種方案對比,前三種方案不能對KDC服務器進行隔離。其中一臺KDC服務器宕機后,會導致服務請求延時增加,影響集群性能;而Keepalived+LVS能夠?qū)崿F(xiàn)高可用和負載均衡,并能提供多種負載均衡算法,能夠滿足項目要求。
通過大量驗證測試,對于IPA Server 3.0 的KDC 與IPA Server 4.5 的KDC的混用方案存在數(shù)據(jù)同步問題,IPA Server 4.5版本的KDC 可以兼容IPA client 3.0開啟Kerberos認證、數(shù)據(jù)同步穩(wěn)定且可以實現(xiàn)KDC多主多從架構(gòu)。統(tǒng)一升級現(xiàn)有集群的KDC版本到IPA Server 4.5,把KDC從原來的星形結(jié)構(gòu)設(shè)計為星形與環(huán)形相結(jié)合的數(shù)據(jù)同步拓撲結(jié)構(gòu),解決單IPA Server Master數(shù)據(jù)同步壓力;跨IDC機房數(shù)據(jù)同步通過管理KDC 來實現(xiàn),管理KDC不對業(yè)務與集群做安全驗證。
Keepalved+LVS直路由模式 DR 對IPA Server 的KDC 實現(xiàn)高可用,故障隔離與負責均衡。客戶端通過訪問VIP地址,由負載均衡調(diào)度器將請求發(fā)送到后端KDC服務器。KDC 服務器進行響應并直接返回給客戶端,開銷小、性能高、對用戶是透明的且不需要改動現(xiàn)網(wǎng)主機網(wǎng)絡(luò)配置。直路由模式 DR負載均衡技術(shù)要求負載調(diào)度器VIP IP 與后端真服務器KDC IP處于同一個Vlan網(wǎng)段,且考慮避免認證跨IDC機房時延問題,同一IDC 機房組成一個或多個KDC 服務器池,通過負載調(diào)度器提供對外服務來分流請求,可以在線對KDC擴容與對故障KDC停機維護[2]。
安全架構(gòu)負載均衡方案實施過程分為三個階段。
第一階段,安裝部署軟件,安裝部署 IPA Server 4.5版本與Keepalved+LVS,需要完成IPA Server Master和IPA Server Replica配置實現(xiàn)數(shù)據(jù)同步,完成高可用與負載均衡配置,目的是構(gòu)建成適合多主多從數(shù)據(jù)穩(wěn)定同步且具備更高可用性的安全認證系統(tǒng)架構(gòu)[3-4]。
第二階段,創(chuàng)建安全認證信息,把現(xiàn)網(wǎng)集群各節(jié)點主機注冊到新的KDC 服務器,并對集群組件、主機及用戶重新生成新的票據(jù),目的是保證現(xiàn)網(wǎng)安全認證數(shù)據(jù)在新的KDC服務器上不會遺漏。
第三階段,現(xiàn)網(wǎng)集群與應用服務器同時做KDC切換,替換集群、應用服務器現(xiàn)網(wǎng)KDC 配置與安全信息文件,目的是把安全認證切換到新的KDC。這個階段需要所有集群與應用服務器同時做KDC 切換并重啟,任何一個集群切換失敗都嚴重影響業(yè)務的可用性。
針對現(xiàn)網(wǎng)KDC版本不一致導致的數(shù)據(jù)同步問題,以及現(xiàn)有KDC安全認證在高可用性和負載均衡較弱的問題,通過升級KDC到IPA SERVER4.5版本解決KDC數(shù)據(jù)同步問題;通過部署Keepalved+LVS組件實現(xiàn)高可用和負載均衡。當KDC出現(xiàn)個別機器宕機或者退服后,認證請求自動切換到其他KDC機器,避免對業(yè)務訪問造成影響,大大提高了大數(shù)據(jù)共享平臺的健壯性和業(yè)務的連續(xù)可用性,在維護管理上更加方便。運行過程中可根據(jù)KDC 服務請求壓力情況進行在線擴容,不會對業(yè)務造成任何影響。
[1]劉艷云,夏紅雨. 一種適合大數(shù)據(jù)存儲系統(tǒng)的高效負載均衡算法設(shè)計[J]. 信息通信,2017(4):59-60.
[2]張栗粽,崔園,羅光春,等. 面向大數(shù)據(jù)分布式存儲的動態(tài)負載均衡算法[J]. 計算機科學,2017,44(5):178-183.
[3]雷軍,葉航軍,武澤勝,等. 基于開源生態(tài)系統(tǒng)的大數(shù)據(jù)平臺研究[J]. 計算機研究與發(fā)展,2017,54(1):80-93.
[4]張晉芳,王清心,丁家滿,等. 一種云計算環(huán)境下大數(shù)據(jù)動態(tài)遷移策略[J]. 計算機工程,2016,42(5):13-17.
Big Data Platform Security Certification Load Balancing Solution
Liang Meng
China Mobile Communications Group Guangdong Co., Ltd., Network Management Center, Guangdong Guangzhou 510623
Using the component FreeIPA+Ranger to implement an end-to-end security management solution for the big data platform based on Hadoop architecture. The Keberous component of the FreeIPA component performs access authentication, the Ranger component performs access authentication, and provides detailed access logs and security auditing functions to implement “l(fā)egal people do legal things”, and the operation track can be audited to completely solve the cluster existence and various types of security risks. However, in actual production, it is found that the Keberous KDC has low availability and load balancing capability, and cannot automatically achieve load balancing. It needs to be manually configured. Therefore, it is proposed to solve the problem of high availability and load balancing of the big data platform security authentication based on Hadoop architecture by using the combination of Keepalived+LVS components.
Keepalived+LVS; load balancing; KDC; Keberous
TP311.1
A
梁猛,男,工程師,本科畢業(yè)于哈爾濱工業(yè)大學電子信息專業(yè),現(xiàn)就職于中國移動廣東公司省網(wǎng)絡(luò)管理中心,主要研究方向為大數(shù)據(jù)處理架構(gòu)設(shè)計與優(yōu)化、機器學習。