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