標籤:openflow iaas
編者按:雲端運算技術的服務型基礎設施即服務(IaaS),以其可擴充性、高效性及彈性等特點正在成為資源利用的主導方式。在從雲端運算的IaaS應用獲得便捷的同時,安全性漏洞和隱患也需要被關注。在這項工作中,我們提出建議架構,並已形成論文《An OpenFlow-based Architecture for IaaS Security》,以解決雲端運算的安全問題以及展示我們實驗活動的第一批成果。
簡介
IaaS的服務模式允許在不關注底層物理基礎設施的情況下,配置和運行異構應用程式。雲端運算技術建立出一個可以重現真實作業環境的虛擬化實驗床,包含以下優勢:
■一個在內部重現真實世界情境進行測試活動的機會;
■自動處理整個平台的備份和故障恢複的可行性;
■自動設定和管理實驗平台的組件和版本化;
基於學術研究分析,雲端運算的安全問題涉及很多不同的領域。認證、授權和計費的處理方式也將受到很大的影響:安全威脅往往起源於內部使用者,所以往往按照明確的全域原則,只允許有認證的使用者才能訪問指定資源。與平台資源相關的使用者行為應該被監管以便進一步分析處理違反策略的行為。另一個重要的工作就是管理安全性原則,來保證整個雲資料存放區的可用性、完整性和保密性。在這種情況下,先進的加密方案可以用來保證只有指定的認證使用者才能在雲資料存放區中訪問、修改和刪除資訊。
虛擬化技術是IaaS模型的核心,它正迅速的改變網路安全的需求。傳統的安全手段,如內部安全裝置和存取控制名單在處理虛擬伺服器和資源時,由於要應變拓撲的快速變化而需要更新,這是不可持續的,只有經過授權的主機和裝置才能夠在虛擬網路裡通訊,而惡意訪問則會以某種方式被限制。虛擬層也帶來了新的安全挑戰,因為虛擬用戶端很容易被入侵併且損壞其他虛擬機器。所以其中一個可能的補救措施就是檢查虛擬機器的行為,同時,檢查虛擬機器的鏡像來核實他們的完整性。
為了有效處理雲安全事件, 我們提出基於OpenFlow架構的識別攻擊模式,並且實現緩解、恢複策略以對安全事件做出反應,這種結構的設計已經在IaaS雲平台OpenNebula中部署實施 ,它代表了一個真實的地區管制中心(ACC)。在實驗平台啟動並執行應用程式強調了安全解決方案自動處理災難和攻擊的恢複需求。這裡提出為了設計結構進行的初次實驗活動:
■不同的開源OpenFlow控制器之間的效能對比;
■在供應時間度量的基礎上三種不同的開放源碼的IaaS平台的特徵;
■為了提供L2 VLAN封裝/解鎖裝,在所選擇的控制器上執行新功能。
OpenFlow和SDN模式
基於軟體定義程式網路(SDN)實現虛擬化實驗平台網路處理和配置的方式,是一種對網路新的認知方式。與網路裝置相關的資料平面及集中外部邏輯的控制平面與傳統網路裝置有明顯不同。採用SDN收穫的最大益處是對應用程式層的完全隔離和全域視圖。第一種情況下研究人員可以在控制層之上建立自己的應用,與網路裝置完全隔離開來。因此可以寫入新的協議或應用程式,而不會影響裝置的內部結構。第二個優點涉及網路本身的全域視圖可用性,所以很容易對事件作出反應,並且改變拓撲。OpenFlow是這種途徑的一個實現方式,包含了控制層和資料層之間的介面,定義了所有通過建立在網路交換器和外部控制器之間的安全通道資訊,從而按照資訊流來決定邏輯順序。如今SDN對雲端運算網路服務十分有吸引力,因為它代表了一種靈活的動態建立虛擬網路的方式,並且保證多租戶的二層隔離。另外,從之前的分析和實驗得到的結果中可以確認OpenFlow可以使網路得到極大地靈活性,確保動態安全性原則的實施,而不需要改變網路組件的內部結構。這就是為什麼OpenFlow被認為是一種面對漏洞的有效算手段,即使是在一個像雲端運算IaaS這樣的動態環境下也能在面臨安全問題時自動執行減災和恢複的策略。
合適架構
架構主要從三個不同的層來分析,雲層展示了兩個資料中心,位置上通過一個私人企業的骨幹網串連,為了進一步提高資料中心的安全等級,可以利用一個基於MPLS(多協議標籤交換協議)的拆分機制,把資料包分割成幾部分,並重新導向到分離路徑,這樣截獲的惡意使用者就不能重新構建訊息了。每個資料中心都有自己的IaaS叢集並有一個主節點用於負責管理所有基礎設施。在虛擬化層,視圖是獨立於一個部署在資料中心的特定平台,關於組織架構,每一個物理機,即“計算”節點,建立一個虛擬交換器掛載所有的客戶機網路介面。在虛擬交換層,使用OpenvSwitch技術,提供了一個套功能,其中的OpenFlow協議可以實現。交換器的流表通過OpenFlow的控制器編程:當由虛擬客戶機所產生的資料包到達的交換器,並且沒有匹配可用的規則,它被發送到控制器,它可以決定在交換器下發新的規則以轉寄或丟棄方式處理資料包。所有虛擬機器產生的流量都會被控制,並且會根據一些有名的惡意攻擊模式進行檢查,以找出可能存在的攻擊。當檢測到異常網路活動時,由Snort產生警報並通過TLS(傳輸層安全)外掛程式到達警示關聯器,從而執行以下操作:
■事件儲存
■對需要確定攻擊的嚴重性層級資訊提取後進行通知
■在上述嚴重層級的基礎上識別緩解策略實施。
策略將由與IaaS的管理器和OpenFlow控制器互動觸發。當一個虛擬實驗平台遭到攻擊被檢測出來後,我們打算實施的策略主要是把被攻擊的VM遷移到相同基礎設施但不同的資料中心裡,遷移完成後,關聯器可以指示控制器改變客戶之前託管的物理節點中虛擬交換器的資訊流,以保證位置的透明度。
實驗活動
展開的第一個實驗工作,目標是從幾個OpenFlow控制器中選擇一個開源的解決方案。OFlops(OpenFlow Operations Per Second)完成了對控制器效能的比較,它是由兩個軟體包構成的。
■OFlops,一個允許基準交換器許多功能的特定控制器;
■Cbench(Controller benchmarker),通過類比交換器的串連為控制器產生資料包傳入;
這樣可以計算出資料包傳入率的最大值,資料包到達和傳入的延遲以及處理延遲。
顯示出Flow-mod每秒的訊息數,通過這個訊息,控制器能夠安裝、修改或刪除交換器列表的流規則。在比較中,也將考慮其他參數,如擴充性和易修改性, RESTful APIs的可用性和項目開發背後的支援。我們的選擇落在Floodlight,這是一個在Apache許可證下發布的基於java事件的控制器,由一個開放社區開發。
為了提供L2隔離功能,使用VLAN技術在虛擬機器之間通訊,修改Floodlight的“轉寄”模組,使用OpenFlow技術以實現VLAN標籤的封裝/解鎖裝。VLAN標籤只能被雲平台本身直接檢索,可以識別到屬於虛擬網路的虛擬機器帶有特別的VLAN標籤。其他的修改則配合控制器與OpenvSwitch之間通道的保護措施。後一種本身支援SSL訊號交換,所以我們用私密金鑰或者公開金鑰(由JAVA密鑰工具產生)處理實現Floodlight串連模組中的通訊安全。
作為本次實驗最後一步,我們評估了三個不同的IaaS平台的“置備時間”:這個度量指的是從產生新的虛擬機器(通過API)的請求開始直到平台獲得“ready”的狀態中間的這段時間。我們認為這會產生16種組合,他們由4個參數組合出來,分別是:
■服務提供:新的虛擬機器的需求偏好,即虛擬CPU的數量和RAM的大小;
■資料存放區(二進位):虛擬機器的二級磁碟儲存;
■物理節點壓力:已經承載在節點上的虛擬機器的數量(0-5);
■自動調度(二進位):負責挑選新虛擬機器分配承載位置的設施。
我們計算出建立10個請求不同但結構相同的虛擬機器的算術平均值,以下是與我們觀點相關的特定組合:(1)一個中間伺服器請求(1個虛擬CPU,2GB RAM)(2)資料存放區請求(3)物理節點上已承載的5個虛擬機器(4)調度模組啟用。
總結
在這次工作中我們先討論了雲端運算環境的安全問題的挑戰相關的背景。然後通過描述我們所需的所有架構組件,提出了一個基於SDN的保證網路安全和在攻擊時的反應選擇途徑。未來我們的工作目標是使用更複雜的入侵檢測機制,以便能夠檢測未知的和不尋常的流量模式。此外,我們打算通過進行雲端運算的IaaS平台之間更準確的比較來擴大實驗活動,主要是基於其他一些參數,如:彈性、敏捷度、網路壓力和CPU/儲存空間的使用率。
基於OpenFlow架構的IaaS雲安全