SDN如何實現自動化網絡安全性?
《OpenFlow與SDN的殺手級應用》中認為集中控制和大范圍自動化將是軟件定義網絡的核心功能——最終實現適應性自動化網絡安全。這個愿景正開始變成現實。由SDN實現的集中控制最終將帶來安全定義路由及其他SDN安全策略,它們可能徹底改變我們定義網絡及其應用或數據的方式。
什么是安全定義路由?
德克薩斯州A&M博士生Seungwon Shin的科研工作是分析SDN將如何改變網絡安全性。Shin在大學期間發表了兩篇關于SDN網絡安全策略的文章。第一篇是“CloudWatcher:在動態云網絡中使用OpenFlow實現網絡安全監控”,介紹了一種在云環境中使用SDN控制平臺(如NOX和Beacon——最初由斯坦福大學開發的OpenFlow SDN控制器)執行安全監控的方法。
Shin與其博士生同學Guofei Gu一起設計了一種新的策略語言,它可用于識別網絡設備及其特殊的監控功能集。通過使用這種語言,控制器就可以直接監控指定設備之間的流量。它們還可以自動將云環境中的虛擬機遷移流量及其他動態事件的流量轉發到其他網絡位置。這意味著它們可以將流量傳輸到入侵防御系統(IDS),允許安全團隊根據需要監控超動態環境的事件。在這種模型中,Shin和Gu實際上設計了安全定義路由與流量控制的基礎——即使仍然使用傳統網絡安全控制。
OpenFlow控制的SDN安全應用
在Shin的第二篇論文“FRESCO:模塊化可組合的軟件定義網絡安全服務”中,Shin與同學們一起探討了SDN(特別是OpenFlow)所缺少的決定性安全應用,并且提出一個面向SDN安全用例的新開發框架FRESCO。這個框架的腳本功能允許安全人員創建新的模塊化庫,整合和擴展安全功能,從而使用OpenFlow控制器和硬件進行控制和管理流量。FRESCO包括16個模塊,其中每一個都有5個接口:輸入、輸出、事件、參數和操作。通過將這些值分配給這些接口,就可以實現許多通用網絡安全平臺和功能,從而替代防火墻、IDS和流量管理工具。
SDN和自動化網絡安全的實踐應用
雖然這些概念仍然在學術研究階段,但是供應商和標準組織已經有許多實現基于SDN安全策略的實際例子。例如,sflow.com網站上有一篇博客“sFlow Packet Broker”,它介紹了一個簡單的Python腳本,它可以將inMon的Flow-RT控制器應用配置為監控所有流量,專門查找通向TCP端口22(SSH)的通用路由封裝(Generic Route Encapsulation)通道的流量。一旦檢測有問題的流量,它就會生成一個警報,從而觸發分析捕捉到的數據包。這些警報還會產生更多高級響應,如用于流量控制的防火墻集成API、開放或關閉的端口、將流量移到其他網段或VLAN,等等。
同時,虛擬防火墻也已經可以使用開放API將安全功能整合到網絡中。Netuitive公司產品管理主管Richard Park寫過一篇博客,其中他介紹了如何在Perl代碼中使用一個RESTful API查詢和更新VMware vShield的防火墻規則, 而這只是冰山之一角。在出現新的SDN工具和編制平臺之后,大多數網絡安全檢測和響應功能很快都變得越來越自動化,支持更加快速的意外處理,而且在攻擊發生時發揮像“輔助呼吸室”一樣的作用。
隨著越來越多像FRESCO這樣的工具出現,網絡和虛擬化供應商推出了面向自動化和編制的新型API,而且對于一些協議(如OpenFlow)和標準(如sFlow)的支持也越來越好,我們將最終看到更好地集成到網絡中的適應性安全產品。