摘要:設計并實現了一種將實時鏡像存儲、系統恢復和系統監控集于一體的異地容災系統。該系統將本地截獲的寫操作緩存在本地控制中心上,然后發送到遠程進行重放完成異地備份。該系統通過訪問控制機制解決了在傳統災難備份系統中訪問控制薄弱的問題;通過差錯控制保證了鏡像數據的可靠性;通過密鑰管理機制保證了災備系統自身的安全。
關鍵詞:異地容災; 鏡像; 恢復; 訪問控制; 差錯控制; 密鑰管理
中圖分類號:TP309.1文獻標志碼:A
文章編號:1001-3695(2007)08-0152-03
隨著信息社會的高速發展,數據信息正成為企業最為重要的資產,當災難發生時對數據的保護顯得尤為重要[1,2]。現在的容災系統[3]存在成本高、系統和網絡環境要求苛刻、平臺相關等問題,并且系統自身和備份數據的安全均無強有力的保證。現在市場上主要的容災產品均為國外品牌,伴隨著Internet與國際互連帶來的安全問題[4],導致容災產品的國產化勢在必行。對于國內用戶來說,只能而且必須依靠國內的產品解決。
針對上述問題,本文設計并實現了一種構架于Internet的基于安全控制的異地容災系統。此系統具有如下特點:鏡像策略好,對應用系統影響小;發生災難時自動切換服務;恢復迅速;訪問控制好;差錯控制嚴格,數據備份一致性、安全性高;提供了完備的密鑰管理系統。
1系統設計
1.1體系結構
該異地容災系統的體系結構由兩大部分組成,即本地應用系統和遠程備份應用系統,如圖1所示。
本地應用系統包含本地網關控制中心和本地應用服務器群;遠程備份系統包含遠程網關控制中心和備份服務器群。災備系統將本地應用服務器群的業務,通過網關控制中心,遠程鏡像到備份服務器群。在備份數據的鏡像過程中進行嚴格的差錯控制,保證了備份數據的機密性、有效性和一致性。災難發生時,由備份系統接管服務,并及時對本地應用系統進行恢復。用戶對系統的管理請求采用訪問控制審核,減少惡意訪問。整個系統處于完備的多重密鑰體系保護之下,保證了密鑰自身和數據的安全。
1.2總體設計
本容災系統結構中,控制中心模塊結構類似,備份服務器和應用服務器結構簡單對稱。功能模塊如圖2所示。
1)鏡像模塊對于配置的每個災備任務,在本地應用服務器進行寫操作的截獲,發送給本地控制中心由鏡像模塊進行緩存,并按序提交給遠程備份系統進行寫操作的重建。
2)監控模塊該模塊定時向任務組內設備發出查詢信息,由各設備報告當前任務組運行情況進行監控。
3)服務切換模塊當災難發生時及時改變服務提供者,保證業務連續。
4)恢復模塊對發生災難的系統進行策略恢復。
5)訪問控制模塊對用戶的管理請求進行策略匹配;對用戶的身份進行審核;授予不同用戶不同的權限。
6)差錯控制模塊對災難備份的數據進行數據摘要計算、加密傳輸,保證在Internet的傳輸中數據的一致性、有效性和機密性。
7)密鑰管理模塊對系統中的密鑰體系進行管理,動態更新密鑰,對整個系統進行保護。
8)通信模塊控制通信過程中的超時和亂序問題,保證數據傳輸的健壯性和備份數據的順序傳送。
此外系統記錄所有的系統事件和操作,與所有的配置管理信息一起加密存放在日志數據庫和災備數據庫中,保證了自身信息安全。
2系統實現
2.1災難備份子系統
2.1.1鏡像模塊
遠程數據鏡像模塊是整個災難救援系統的核心部分。備份流程如圖3所示。
圖3數據備份流程
當各臺主機設備建立了(本地數據磁盤、緩沖磁盤、遠程備份磁盤)三元關系后,一個災備任務就被創建,控制中心啟動寫操作監控。
鏡像過程按三個階段進行:
1)本地分區的寫操作的截獲
寫監控驅動模塊在用戶文件系統與設備驅動層之間加入了一層寫監控驅動,隔離了不同文件系統和設備,對用戶完全透明。用戶對本地應用服務器設備寫入數據時,嵌入的寫操作監控程序完成寫操作在向設備驅動提交前的截獲,并將截獲的寫操作副本進行封裝,通過高速的本地網絡發送到控制中心進行緩存,然后將寫操作實際向設備驅動提交,完成對物理磁盤的寫操作。
2)控制中心寫操作的緩存
由于通過不穩定和低速的Internet網絡進行控制中心和遠程備份系統通信,發送到控制中心的寫操作由控制中心鏡像模塊進行處理。鏡像模塊由一個讀進程、一個寫進程以及相關的操作組成。寫進程將收到的寫操作進行封裝提交給緩沖磁盤進行緩存,等待緩存成功后通知讀進程在網絡良好時將寫操作讀出進行還原,發送到遠程并等待對方確認,待遠程確認后銷毀緩存中的數據。
3)備份系統寫操作的重建和提交
遠程備份系統在收到寫操作數據后,將寫操作的目標磁盤修改為遠程鏡像磁盤,然后提交給設備驅動,完成寫操作的重放,最后向控制中心進行確認,完成本地數據到遠程鏡像的全過程。
2.1.2監控模塊
系統加載時,各主機啟動進程在指定的端口上守護監聽,本地網關控制中心啟動系統監控主進程,以周期T1發送消息,查詢各主機設備狀態,更新災備數據庫,并通過用戶接口向用戶顯示當前系統狀態。如果監測到系統故障,則立即通知服務切換模塊和恢復模塊,轉換服務提供者,并且迅速恢復系統,對外提供不間斷服務。
2.1.3服務切換模塊
當本地應用服務器發生故障時,控制中心根據任務組配置信息,將發向本地應用服務器的所有服務請求重定向到組內對應的備份服務器,由備份服務器來響應原來的服務請求,保持業務的連續性。恢復成功后再次切換服務繼續由本地應用服務器提供服務。
2.1.4恢復模塊
災難恢復模塊負責災難發生后的快速數據恢復。系統提供全恢復和增量恢復兩種恢復方式。增量備份通過計算數據的摘要值定位改動過的數據進行備份,管理員也可根據需要人工選擇可信賴的數據源進行災難恢復,由后臺恢復程序響應恢復指令,完成系統恢復。除本地系統和遠程系統均發生故障的情況,須人工選擇相對可信賴的數據源外,其他情況均可經由系統提供的恢復策略進行自動恢復。恢復過程中,管理員可進行人工干預,進行選擇性恢復或隨時中止恢復過程。
2.2安全控制子系統
2.2.1訪問控制模塊
用戶對網關控制中心的請求由訪問控制模塊進行身份審核,獲取相應權限進行受限的操作。
訪問控制主要由三部分(圖4)組成:
1)包過濾規則匹配
訪問控制模塊內嵌包過濾防火墻,只有來自合法的網段對合法端口的訪問才能向上提交。
2)訪問控制列表
對具體合法用戶IP在系統中形成訪問控制列表,在經過包過濾的匹配后,還要經過訪問控制列表的匹配,確定用戶的IP是否合法,如果用戶和控制中心處在同一網段,還必須符合(IP,MAC)對的完全匹配。
3)基于角色的訪問控制
最后的認證采用基于角色的訪問控制技術RBAC(rolebased access control),將用戶與其具體權限分離開來,給用戶授予角色來實現對用戶的授權操作。用戶通過用戶名、口令的驗證后,由用戶名查到對應的角色,用戶被當做相應的角色成員而獲得相應的權限,進行受限的管理操作。這種模型實現了靈活的授權機制,便于分級管理,減少了網絡實施風險。
2.2.2密鑰管理模塊
系統密鑰體系由災備系統主密鑰(SMK)、災備主機主密鑰(MK)和災備任務傳輸密鑰(TK)三級組成。SMK整個災備系統一致,生產時統一分發;MK與災備設備ID號關聯,每臺設備惟一;TK對一個本地和遠程的災備任務惟一。
災備系統生產時,首先由式(1)得到每臺設備惟一的MK,然后根據式(2),用MK對SMK明文MSMK加密,得到的密文再用卡口令PIN加密,最后形成的SMK密文CSMK存放在開機密碼卡中。
系統加載時,管理員插入密碼卡啟動災備設備,系統處理如式(3)所示。首先從卡中讀出密文CSMK,提示管理員輸入PIN口令,解密出由MK加密的SMK密文,再由式(1)得到本機MK,在內存中用MK解密最終得到SMK明文MSMK。SMK的安全取決于PIN和算法K,兩者彼此分離,缺一不可,保證了SMK的安全。
當一個災備任務啟動時,本地控制中心用SMK加密本機MK發給遠程進行MK的交換,由式(1)逆運算出machine_id,比較本地與遠程machine_id大小,確定TK協商發起端和目標端。發起端發起TK協商請求,目標端將隨機生成的TK用SMK加密發回給發起端,發起端用SMK解密得到TK,用于本次會話的災備數據傳輸的加密,TK協商以T2的時間定時更新,增加了TK的動態性,加強了傳輸信道安全性。SMK、MK和TK均只能以明文存在內存中,如果設備被盜被撬,內存中的密鑰將全部銷毀,保證了密鑰安全。所有的災備數據均用SMK和MK兩次加密存放在數據庫中,保證了災難備份數據的安全。
2.2.3差錯控制模塊
3結束語
本文設計并實現了一種基于安全控制的異地容災系統,具有遠程鏡像、服務切換和系統恢復功能,安全控制好,備份數據安全性高,系統構架簡單,投入低,有很高的實用價值,在容災應用中有著積極意義。
參考文獻:
[1]李濤. 網絡安全概論[M]. 北京:電子工業出版社, 2004:423-458.
[2]韓德志, 謝長生, 李懷陽. 存儲備份技術探析[J]. 計算機應用研究, 2004,21(6):1-4,7.
[3]EHRHARDT A. Extension of storage area networks and integration on different platforms of an optical transport network[C]//Proc of the 6th International Conference on Transparent Optical Networks.2004:229-232.
[4]MANCHESTER J, DEBANJAN S, TRIPATHI S K. Protection, restoration, and disaster recovery[J]. IEEE Network, 2004,24(2):3-4.
[5]KOTLA R, DAHLIN M. High throughput Byzantine fault tolerance[C]//Proc of International Conference on Dependable Systems and Networks.2004:575-584.
[6]CHEN Yan, QU Zhiwei, ZHANG Zhenhua, et al. Data redundancy and compression methods for a diskbased network backup system[C]//Proc of the International Conference on Information Technology: Coding and Computing.2004:778-785.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”