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