《電子技術應用》
                                                您所在的位置:首頁 > 通信與網絡 > 期刊動態 > 基于OpenFlow的網絡安全技術研究

                                                基于OpenFlow的網絡安全技術研究

                                                2021-10-27
                                                來源:21ic中國電子網

                                                  引言

                                                  OpenFlow是一種軟件定義網絡(SDN)的解決方案,它使得網絡的靈活性大大增加。它是以在實際環境中測試新協議為初衷而開發的新技術。OpenFlow在使用新協議時不打斷原有網絡的正常運行,并且使用OpenFlow的網絡轉發設備(Switch)實現了與控制器(Controller)的標準接口,新的協議、轉發方式不必重新開發網絡轉發設備,從而減少了不必要的麻煩(如廠家不愿意開放其技術細節,導致第三方無法進行對設備的靈活升級、使用)。OpenFlow技術使得網絡更加靈活,已經成為軟件定義網絡的解決方案之一?,F在已有的研究成果中,已出現了以OpenFlow技術實現QoS、路由算法[等的方法,針對如何使用OpenFlow技術解決網絡安全問題還是一個新的課題。

                                                  本文以OpenFlow技術為基礎,開展新型網絡安全體系結構設計方法的探索。主要研究了OpenFlow技術;并為采用隧道技術改進的OpenFlow網絡安全設計方法進行了探索;給出了基于OpenFlow技術的增強型網絡安全設計方法;最后為OpenFlow技術在未來網絡安全中的應用進行了展望。

                                                  1OpenFlow技術

                                                  OpenFlow是斯坦福大學CleanSlate計劃資助的一個開放式協議標準,同時也作為GENI計劃的一個子項目,主要用于在現有網絡上部署新的協議和新的業務應用叫OpenFlow技術主要由OpenFlow交換機、控制器Controller和虛擬化FlowVisor組成。OpenFlow交換機完成數據轉發;控制器Controller完成轉發策略的判斷;虛擬化FlowVisor提供一個虛擬化層,使得多個控制器可以控制同一個交換機。

                                                be03b602dcdc8a0c1444061ad2f1e258.jpg

                                                  圖1  OpenFlow技術組網結構

                                                  為了簡單起見,先不考慮網絡虛擬化問題,那么一個基本的OpenFlow技術組網結構如圖1所示,它包括OpenFlow交換機(Switch)和OpenFlow控制器(Controller)。當第一個數據包到達Switch后,由Switch使用OpenFlow協議通過安全通道(SecureChannel)將它轉發至Controller,Controller

                                                  上的軟件進行轉發決策,將轉發決策下發到Switch的流表(FlowTable)中,后續數據包按FlowTable規則轉發。安全通道是基于SSL協議的,保證了控制器及系統的安全。它在設備與控制器之間釆用證書認證的方式來進行合法設備的識別,以防未授權設備的接入,從而保證控制器和系統本身不受攻擊。

                                                  圖2所示是OpenFlow交換機的流表。它包括三個部分,分別是MatchFields(表示匹配的流信息元組)、Counters(是一個數據包字節統計)、Instructions(表示針對這個流的處理方式)。每個流表項包括了一組Instructions,它們在當數據流匹配到這個表項時被執行。在Instructions中定義了一系列Action行為,如Apply-Actions>Clear-Actions>Write-Actions等。這些行為中可根據ActionSet的內容具體執行。ActionSet中有幾個“必須”Action,分別是Output、Drop和Group。

                                                afcfdcaa5f244a01a37968ea762e9606.png

                                                  2采用隧道技術改進的OpenFlow網絡安全設計

                                                  如果實現網絡安全設計,需要Controller進行逐包檢測而不是按流轉發(如上所述),因為按流轉發只能完成最簡單的包過濾防火墻的功能。為了結合目前最新的網絡安全技術,如深度包/流檢測,以達到對網絡更細粒度的保護,需要改變按流轉發的策略為按包檢測。這樣做在OpenFlow技術實現上是可行的,但按包檢測進行轉發會使網絡傳輸速率下降,使得網絡規模不會很大。

                                                  本解決方案是將流轉發至一個線速的包處理器NetFPGA進行網絡安全分析,以便在進行網絡安全檢查的同時提高轉發速率,圖3所示是基于OpenFlow技術的網絡安全設計圖。如果發起從PC1到PC2的訪問,其過程又需要網絡安全的保證,那么流量首先經過交換機,然后控制器更新交換機的流表,于是流量就從交換機通過隧道技術轉發給了NetFPGA,由它來為轉發的流進行安全性檢測。如果通過,則將流解隧道封裝轉發到目的地PC2;不通過則丟棄。采用隧道技術進行傳輸的優勢有三點:首先,隧道封裝后不會丟失原始流的信息,以防直接改寫流表造成原始流目的地址丟失;其次,隧道封裝后形成新流,不會使新流和原始流(剛進入系統且未經檢查的流)混淆;最后,隧道封裝后有利于與傳統設備(非OpenFlow設備)的兼容,以便實現第3部分將要提出的增強型網絡安全設計架構。至于NetFPGA的實現,則會有多種多樣,可以將現有網絡安全設備的研究成果用在這里。采用了基于OpenFlow技術的網絡安全設計使得網絡中的每個轉發設備都具備安全性功能,因為它們在轉發時要考慮控制器和NetFPGA的轉發策略,而這些策略是通過網絡安全技術人員精心設置的。例如,為了實現基于OpenFlow技術的網絡安全設計,應對原始OpenFlow技術進行擴充。以下是筆者提出的具體改進方案:

                                                375c6bf9100cfc2ca96ffc29f52c4f49.jpg

                                                  圖3  基于OpenFlow技術的網絡安全設計

                                                  首先是在流表的Instruction的ActionSet中增加check行為和tunnel_encap行為。給check行為定義三個值,分別是00(未進行安全檢查)、11(安全檢查完畢,確保安全)、10(安全檢查完畢,不安全);同時也給tunnel_encap定義三個值,分別是00(不需要隧道封裝)、11(需要隧道封裝)、10(解封裝)。

                                                  其次,在OpenFlow交換機上實現數據隧道功能和流緩存時間統計功能,并且在Controller上實現暫存、修改流狀態功能。當PC1將流量發至PC2并經過交換機時,由交換機將流轉發給Controller,Controller查看到傳輸的目的地是PC2,則Controller將check字段設成00(未進行安全檢查),tunnel_encap字段設成11(需要隧道封裝),傳給交換機并將這個流的信息暫存。然后,交換機將PC1傳過來的流量封裝到一個IP隧道中,這個隧道的內層就是PC1到PC2的IP傳輸路徑,外層就是PC1到NetFPGA的IP傳輸路徑,并標記為新流。再次發送新流請求給Controller(這時目的地是NetFPGA),讓其找出從交換機到NetFPGA的下一跳輸出端口(這時check值為00,tunnel_encap為00)。當交換機收到這個策略時,將其路徑寫入流表,按外層數據包匹配的流表項(PC1到NetFPGA)進行轉發。交換機上的流表項應設置緩存時間,因為上次檢查過的流沒有安全問題并不代表下一時刻流中的數據也是安全的,所以需要設置超時閾值以便于重新檢查。

                                                  其他交換機在轉發詢問到NetFPGA的路徑時不需要封裝,因為Controller中暫存的記錄tunnel_encap為00。當NetFPGA收到隧道包后,它將進行流內容的安全檢查,并通知更新交換機流表將check值設為11(安全檢查完畢,確保安全)或為10(安全檢查完畢,不安全),將tunnel_encp值設為10(解封裝)。同時,修改Controller中暫存的原始流記錄值的check為11、tunnel_encap為10。

                                                  接收到check為11、tunnel_encap為10的交換機將這個流的外層隧道剝離,并再次發送內層轉發請求給Controller以尋找到PC2的下一跳路徑。由于Controller中針對該流的暫存標記已修改為check為11、tunnel_encap為10,所以不再封裝與檢查。收到結果后,則按照內層路徑進行轉發。這樣,數據包就從PC1傳輸到了PC2。當交換機收到check為10的流時,丟棄數據包。

                                                  在基于OpenFlow技術的網絡安全設計中,可以設置多個Controller和NetFPGA。它們分別實現不同的策略,以保證網絡安全策略的縱深化、層次化。對于重點保護區域,設置高級別的安全策略,安全性相對較低的區域采用低級別的朿略。

                                                  3基于OpenFlow技術的增強型網絡安全設計

                                                  OpenFlow技術使網絡的部署更加靈活,使用這項技術的網絡安全部署也就能夠突顯出它的優勢。

                                                  首先,網絡保護全面。網絡中的每個轉發設備都是防火墻/IPS/UTM,因為它們都按照Controller和NetFPGA的策略轉發。以前,網絡安全設備(如防火墻等)都僅部署在兩個安全級別不同的網絡邊界,但對同一個安全級別內部的攻擊卻束手無策。采用了OpenFlow技術的網絡安全設計使得全網就會有一個全局的安全策略,不會出現‘僅防一點“的尷尬局面。所以,它的保護具有全面性。

                                                  其次,網絡保護具有均衡性。不會出現”木桶效應“,因為Controller和NetFPGA的策略是一致的,必要時可進行分等級的安全性部署。眾所周知,一個好的網絡安全設計是不應該出現明顯弱點的。采用了OpenFlow技術的網絡安全性設計使得網絡中沒有明顯的弱點。為了防止網絡被黑客攻破,可以采用分等級保護的策略。在網絡設計時,將網絡按安全性劃分出若干個邏輯等級,在每一個邏輯等級上實施不同的轉發策略,并且在同一個安全級別的邏輯網絡內還可按不同應用進行策略配置。這樣,使得網絡的安全性策略有層次、有條理,不至于出現一點被攻破就全盤皆輸的情況。所以,它的保護具有均衡性。

                                                  再次,網絡保護易于升級、維護,并且具有高可用性。Controller(或NetFPGA)內部的轉發策略易升級,以應對新型網絡攻擊。由于采用了集中式的網絡安全保護,即安全策略是高度集中的,因此,升級病毒、攻擊特征庫僅需在中心控制設備上進行。由于OpenFlow網絡的特性,升級后的網絡設備全部具有最新更新補丁。另外,可把中心Controller(或NetFPGA)采用雙機熱備策略。備用中心節點通過”心跳“信號來檢測主中心節點是否還”活著“,如果主節點出現問題,備用節點馬上接管起主節點的任務。所以,OpenFlow的網絡安全設計具有易升級、易維護和高可用的特性。

                                                  在這里,我們看到了基于OpenFlow技術的網絡安全設計的優勢。這種架構是一個全新的思路。如果再把傳統的網絡安全保護方式與這種全新的方式結合起來,那么這個系統就顯得更加完善。我們稱滿足上述優勢并與傳統方式相結合的OpenFlow設計為增強型設計。它可在不破壞OpenFlow技術架構的同時,再在網絡的關鍵點上設置一些諸如IPS、防火墻等設備,這會使得兩種保護方式相得益彰。傳統設備按IP地址轉發,這也是在本文第2部分中提到使用隧道技術的原因之一。在關鍵服務器的前端設置一個IPS,在網絡邊界設置防火墻,都是不錯的選擇。OpenFlow技術在信道傳輸的層面上保護了網絡安全,IPS在應用層面上過濾安全威脅,防火墻在兩個可信度不同的域之間建立起安全橋梁。隨著傳統網絡安全設備的不斷更新換代,其保護的功能也越來越強。在這種環境下部署OpenFlow與傳統設備的結合,會使網絡更加安全、可靠。

                                                  4OpenFlow技術在未來網絡安全中的應用展望

                                                  在不久的將來,網絡將向著更快、更安全、更豐富和更人性化發展。目前出現的云計算技術代表了網絡的先進發展方向,用戶可以像使用水、電及煤氣那樣方便地使用云計算的服務。然而,如何識別合法用戶在其中顯得格外重要。目前,還在被IETF討論的LISP協議(Locator/IDSeparationProtocol)可以將位置與身份分離,這樣,單一IP地址不再擔當網絡尋址與身份的雙重任務。LISP使用戶在位置改變時,身份標識保持不變。文獻中闡述了如何使用身份標識EID和位置標識RLOC。LISP將身份標識賦予每個流,這迎合了OpenFlow的流控制技術,所以,LISP與OpenFlow技術可以完美結合。文獻[8]將OpenFlow技術引入云計算服務。在云計算數據中心,基礎服務層的設備將被替換成OpenFlow設備實現數據轉發,同時利用OpenFlow控制器根據用戶數據流中的EID進行轉發決策來提供安全、合法的云服務,圖4所示是OpenFlow的云計算應用方案。同時,應根據用戶的EID信息通過OpenFlow技術將不同組別的用戶劃分到不同的VLAN中,以便在網絡上對云計算虛擬化應用提供用戶隔離,從而保證安全性。

                                                f75714002018842ccc97bcc7a69f54e0.jpg

                                                  圖4  OpenFlow的云計算應用

                                                  5結語

                                                  OpenFlow技術有著廣博的發展空間,它能應用于路由、QoS、安全等各個方面。它改變了網絡的轉發方式,是個全新而大膽的解決方案。通過本文的分析,我們看到基于OpenFlow技術的網絡安全設計的優勢,它與傳統方式構成的增強型設計方案使得網絡安全問題得到了很好的解決。最后,云計算的發展也為OpenFlow技術提供了施展的舞臺。




                                                mmexport1621241704608.jpg


                                                本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306116;郵箱:aet@chinaaet.com。
                                                亚洲精品少妇30P