文/謝勝軍 王翔 周洋
基于虛擬技術的私有云可以節約運維成本、簡化業務管理、充分利用資源、產生更高的IT效率,成為云計算的基礎,因此正在被各個領域廣泛應用。在虛擬環境下,資源、數據、服務都高度集中,如果出現安全問題,其影響范圍也會無限放大,因此虛擬化系統的安全威脅和防護要求也必須有新的應對辦法[1]。
現有基于虛擬化的私有云中傳統的安全風險并沒有完全規避。盡管單個物理服務器可以劃分成多個虛擬機,但是針對每個虛擬機的業務承載及服務提供和原有的單臺服務器基本相同,因此傳統模式下的服務器所面臨的安全問題并沒有得到規避,諸如對業務系統訪問的安全控制、不同業務系統之間的安全隔離、虛擬機的操作系統和應用程序的漏洞保護、業務系統的病毒防護等。
私有云中的服務器虛擬化,擴大了安全防護系統的對象范圍,如IPS入侵防御系統就需要考慮以Hypervisor和vCenter為代表的特殊虛擬化軟件,由于其本身所處的特殊位置和在整個系統中的重要性,任何安全漏洞被利用,都將可能導致整個私有云的虛擬化環境內的全部服務器的配置混亂或業務中斷。
在傳統的網絡結構設計中,流量是以“客戶端——服務器”的“南北向”為主,傳統的硬件防火墻能夠對網絡中的流量進行安全防護及業務隔離。但在私有云的虛擬環境中,大量的數據都存儲在類型眾多的服務器中,服務器內部眾多的虛擬機(VM)之間、特別是同一個VLAN的虛擬機之間存在直接的二層流量交換(即“東西向”流量)[2],而這種“東西向”流量并不需要經過外置的物理交換機,因此這些流量只存在服務器內部,而不會傳送到服務器外部的硬件防火墻中,導致硬件防火墻無法對其進行過濾及安全防護,管理員對該部分流量既不可控也不可見,難以做到VM之間有效的隔離與防護。
為了解決上述問題,本文提出基于NFV、vSwitch中的流量重定向以及SDN等技術實現私有云內部VM之間的訪問控制及VM的安全策略隨遷模型。
深入分析私有云中服務器虛擬化引起的各類安全問題,結合分析當前主流的虛擬化安全防護解決思路,可以深入到hypervisor層增加安全控制手段,直接將安全網關虛擬化以軟件的形式安裝在hypervisor層形成一個三層防御體系。從網絡、系統、管理三個層面對私有云中的虛擬化環境進行安全保護,重點解決VM之間網絡訪問控制和hypervisor層的安全防護,如圖1所示。
通過虛擬化軟件安全網關在私有云環境中的部署,能夠有效解決以上問題。目前,基于網絡功能虛擬化(NFV)[3]的建設思路正好可以解決這些固有的局限性,一方面可以充分利用現有的服務器計算資源,避免了專業化硬件的安裝維護,節約了成本;另一方面基于統一的私有云管理平臺,也可實現軟件安全網關快速的業務部署和策略調整。

圖1 虛擬化軟件安全網關防御體系

圖2 虛擬化軟件安全網關(VSG)防護模型
使用虛擬化軟件安全網關,能夠提供完善的安全防護功能,可以增強動態虛擬化環境的安全性。通過不同的部署方式,不論是數據中心內外部的“南北向”流量,還是數據中心內部VM之間的“東西向”流量,虛擬化軟件安全網關都能夠提供可靠靈活及全面的安全防護。如圖2所示,虛擬軟件安全網關(VSG)運行在虛擬平臺中,由虛擬機管理平臺集中管理,可以部署在邊界位置,作為邊界網關,實現“南北向”流量防護;也可部署在私有云內部VM之間,做透明部署,實現“東西向”流量防護。
在私有云虛擬環境的實際應用中,根據用戶的不同需求可以有多種類型組網模型。
對基于虛擬化的私有云用戶來說,既可以將VFW/VLB等安全業務安裝在業務服務器內,也可以部署獨立的安全業務網關服務器。信息管理部門也可以選擇分布式VFW/VLB模型,建設高性能的安全業務資源池,此時多個VM虛擬機或者獨立的服務器資源邏輯上被認為是單一管理節點,對外提供高性能的安全業務(如圖3所示)。在這種情況下,虛擬多業務安全網關可以獨立分配給不同用戶。由于虛擬網關邏輯上相互獨立,不會相互影響,因此可以由用戶自行負責虛擬網關的管理,自主實現安全策略的配置管理,大大減輕信息管理部門的維護工作量,滿足用戶完全獨立管理的需求。

圖3 VPC安全防護服務模型
前面在VPC模型中,虛擬化安全網關(VSG)作為邊界網關,對南北向流量進行防護,但對于東西向流量并不需要經過網關。實際上,VSG作為一個特殊的虛擬機運行在虛擬平臺中,正常情況下VM間訪問流量直接經過vSwitch互訪,當需要對其進行安全防護時,管理人員需要通過配置vSwitch中的引流策略, vSwitch根據流表內容對流量進行匹配,同時根據引流策略配置將需要防護的流量引流到虛擬防火墻(VFW)[4]中,由VFW對虛擬機間流量進行防護處理,最后再把VFW處理過的流量重新定向回vSwitch中進行正常的轉發,如圖4所示。通過部署虛擬化安全網關,管理人員能夠對服務器內部VM之間的流量進行管控,有效解決“東西向”流量安全防護問題,包括:設置安全策略控制對VM虛擬機之間的訪問,對VM之間的互訪進行允許或禁止;對VM之間的流量互訪進行攻擊檢測,及時發現內部攻擊行為。

圖4 VM-VM安全防護模型
VM-VM防護基本模型中,每臺主機中需要安裝虛擬化安全網關(VSG),對主機內VM-VM流量進行防護。但隨著SDN以及NFV不斷成熟,要求能夠實現更大范圍內的VM-VM間流量安全防護,而不能局限于本地主機。因此基于上述VM間防護基本模型,進一步發展出基于SDN架構的VM-VM安全防護,提供更為完善的VM間防護,部署模型如圖5所示,其防護詳細流程如下:
軟件定義流量策略。首先將需要進行安全防護的VM之間的流量進行精確定義,用戶可以通過IP地址/MAC地址或者是基于VM的名字進行策略定義,并進行允許或拒絕等動作的配置。
軟件決定轉發。虛擬交換機在接收到VM的流量后,自動將該流量首包上送到SDN Controller,之后根據預先配置的安全策略,形成OpenFlow的流表下發到本地vSwitch[5]。后續報文經過vSwitch時將檢查轉發表項,對符合規則的報文轉發到VFW。

圖5 基于SDN的VM-VM安全防護模型
軟件實現安全。初始化過程中,信息管理部門將負責對虛擬機安全軟件完成必要的安裝和初始化配置,為該虛擬機分配合理的硬件資源并對其安全業務能力進行設定,同時根據用戶的需求下發各種安全策略。在流量到達本虛擬機時,該軟件安全網關將完成各項安全檢查,完成安全檢查的流量將自動轉發到目的VM虛擬機。
軟件實現業務編排。對于部分業務需要進行多安全業務處理時,可以在服務器內部配置多個安全業務處理引擎,此時可以通過管理層對這部分流量的轉發路徑進行定義,并生成具體的路由配置策略,或者是通過隧道等方式,實現對報文在多業務之間路徑選擇的智能化以及報文封裝轉發的自動化。

圖6 VM遷移安全策略跟隨遷移
在虛擬環境中,VM的遷移非常常見,因此安全防護需要跟隨VM遷移實現自動防護;當虛擬機遷移,vSwitch中對VM的引流策略以及相關的安全策略要能夠自動跟隨VM遷移到新的主機,確保VM安全防護不因遷移而發生變化。如圖6所示,假設VM1由Server1遷移到Server2中,涉及引流策略及安全策略兩個部分的遷移。
重定向引流策略遷移:
VM1為源域的多個策略全部遷移到新的接入位置;
VM1為源對應的目地VM反向報文策略全部遷移到新上行口;
VM1為目地的策略配置如VM5-VM1,如果VM5/VM1同在一個服務器,則該引流策略從VM1的接入端口轉移到本服務器的上行口,如果不在同一服務器則該策略本身已經在上行口,可不遷移。
安全策略遷移:
安全策略由私有云管理平臺統一管理,各主機中VFW安全策略由VSG集中下發,能夠保持被管理安全策略的一致性,因此不論VM遷移到哪個Server,都能夠受到相同的安全防護;
當VM遷移時,通知私有云管理平臺由VSG過濾出與該VM有關的安全策略,自動下發到新Server所在的VFW中,保證該VM安全防護不變。
在基于虛擬化的私有云環境中,通過使用虛擬化軟件安全網關(VSG),能夠靈活部署,按需擴展,無需改變現網結構即可對VM提供保護;增強虛擬化環境的安全性,為VM之間的數據流量提供全面的安全防護;安全策略自動跟隨VM遷移,確保其安全性;新增VM能夠自主選擇已有安全策略的保護,確保其避免內外部安全威脅。
總之,目前越來越多的廠商推出虛擬化安全產品,虛擬化安全網關是私有云環境中安全防護的有效解決方案,能夠有效監控和保護私有云環境的安全,以避免其中的VM遭受內外部威脅的侵害。