SDN易受到攻擊 企業應用SDN的安全利弊
軟件定義網絡(SDN)將網絡從硬件平面轉移到了軟件平面,受到軟件控制器的管理。其好處包括自動化和簡化網絡管理工作以及提高應用程序性能。但同時,作為一項新的技術,SDN也很容易受到攻擊。
首先,根據Casaba Security公司共同創始人Chris Weber表示,將控制集中到SDN控制器中能夠模糊了防護的分層硬件的界限,例如防火墻。
其次,根據Gartner分析師Neil MacDonald表示,通過從數據平面解耦控制平面,SDN引入了新的攻擊面,例如網絡控制器、其協議以及API。
第三,SDN的一個優勢在于,軟件控制器可以安裝在操作系統(例如Windows或者Linux)之上的COTS硬件上,這能夠節省部署和其他成 本。但根據Casaba公司合作貨幣Ramsey Dow表示,反復出現緩沖區溢出等攻擊的主機會導致遠程代碼執行,從而危及這些系統。這使得SDN控制器面臨著與操作系統相同的風險。
第四,由于SDN控制器的集中化性質,高級持續性攻擊(APT)只需要感染這個控制器就可以有效地獲取對整個網絡的控制權。
為了解決這些問題,讓我們來看看一些有效的安全選項和控制措施。
SDN漏洞
在談到SDN如何替代用于保護傳統網絡的防火墻、內部交換機和其他硬件時,Dow說道:“對于SDN,我最大的擔憂是,我們從網絡設計中移除了歷史悠久的物理部分,并將這一切都虛擬化了。”
并且,當SDN替代這些分層硬件時,取而代之的是高度敏感的網絡層面,這很容易受到攻擊,MacDonald 表示:“SDN創建了一個抽象層,帶來了新的攻擊面,例如網絡控制器、OpenFlow協議,SDN可能部署的XMPP等協議,甚至供應商的API也可能 受到攻擊。”
不僅控制平面的北向變得容易受到攻擊,而且其“軟肋”處更易受攻擊。通過在Windows或者linux之上安裝SDN控制器,企業讓它暴露在各種軟件問題面前,這些是日常電腦操作系統反復面對的問題。
微軟最新的安全公告公布了五個新的Windows安全漏洞,這些漏洞都能夠用于遠程代碼執行。開發人員最近還在Ubuntu中發現了四個新的漏洞,Ubuntu是流行的Linux發行版。
除了操作系統漏洞、新的攻擊面,以及消失的硬件防護線,最可能困擾SDN的可能是最常見的問題—錯誤配置。Enterprise CyberSecurity Architects公司首席執行官Neil Rerup表示:“大部分攻擊利用的是錯誤配置,而不是漏洞本身。”Rerup通過思科UCS錯誤配置的實例來說明這個問題:
一家企業部署了思科UCS,除了應用范圍不同(它解決服務器而不是網絡),這基本與SDN控制器是相同的概念。該企業部署UCS采用了默認設置,UID和密碼配置,沒有進行必要的控制來保護它。
Rerup表示:“我可以訪問這個控制平面,因為默認角色、默認密碼并沒有改變,訪問控制平面是通過用于訪問底層設備的正常的網絡連接。”
Rerup表示,由于SDN控制器相對較新,大多數安全人員并沒有完全了解它們,這往往導致他們沒有部署必要的控制措施。安全通常被視為SDN解決方案的一個“附加物”。雖然新技術意味著幫助企業提高生產力和降低成本,但這通常是沒有考慮企業的安全態勢得出的結論。
攻擊者只要通過高級持續攻擊獲得對SDN控制器的控制權,就可能導致整個網絡“淪陷”。作為直接與網絡設備通信的應用程序系統,SDN控制器是在所 有組件直接建立通信的軟件系統。Dow表示:“就其本質而言,這些控制器觸及一切事物。如果你攻擊了一個控制器,你就有可能不受限制地訪問整個環境。”
SDN安全措施
沒有什么能夠取代傳統硬件層,當然,我們還需要保護SDN通信。根據Weber表示,在控制這些設備的管理員之間以及網絡設備之間通常需要更強的核心通信協議,最好使用通過身份驗證的加密協議,避免使用弱強度密碼。
MacDonald表示:“我們可以通過硬化控制器和協議來減少攻擊面。”為了保護新的層面,減少曝光率,我們還可以這樣做:使用嵌入式Linux的硬化配置,通過使用有效的身份、身份驗證和授權技術來硬化API,以及使用應用程序白名單來防止未經授權的代碼執行。
除了硬化操作系統,我們還可以通過采取一些分層的方法來保護Linux或Windows之上的SDN控制器。首先,了解供應商的安全配置最佳做法,并遵循這些做法。
及時修復補丁。Dow表示:“你的操作人員需要比平常更加積極地監控多個數據源的信息。”這些來源包括思科或瞻博網絡等供應商以及安全組織(例如CERT和NIST NVD)發布的信息。
“使用全功能的經測試的事故響應計劃,”Dow繼續說道,“這樣,當你檢測到什么時,你就可以作出回應。”為所有關鍵任務硬件簽署支持合同。
Weber表示:“你的供應商也應該提供一個強大的身份驗證協議。”這意味著雙因素身份驗證或者更強大的驗證。供應商應該包括基于角色的授權機制來分配訪問級別、權限和特權。
至于錯誤配置,我們有很多最佳做法來幫助企業避免錯誤配置,以及部署適當的安全控制。首先,你需要將SDN漏洞當做任何虛擬解決方案中的漏洞來對待。Rerup說道:“你需要將控制平面作為特權升級平面來對待。”企業還應該使用以下控制來管理控制平面內部發生的情況。
管理帶外SDN控制平面,將到SDN控制平面的路徑與一般流量路徑分離開來。移除所有的默認配置,因為供應商會廣泛發布這些配置信息,而攻擊者經常會利用這些信息來發動攻擊。
記錄特權賬戶的所有活動,并將這些日志轉發到SIEM(安全信息和事件管理)安全日志聚合點,以提供集中訪問。Rerup說道:“如果你監控特權賬戶的活動,你就可以迅速地發現問題,以及解決問題。”
在部署SDN時應該考慮潛在的故障情況,Rerup解釋說;“如果你這樣做的話,那么你還應該考慮SDN被宕機之后會發生什么。”
定期備份SDN配置文件,這樣你就可以在故障發生后很快啟動SDN以及運行它。最后,對SDN控制平面部署與企業為可以利用SDN的最高安全區相同的安全要求。
有些安全措施已經存在很久了,有些則很新,對SDN安全問題的討論還將繼續進行,我們是否言之過早?等發生問題的時候,你必定會聽到這樣的聲音,“我找告訴過你了。”