天天看點

從資料流的走向看雲安全問題如何解決

以往大家更多是從雲計算技術、雲計算模型\體系架構等方面來對雲安全進行研究和探讨,本文将從另外一個角度——從資料流的走向來探讨一下雲計算,尤其是雲計算平台下的安全問題。

一. 雲平台下資料流向的大緻分類

從雲平台資料流的方向來看,大緻可分為以下幾類:

從資料流的走向看雲安全問題如何解決

圖1 雲平台下資料流的大緻分類

外部通路虛拟機

外部使用者通路虛拟機上承載的業務,流量由網際網路進入——核心——接入——實體機網卡——虛拟機。

虛拟機通路外部

由虛拟機通路網際網路,流量方向與上一種情況剛好相反,虛拟機——實體機網卡——接入——核心——網際網路。

跨實體機的虛拟機之間通路

vm 1——實體機1網卡——接入交換機1——核心交換機(可有可無)——接入交換機2——實體機2網卡——vm 3。

同一實體機上的各虛拟機之間互相通路(隐蔽信道)

實體機1上的vm 1通路vm 2。

實體機和虛拟機之間的通路(虛拟機逃逸)

實體機和虛拟機之間的雙向流量,實體機與vm互相通路。

二. 從資料流向分類看雲安全

此種情況下與傳統idc的防護思路一樣,就不詳述了,隻是部分串聯裝置部署方式需要考慮調整。一是因為雲平台扁平化是趨勢,能少串一個裝置是一個裝置,二來裝置吞吐向來也不是安全裝置的優勢,雲平台下動則10g、40g的鍊路串上去也吃不消,是以可以考慮旁路部署,按需防護。

通常雲平台虛拟機用來對外提供服務比較多,較少有主動通路網際網路的需求。不過有一種較為常見的場景就是虛拟機被攻擊者控制後用作跳闆,往外進行大流量的 ddos攻擊。這種情形下一方面會消耗伺服器的cpu資源,另一方面也會消耗雲平台的大量帶寬。是以有必要對由内往外的流量進行監測,這裡就可以使用 nta(網絡流量分析系統),一旦發現由内往外的ddos攻擊則可以将進行攻擊的源ip路由直接丢棄,中斷該ip的對外通路。

由于跨實體機的虛拟機通路會經過傳統的交換機,是以該場景下可采用傳統的安全措施來進行防護,如acl、ids等;如果沒有這類需求,可直接通過vlan劃分的方式隔離。

同一實體機上的虛拟機之間通路(隐蔽信道)

常見的虛拟化軟體預設采用軟體veb(又稱vswitch)來完成同一個實體機上的虛拟機之間通訊,由于多數vswitch隻進行二層轉發,導緻vm互訪流量不可見,是雲平台下的一大安全問題。

先說說vswitch的轉發過程,正常情況下,vswitch處理過程與傳統交換機類似,如果從實體網卡收到封包後,查mac表轉發;如果從虛拟機收到封包,目的mac在外部則從實體網卡轉發,在内部則查mac表轉發,如下圖所示:

從資料流的走向看雲安全問題如何解決

圖2 vswitch轉發

目前的思路有兩種,一種是通過vswitch來解決。vswitch在二層轉發基礎上還可實作其它功能,從vmware的介紹來看至少包括vlan、安全功能、流量管理、甚至負載均衡等功能,但是由于其實作這些功能需要消耗伺服器大量的cpu資源,使用效果如何還有待考驗。

另一種解決辦法是采用ieee标準組織提出的802.1qbg evb(edge virtual bridging)和802.1qbh bpe(bridge port extension)兩條标準,這兩條标準可以将虛拟機内部的流量引出到虛拟機外部,這樣就可以采用傳統的安全防護手段來解決隐蔽信道下的安全問題。這裡主要探讨一下應用範圍更廣的802.1qbg evb,其包含了傳統的vswitch功能的veb模式、vepa(virtual ethernet port aggregator)和multi-channel。veb上面已經說過了,簡單說下另外兩種處理方式。

一種是vepa。vepa元件從vm1接收到資料後,先轉發到實體網卡,實體網卡不管三七二十一先轉發出去到接入交換機,再由接入交換機根據mac表原端口轉回,vepa收到從接入交換機來的封包才查表進行内部轉發,最終資料到達vm2和vm3,如下圖所示:

從資料流的走向看雲安全問題如何解決

圖3 vepa轉發

通過這種方式可以将所有vm之間的互動資料通過接入交換機上進行轉發,是以可以在交換機上實施通路控制政策,隔離不相關的業務,對流量進行分析實作入侵檢測和審計等功能。

另一種是通道技術(multichannel technology),多通道技術方案将交換機端口或網卡劃分為多個邏輯通道,并且各通道間邏輯隔離。每個邏輯通道可由使用者根據需要定義成veb、 vepa或dircetor io(基于網卡sr-iov技術實作的硬體veb技術,減小了cpu的開銷,但是與軟體veb存在相同的問題)的任何一種。每個邏輯通道作為一個獨立的到外部網絡的通道進行處理。多通道技術借用了802.1ad s-tag(q-in-q)标準,通過一個附加的s-tag和vlan-id來區分網卡或交換機端口上劃分的不同邏輯通道。如下圖所示,多個veb或 vepa共享同一個實體網卡。

從資料流的走向看雲安全問題如何解決

圖4 多通道轉發

是以從理論上來說,虛拟機之間可以套用安全域劃分的概念,依靠多通道技術進行合理的虛拟安全域劃分,同一個虛拟安全域内采用veb技術,域内虛拟機互訪不受限制,保證了足夠的交換性能;虛拟安全域之間采用vepa技術,将流量引到交換機上,部署通路控制與流量監控政策等;對于單獨的安全域,尤其是獨立業務的虛拟機,采用dircetor io,與其它虛拟機流量隔離,直接轉發到外部,在外部交換機上監控其流量。

同一實體機和虛拟機之間的通路(虛拟機逃逸)

由于hypervisor(hypervisor是一種運作在實體伺服器和作業系統之間的中間軟體層,可允許多個作業系統和應用共享一套基礎實體硬體,也可以看作是虛拟環境中的”元”作業系統)存在一些已知的漏洞,這就為攻擊者從已控制的虛拟機利用hypervisor的漏洞滲透到hypervisor提供了可能。雖然利用這種方式的技術難度相對較高,但是由于所有的vm都由hypervisor來控制(啟動、停止、暫停、重新開機虛拟機;監控和配置虛拟機資源等),是以危害相當大。要解決這個問題必須得修複hypervisor的漏洞,一方面依賴于能否發現這些已知漏洞(可采用具備虛拟化檢測能力的漏掃工具或專業的滲透測試服務),另一方面依靠于vm廠商是否能夠及時提供更新檔。同時個人猜想是否可以采用vepa(從能查到的資料來看都是vepa如何解決vm之間的流量問題的)或者類似vepa之類的技術,将vm到hypervisor的雙向流量引出到外部的交換機轉發一下,這樣就為監測這類攻擊提供了可能。

三. 小結

總的來說,本文簡單地從資料流的走向來探讨了一下雲計算,尤其是雲計算平台下的安全問題和解決思路,對于雲計算平台下的安全問題除了雲計算技術引發的特定的安全問題外(隐蔽信道、虛拟機逃逸、虛拟化漏洞等),其它的安全問題基本都可以用傳統的思路來解決。

本文作者:魏俊

來源:51cto

繼續閱讀