許 林,孟 娜,袁 靜,吳 丹
(解放軍第960 醫院,山東 濟南 250000)
當前互聯網飛速發展,伴之而來的網絡安全問題日益凸顯[1]。網絡安全作為高校信息安全的核心課程,實踐性較強,且對于網絡安全攻防教學中,學生只有通過實訓,才能具備網絡安全攻防能力[2-3]。網絡安全攻防試驗破壞性高,實際教學中,通常采用虛擬仿真的形式進行,因此網絡安全教學中虛擬仿真平臺的構建意義重大[4]。
傳統虛擬仿真平臺在部分方面滿足網絡安全教學需求,但存在以下問題[5-6]:
1)網絡拓撲固化,難以實現拓撲的靈活性;
2)由于攻防環境模式單一,環境切換及設置難度大;
3)與其他開源軟件融合性差。
SDN 作為可將轉發與控制相分離的新型網絡構架,采用南向OpenFlow 協議完成數據平面及控制平面間的通信[7]。SDN 通過網絡虛擬化、網絡可編程、集中式管理等,支持定制試驗場景,解決了網絡安全攻防虛擬仿真平臺共性問題[8]。
基于SDN 構架建立虛擬仿真實戰平臺,該平臺可通過控制器實現網絡的集中控制,具有控制平面與數據平面相分離的特點,且通過全局視野可集中調度網內資源。網絡拓撲中,通過OpenStack 開源云服務,快速、可度量、彈性、按需分配及管理資源池中的存儲、計算、網絡等資源[9]。基于實體數據存儲及控制器,通過虛擬化部署應用服務器、防火墻及交換機等,并采用SDN 控制器對虛擬網絡拓撲集中配置,確保有效隔離虛擬網。平臺的構建基于虛擬化及SDN,可通過網絡拓撲、攻防模式切換等,實現實戰環境的靈活變更。開源技術的采用,避免了產品許可,且易與其他開源軟件融合拓展,構建成本低[10]。
1)軟件定義網絡SDN
SDN 可實現網絡設備與控制功能的分離,控制器和數據平面分別負責流表管理及流表結構的維護,形成數據轉發、邏輯控制相分離的網絡構架[11]。該結構中,控制器通過交換機下發流表,實現網絡邏輯控制策略配置及管理。OpenFlow 作為SDN 數據及控制平面通信協議,代表了SDN 部署實例及實現原型。文中平臺通過OpenFlow1.3 實現數據、控制平面通信。
2)Open vSwitch
Open vSwitch 作為虛擬交換機,通過編程擴展,支持標準管理接口及協議,可實現大規模的網絡自動化。其為常用的云計算平臺虛擬交換機,支持多種Linux 虛擬化技術[12]。
3)OpenStack
OpenStack 包含網絡節點、控制節點、計算節點及存儲節點,既是開源云計算操作系統,也是云計算平臺項目。其核心服務部件由網絡、計算、塊存儲、對象存儲、認證及鏡像等組成。通過Dashboard 控制面板,OpenStack 為服務提供可視化UI 接口。通過OpenStack,建立操作平臺,虛擬化處理SDN 轉發設備、控制設備等資源[13]。
實戰平臺實體部分由數據服務器、控制服務器兩部分構成。采用虛擬化技術,處理防火墻、滲透主機、實戰靶機、SDN 控制器、交換機等,構建SDN 網絡實戰拓撲[14]。平臺網絡拓撲圖如圖1 所示。

圖1 平臺網絡拓撲圖
1)SDN 控制器
通過OpenStack,構建SDN 控制器虛擬部件。根據下發流表規則,數據平面各轉發設備轉發數據包,配置虛擬部件,構建網絡拓撲,確保各組網絡間的隔離,登錄系統后僅可連接相應靶機。
2)控制服務器
控制服務器作為平臺控制節點的同時,實現對管理系統及答題系統的部署。安裝網絡、計算及對象存儲等部件,實現網絡、計算、存儲等功能,其中采用Open vSwitch 作為網絡的L2 Agent 代理,完成虛擬交換,通過Web 界面實現控制節點的全部管理操作[15]。
3)數據服務器
為確保數據的保密性、完整性及可用性,通過數據服務器,存儲平臺數據信息,實現系統數據的統一化存儲。
4)防火墻
防火墻為OpenStack 建立的虛擬部分,實現隔離實戰靶機。
5)交換機
交換機為OpenStack 建立的虛擬部分,實現各攻防設備的連接。
6)實戰靶機
按照實戰難易要求,實戰靶機提供不同安全漏洞的系統鏡像。試驗時,實戰靶機建立不同等級鏡像實例,并分配與對應戰隊。
7)滲透主機
滲透主機為OpenStack 建立的虛擬部分,與靶機連接,完成防御工具安裝及滲透攻擊。
傳統實戰平臺由實體設備構成,安裝時只需通過端口完成主機與對應設備的連接。傳統實戰環境安裝、配置簡單,但固化了網絡環境,擴展困難,不滿足實戰環境的靈活性及多樣化要求,不支持多樣化實驗場景。
目前部分實戰平臺基于虛擬化技術,可方便對網絡設備刪除及添加,一定程度上解決了網絡環境固化及擴展困難等問題,但由于缺乏網絡數據轉發的全局視野及集中控制,當平臺網絡拓撲改變時,需更改全部轉發設備,同樣不滿足實戰環境的靈活性及多樣化要求,不支持多樣化試驗場景。
基于SDN 的網絡安全攻防虛擬仿真實戰平臺系統架構圖如圖2 所示。

圖2 基于SDN 的網絡安全攻防虛擬仿真實戰平臺系統架構圖
通過攻防實戰平臺系統構架圖,結合實戰環境設置的3 個步驟可知,基于SDN 的網絡安全攻防虛擬仿真平臺的實戰環境具有較好的靈活性,適應不同實戰場景。
1)網絡部件構建
文中基于OpenStack 中的Neutron 組件及Nova組件,實現虛擬網絡功能及資源調度。采用Neutron Server 為Plugin 插件提供調用所需API 插件。通過數據庫訪問,Plugin 獲得同物理網絡對應關系及邏輯網絡配置數據。
2)SDN 網絡拓撲構建
平臺虛擬機選用配備ODL(Open Day Light)的開源控制器,南向接口采用OpenFlow1.3 與各Open vSwitch 交換機進行通信[16],北向接口連接至平臺控制軟件。
數據包下發前,控制器向交換機下發流表,該流表包括全部自定義規則及OpenFlow 預設。根據流表規則,交換機對獲得數據包進行處理。交換機包含單張或多張流表,同時各流表包括多條規則,根據規則優先級的不同,進行數據包的匹配。
基于SDN 的攻防實戰平臺,具有較好的網絡拓撲靈活性,報文任意字段均可作為數據包匹配內容,通過ODL 完成流表規則設定、集中控制,實現網絡任意部件的連通、隔離。
3)網絡隔離的實現
基于Overlay(隧道封裝)技術,SDN 網絡可實現同一物理網絡中不同用戶的隔離。文中SDN 網絡采用VXLAN 典型Overlay 技術,如圖3 所示。虛擬機VM1、VM2 經br-tun、br-int、qbr 3 個虛擬網元完成VXLAN 隧道的通信。

圖3 VTEP類型的VXLAN示意圖
Open vSwitch 虛擬交換機對應網絡設備為VTEP(VXLAN tunnel end point)類型,VXLAN 網絡搭建于Open vSwitch 上。如圖3 中,在VM1 上設置VXLAN,設定遠端IP 為VM2 可對外通信的IP,即:
#ovs-vsctl add-port[VM1 網橋]vx1--set interface vxl type=vxlanoptions:remote_ip=[vm2 可對外通信ip]
VM2 的設定過程與VM1 相同,僅需將IP 更改為VM1 可對外通信IP 即可。設置完成,實現VM1 與VM2 間VXLAN 隧道通信。以上設置滿足實戰鏈路的有效隔離,避免實戰環境對控制鏈路損壞。
SDN 的引入,實現了實戰環境設置的靈活性與便捷性。攻防實戰環境的設置過程如圖4 所示。

圖4 攻防實戰環境設置流程
設置完成實戰環境后,登錄系統,平臺分配用戶側虛擬主機。用戶可與靶機相連接,進行滲透防御及攻擊試驗。設置過程靈活,且在硬件配置允許范圍內可隨時刪減及增加實戰團隊。各攻防實戰平臺組網方案如表1 所示。由表1 可知,基于SDN 的組網方案,在部件新增及拓撲修改中均具有較好的靈活性及便捷性。平臺整體設計采用開源軟件,成本低、可擴展性好。

表1 攻防實戰平臺組網方案
基于SDN 軟件定義網絡,文中提出安全攻防虛擬仿真實驗平臺,該平臺滿足實戰環境要求,且在攻防模式切換及網絡拓撲上具有較好的靈活性,實戰場景豐富。此外,開源軟件的采用,提高了系統的可擴展性,且避免了產品認可,降低了平臺搭建成本,有利于推廣,在一定程度上促進了網絡攻防虛擬仿真實驗教學水平的提升。