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