對于云數據中心,在實施等保的過程中,如何防范安全區域邊界環境的攻擊往往是難點。有別于傳統的攻擊方式,由于增加了虛擬化層面的部署,邊界受攻擊的范圍也隨之增加。為此,我們必須要考慮三個方向的攻擊。
一是由外向內的攻擊:由外部網絡向云數據中心內部發起的攻擊;
二是由內向外的攻擊:由云數據中心向外部網絡發起的攻擊;
三是由內向內的攻擊:云數據中心內部同一臺物理服務器VM(虛擬機)之間的攻擊。
對于“由外向內的攻擊”和“由內向外的攻擊”,采用傳統網絡環境中網絡設備、服務器等物理設備之間較成熟的邊界安全控制機制即可實現(這就是常說的云數據中心南北向流量)。
但對于“由內向內的攻擊”這種特殊的新環境(這就是常說的數據中心東西向流量),由于在云計算環境中同一臺物理設備中各VM間的網絡通信都是采用虛擬以太網交換技術VEB(Virtual Edge Bridge)在虛擬化平臺內部來處理,各VM之間的網絡流量不會經過物理網絡環境,這就導致在物理網絡安全設備上對這部分不可見網絡流量的檢測、分析和控制措施將完全失效。這樣的后果就是在各VM之間可能形成隱蔽信道而被攻擊者利用。因此,如何解決VM之間流量可見性問題,是需要探討的。目前業界面對該問題主要有兩類思路。
安全設備虛擬化
把安全設備虛擬化,部署到虛擬環境中,使其在虛擬平臺內部解決流量可視化的問題,在虛擬平臺內部做防護。對此,VMware已經有了解決思路,它把對虛擬環境下安全問題的研究方向集中在了其數據中心虛擬化平臺VMware vSphere的兩個套件上:VMsafe和vShield。
VMware VMsafe是一組特殊的應用程序通用接口組件(API),專門構建于VMware ESXi中。利用它可以使合作伙伴或者第三方安全廠商開發相應的虛擬化安全產品(如虛擬化Firewall、虛擬化IDS/IPS等)。這些虛擬化的安全產品直接部署于Hypervisor上的一個具備特殊權限的VM中,該VM可以直接訪問Hypervisor中的數據,因此,可用來監視和控制各VM之間接收和發送的網絡流量。
VMware vShield是為了保護虛擬化數據中心平臺VMware vSphere免遭攻擊和誤用而基于VMsafe API開發的關鍵安全組件,我們可以理解為保護VM和分析虛擬平臺內部網絡流量的虛擬化防火墻。安全管理員可以利用vShield各個安全模塊部署配置虛擬機環境中的各項安全策略。比如: vShield Zones(虛擬防火墻防護)、vShield APP(VM之間入侵防御、流量分析等應用層防護)、vShield Edge(VM外圍網絡安全邊界防御)、vShield agents(虛擬機掃描終端)等。
另外,Xen虛擬化平臺也有類似的安全機制,在Xen Hypervisor上有一個具備管理接口的特權VM(Domain 0)。作為Xen Hypervisor的擴展,Domain 0可以直接訪問Hypervisor中的數據,同時監視和控制其它VM實例(Domain U)之間的網絡流量。
但此類方案的缺點在于:安全設備占用服務器的資源,且受制于虛擬操作系統,因此在靈活性上受到很大的制約。
虛擬環境內部流量牽引至物理網絡
如果能把虛擬平臺內部的“不可見”流量牽引至物理環境,那么這部分流量對于傳統安全防護設備來說就“可見”了,就可以采用傳統的安全防護措施處理虛擬平臺內部的攻擊。而且這樣做的好處是安全設備不會占用服務器自身的計算資源,且安全設備有著更高的可擴展性,從而實現更經濟、更有效的安全隔離與防護,這種思路在業界也已經有了多種方案。
1. vSwitch引流方案
在VMware ESX/ESXi環境下,我們也可以使用內置的vSwitch(虛擬交換機)來實現流量牽引。vSwitch是由VMware ESX/ESXi內核提供,是一個虛擬化的交換機,主要用于同一臺物理服務器VM之間互聯。一個ESX/ESXi環境下可以配置多個vSwitch,每個vSwitch可以使用一塊或多塊物理服務器的物理網卡,但是一塊物理網卡只能對應一個專屬的vSwitch。ESX/ESXi部署后會默認安裝第一臺虛擬交換機vSwitch0,用于虛擬機主控臺。
利用vSwitch的上述特性,如果為同一個物理服務器上的多個VM分別配置給不同的vSwitch,那么每一個vSwitch之間的通信流量肯定都是相互隔離的。如圖2所示,如果一個vSwitch上的VM需要與同一臺物理服務器上的另一個vSwitch上VM通信,那么這部分流量就必須經過所對應的物理網卡,從而將流量牽引至物理網絡,這樣就能使用傳統的網絡安全防護機制來對VM之間的流量進行監控與防護。
2. VEPA引流方案
利用vSwitch與物理網卡配合的方式可以牽引出虛擬平臺內部不同vSwitch下VM之間流量,那么同一個vSwitch下各VM之間的網絡流量如何處理,是否能夠牽引出物理網絡?這又是一個新問題。
目前業界已經有了邊緣虛擬橋接EVB(Edge Virtual Bridging)標準,即IEEE 802.1Qbg標準。標準中的虛擬以太端口匯聚器VEPA(Virtual Ethernet Port Aggregator)技術就是解決將VM之間產生的網絡流量全部牽引至與服務器外部上聯的物理交換機進行處理轉發的問題。也就是說在VEPA環境下,虛擬環境內部VM之間網絡通信流量不會再采用VEB(可以理解為vSwitch)機制在虛擬化平臺內部來處理,而是被強制牽引至服務器物理網卡外部,由網卡上聯的VEPA交換機接收并處理后才轉發回虛擬平臺內部。
與vSwitch技術方案類似,VEPA牽引流量的方案采用純軟件方式即可實現。
3. VN-Tag引流方案
除了VEPA技術之外,思科的私有虛擬化網絡控制協議VN-Tag(目前是IEEE 802.1 Qbh)也能夠實現將虛擬平臺內部VM之間流量牽引至外部物理交換機來處理轉發,實現方式主要是在傳統以太網幀基礎上增加VN-Tag幀頭以標識每個VM所綁定的虛擬接口。但是與VEPA技術方案不同的是,VN-Tag技術的實現會受到服務器物理網卡和交換設備硬件支持的制約。