劉春雷 馬云飛
1.臨沂市人民醫院;2.菲律賓克里斯汀大學國際學院
為保證數據安全,保障業務的高可用,兩個或多個數據中心協同作戰,共同保障的方式成為大家共認的解決方案。堡壘機作為數據中心重要的運維安全設備,其雙活部署可以很好的解決一個數據中心癱瘓的情況下,運維人員可以幾乎無感知的繼續運維,保障運維的連續性和高效性。本文研究了堡壘機跨數據中心雙活部署的原理與實現,以供參考。
隨著信息化進程的不斷推進,企業信息系統變的日益復雜。不同運維背景和運維水平的人員,因信息安全意識不同,技術能力不足等原因,越權操作、違規操作計算設備、操作系統、網絡設備、安全設備、數據庫等設備或軟件而造成安全問題的事件層出不窮。堡壘機也稱作運維安全審計系統,其主要是用來防護特定區域網絡內的網絡信息系統的一種設備,堡壘機的防護主要是兩個層面,一個是外部的用戶訪問入侵和惡意破壞,另一個是防護內部用戶對網絡信息資源的訪問入侵和惡意破壞,依托多種技術措施和手段來實時監控堡壘機防護范圍內的網絡環境下的每個軟硬件的使用狀況、操作實況、進行追溯回放等。通過集中化運維管控、統一運維管理出口,實行身份認證與權限控制、記錄和監控運維人員操作過程、從而為數據中心運維,構建了一套完善的事前預防、事中監控、事后審計的運維管控體系,最終實現對運維訪問的合規性控制。堡壘機作為一種重要的運維安全審計設備,已經成為現代數據中心運維中必不可少的一種安全設備。
堡壘機的作為主要的運維審計設備,其主要功能體現在幾個方面:(1)運維賬號的設立及對應權限的設置。根據維護人員的分工權限,設立維護人員在堡壘機的運維賬號并授予其管理的軟件或硬件的操作權限,賬號和權限的細粒度關聯,使得用戶與系統和操作之間做到一一對應,滿足了細粒度管理的要求。(2)對運維賬號的全生命周期的操作審計。從運維賬號登錄時間起一直到賬號退出,此賬號所做的所有操作均被記錄,方便事后追溯。(3)滿足網絡安全法及等保要求。運維審計日志保存6個月以上以及雙因素認證登錄,滿足了網絡安全法和等保的相關要求。
為保證業務的可靠性、連續性,服務器和數據在多數據中心存在,已成為一種業務安全性保障的一種重要措施。不論是雙活數據中心建設,還是容災機房建設,還是災備機房建設,目的均是為了保證數據的安全,確保在突發情況發生時,另一份數據可以拉起或者可以恢復。
如前所述,堡壘機是數據中心設備運維當中的唯一通道,其是打開服務器、網絡產品、安全產品等核心設備的一把“鑰匙”,如果運維過程中鑰匙丟失或者損壞,我們將不得不采取密碼恢復,將密碼明文告知工程師,運維審計無法進行等情況,將會給我們的運維工作帶來很多麻煩和無法預估的損失,所以堡壘機的冗余部署勢在必行。
傳統的堡壘機部署方式有單機部署,HA本地高可靠部署。單機部署是風險最高的,只要此單臺設備故障,堡壘機即失去運維能力。本地雙機部署可以解決單機部署所帶來的風險,一臺設備出現故障,另一臺設備可以接替故障設備繼續工作,但是本地雙機部署仍然無法解決數據中心級別故障情況下的設備運維問題。比如一個數據中心發生停電,水災等情況,整個數據中心無法使用,即使另一個數據中心是雙活或容災數據中心,但因為堡壘機只部署在故障數據中心內,可用數據中心的設備無法實現運維接管,必然會進行密碼的恢復等系列操作,耽誤很多的業務恢復時間。所以多數據中心情況下的堡壘機跨數據中心部署是運維連續性的一項重要舉措,非常有必要。
堡壘機跨數據中心的雙活部署,需要重點解決兩個層面的問題。(1)網絡引流的問題,即堡壘機運維會話的負載分發,通過適合的負載配置將運維會話請求分配到適合的堡壘機節點上,由堡壘機節點完成連接服務器的后續操作。(2)保障兩臺堡壘機之間的數據一致性,運維人員不論在哪個數據中心,都可以呈現統一運維界面,同一運維內容。實現這兩點,堡壘機才能為用戶提供跨數據中心運維正確的訪問授權和審計服務。
我院堡壘機的數據引流算法,選用的是LVS-SH調度算法,LVS-SH調度算法可以對訪問堡壘機的源地址進行Hash,并通過Hash找出對應的堡壘機節點。這樣相同IP在訪問堡壘機集群時,在會話保活期內訪問的均是同一臺節點,后續所有數據均由此節點與客戶端直接交互,不再經過調度節點進行轉發,因此具有較高的處理效率,而且此算法幾乎沒有單點瓶頸。調度節點出現故障后,也不會影響已經連接到其他節點上的正在進行的服務。
為保證配置數據的一致性,堡壘機將配置數據保存在PostgreSQL數據庫中,并采用PostgreSQL Replication技術來實現數據同步。集群內,有一個節點為PG主節點,所有的寫操作都在這上面發生;其他節點均為PG從節點,會實時同步PG主節點上的數據變動。所有從節點中,有一個節點會與主節點進行數據的同步備份(僅當備份成功后,數據庫事物才會提交);其他節點則與主節點進行數據的異步備份(數據庫事物在主節點提交后,隨后才會備份到從節點上,不影響數據庫的響應能力)。這樣部署既可以保證數據的高可用,也可以最大程度上確保集群的性能。另外堡壘機的數據庫服務器部署在跨數據中心的私有云環境中,即使一端數據中心出現極端情況,出現了服務器宕機等情況,數據庫服務器仍可以自動漂移至另一院區數據中心的虛擬化池中,這也保證了數據庫的高可用和數據的一致性[1]。
對于審計數據,通過使用GlusterFS分布式文件系統保存回放文件等以文件形式保存的審計數據。GlusterFS具有無元數據節點瓶頸、高可用、高擴展、高性能、高效率等特點,特別是對于堡壘機的回放文件通常比較大的特點,GlusterFS可以充分發揮其大文件處理效率高的特點。
堡壘機的故障檢測和切換是通過Keepalived實現的,而Keepalived高可用服務對之間的故障切換轉移,是通過VRRP來實現的。VRRP可以實現堡壘機雙活中的虛擬IP共享,用戶僅需要訪問虛擬IP地址即可。在 Keepalived服務對之間,作為主的服務器會一直發送 VRRP廣播包,告訴備服務器它還活著,此時備不會搶占主,當主不可用時,即備監聽不到主發送的廣播包時,就會啟動相關服務接管主,承擔主所運行的資源,從而保證業務的連續性。因接管速度最快可以小于1秒,用戶幾乎無感知。至于會話連接,當雙活的某個節點故障時,連接到該節點的會話會斷開,被自動分配到其他正常節點上,而且一直連接到其他正常節點的會話沒有影響,雙活將持續運行。故障節點恢復后,將自動重新恢復雙活,無需進行人工干預,雙活狀態自動恢復到正常狀態。
在分析透徹雙活堡壘機部署的原理和難點后,再行部署雙活堡壘機頓感目標明確,思路清晰。在我們單位實現跨院區雙活數據中心的基礎上,我們給雙活堡壘機搭建了虛擬堡壘機數據庫服務器,部署PostgreSQL數據庫。兩臺堡壘機分別部署在兩個數據中心,配置獨立的IP地址后,通過VRRP協議虛擬出虛IP地址,運維人員通過此虛擬IP分別自動連到恰當的堡壘機上實行運維。雙活堡壘機部署完畢后,我們組織進行了堡壘機切換測試和堡壘機故障演練,將一端的堡壘機硬性斷電,查看另一端堡壘機的接管情況,實際檢驗雙活堡壘機的切換效果。通過測試,運維賬戶可以實現無感知繼續運維,我院雙活堡壘機部署切換正常,雙活堡壘機部署取得了成功[2]。雙活堡壘機部署如圖1所示:

圖1 雙活堡壘機部署Fig.1 Double live fortress machine deployment
堡壘機部署過程中也遇到了一些困難。堡壘機內存使用率過高就是其中一個。經過分析,雙活部署模式下,因運維人員多,運維數據大,每天呈現百萬級增漲,堡壘機數據處理模塊效率下降,每分鐘處理數據量無法滿足每分鐘產生的數據量,導致堡壘機數據緩存服務不斷堆積新數據。物理內存不斷消耗,直至被耗費殆盡。
經過與研發和實施工程師反復研究,造成這個問題的原因是在雙活部署環境下,堡壘機數據庫的分區表插件工作效率嚴重下降導致,通過研發工程師重寫分區表插件解決了這個問題。部署過程中還遇到用戶在多次使用堡壘機的過程中,造成一些業務無法正常使用或需要頻繁登錄。通過LVS會話持久化配置,使登錄用戶在一定時間段內連接的會話均分發至同一堡壘機,從而解決用戶某些需要會話保持的功能,無法正常使用的問題。
堡壘機跨數據中心部署,保證了數據中心級別災難發生的情況下,服務器的運維仍可正常進行,使用習慣不改變,維護效率不降低,可以取得高可用的效果,但凡事正反兩面,高可用、高安全必然牽涉到更多的技術,更復雜的結構,這也就對運維提出了更高的要求。安全設備的運維一定要以制度加技術相結合的方式進行管理[3]。
堡壘機的管理首先需要從制度上明確數據運維管理的責任義務。堡壘機賬號的申請,不論是單位內部職工還是公司駐場人員,都需要先行簽訂保密協議且確有運維服務器的需求。正式申請必須要通過辦公流程進行審批,審批通過后方可開通賬號。賬號要分級分類進行管理,根據賬號持有人的需求,分配相應權限。為滿足等保要求,堡壘機管理制度中還需要對雙因子認證登錄,三權分立管理,日志留存六個月,告知賬號申請人堡壘機管理規定等相關內容。
既然要通過堡壘機實現身份認證和SSO,那就要堵住其他服務器運維管理的通道和端口。通過防火墻做好ACL策略,控制以遠程桌面方式訪問Windows系統以及SSH協議或telnet協議訪問Centos等Linux系統,限制訪問服務器的IP地址,不允許其他IP地址登錄服務器,只允許堡壘機訪問,以便將所有運維及訪問入口均通過堡壘機設備管控,實現全流程監管。
通過設置雙因子認證。登錄堡壘機的運維賬戶不僅要輸入賬戶密碼還要輸入隨機驗證碼,這大大降低了被攻擊識別的可能性。開啟防暴力破解功能,讓試圖通過撞擊密碼進行的攻擊,在猜測三次后即被關閉在“大門”之外。
堡壘機雙活部署雖然保證了運維的高可用,但如果運維工作跟不上,高可用也會變成不可用,所以進行定期的雙活堡壘機的巡檢非常的重要。每日運維人員登陸主備堡壘機和堡壘機數據服務器查看數據庫服務器狀態,及時發現問題處理苗頭性問題,始終保持兩臺堡壘機的良好運行狀態,對于保證雙活堡壘機運行的長久穩定性很有必要。
堡壘機做為運維管控的核心設備,其集群部署,在目前多數據中心并存成為主流的背景下,解決了在一個數據中心癱瘓的情況下,服務器、交換機、數據庫等關鍵軟硬件設備的運維,仍可以在無需調整運維方式的情況下繼續運維,保持實現運維審計和權限管控功能,實現了運維安全的連續性,為兩個或多個數據中心設備的不間斷運維提供了很好的解決方案。