許 林,孟 娜,袁 靜,吳 丹
(解放軍第960 醫(yī)院,山東 濟(jì)南 250000)
當(dāng)前互聯(lián)網(wǎng)飛速發(fā)展,伴之而來(lái)的網(wǎng)絡(luò)安全問(wèn)題日益凸顯[1]。網(wǎng)絡(luò)安全作為高校信息安全的核心課程,實(shí)踐性較強(qiáng),且對(duì)于網(wǎng)絡(luò)安全攻防教學(xué)中,學(xué)生只有通過(guò)實(shí)訓(xùn),才能具備網(wǎng)絡(luò)安全攻防能力[2-3]。網(wǎng)絡(luò)安全攻防試驗(yàn)破壞性高,實(shí)際教學(xué)中,通常采用虛擬仿真的形式進(jìn)行,因此網(wǎng)絡(luò)安全教學(xué)中虛擬仿真平臺(tái)的構(gòu)建意義重大[4]。
傳統(tǒng)虛擬仿真平臺(tái)在部分方面滿足網(wǎng)絡(luò)安全教學(xué)需求,但存在以下問(wèn)題[5-6]:
1)網(wǎng)絡(luò)拓?fù)涔袒?,難以實(shí)現(xiàn)拓?fù)涞撵`活性;
2)由于攻防環(huán)境模式單一,環(huán)境切換及設(shè)置難度大;
3)與其他開(kāi)源軟件融合性差。
SDN 作為可將轉(zhuǎn)發(fā)與控制相分離的新型網(wǎng)絡(luò)構(gòu)架,采用南向OpenFlow 協(xié)議完成數(shù)據(jù)平面及控制平面間的通信[7]。SDN 通過(guò)網(wǎng)絡(luò)虛擬化、網(wǎng)絡(luò)可編程、集中式管理等,支持定制試驗(yàn)場(chǎng)景,解決了網(wǎng)絡(luò)安全攻防虛擬仿真平臺(tái)共性問(wèn)題[8]。
基于SDN 構(gòu)架建立虛擬仿真實(shí)戰(zhàn)平臺(tái),該平臺(tái)可通過(guò)控制器實(shí)現(xiàn)網(wǎng)絡(luò)的集中控制,具有控制平面與數(shù)據(jù)平面相分離的特點(diǎn),且通過(guò)全局視野可集中調(diào)度網(wǎng)內(nèi)資源。網(wǎng)絡(luò)拓?fù)渲?,通過(guò)OpenStack 開(kāi)源云服務(wù),快速、可度量、彈性、按需分配及管理資源池中的存儲(chǔ)、計(jì)算、網(wǎng)絡(luò)等資源[9]?;趯?shí)體數(shù)據(jù)存儲(chǔ)及控制器,通過(guò)虛擬化部署應(yīng)用服務(wù)器、防火墻及交換機(jī)等,并采用SDN 控制器對(duì)虛擬網(wǎng)絡(luò)拓?fù)浼信渲?,確保有效隔離虛擬網(wǎng)。平臺(tái)的構(gòu)建基于虛擬化及SDN,可通過(guò)網(wǎng)絡(luò)拓?fù)?、攻防模式切換等,實(shí)現(xiàn)實(shí)戰(zhàn)環(huán)境的靈活變更。開(kāi)源技術(shù)的采用,避免了產(chǎn)品許可,且易與其他開(kāi)源軟件融合拓展,構(gòu)建成本低[10]。
1)軟件定義網(wǎng)絡(luò)SDN
SDN 可實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備與控制功能的分離,控制器和數(shù)據(jù)平面分別負(fù)責(zé)流表管理及流表結(jié)構(gòu)的維護(hù),形成數(shù)據(jù)轉(zhuǎn)發(fā)、邏輯控制相分離的網(wǎng)絡(luò)構(gòu)架[11]。該結(jié)構(gòu)中,控制器通過(guò)交換機(jī)下發(fā)流表,實(shí)現(xiàn)網(wǎng)絡(luò)邏輯控制策略配置及管理。OpenFlow 作為SDN 數(shù)據(jù)及控制平面通信協(xié)議,代表了SDN 部署實(shí)例及實(shí)現(xiàn)原型。文中平臺(tái)通過(guò)OpenFlow1.3 實(shí)現(xiàn)數(shù)據(jù)、控制平面通信。
2)Open vSwitch
Open vSwitch 作為虛擬交換機(jī),通過(guò)編程擴(kuò)展,支持標(biāo)準(zhǔn)管理接口及協(xié)議,可實(shí)現(xiàn)大規(guī)模的網(wǎng)絡(luò)自動(dòng)化。其為常用的云計(jì)算平臺(tái)虛擬交換機(jī),支持多種Linux 虛擬化技術(shù)[12]。
3)OpenStack
OpenStack 包含網(wǎng)絡(luò)節(jié)點(diǎn)、控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)及存儲(chǔ)節(jié)點(diǎn),既是開(kāi)源云計(jì)算操作系統(tǒng),也是云計(jì)算平臺(tái)項(xiàng)目。其核心服務(wù)部件由網(wǎng)絡(luò)、計(jì)算、塊存儲(chǔ)、對(duì)象存儲(chǔ)、認(rèn)證及鏡像等組成。通過(guò)Dashboard 控制面板,OpenStack 為服務(wù)提供可視化UI 接口。通過(guò)OpenStack,建立操作平臺(tái),虛擬化處理SDN 轉(zhuǎn)發(fā)設(shè)備、控制設(shè)備等資源[13]。
實(shí)戰(zhàn)平臺(tái)實(shí)體部分由數(shù)據(jù)服務(wù)器、控制服務(wù)器兩部分構(gòu)成。采用虛擬化技術(shù),處理防火墻、滲透主機(jī)、實(shí)戰(zhàn)靶機(jī)、SDN 控制器、交換機(jī)等,構(gòu)建SDN 網(wǎng)絡(luò)實(shí)戰(zhàn)拓?fù)鋄14]。平臺(tái)網(wǎng)絡(luò)拓?fù)鋱D如圖1 所示。
圖1 平臺(tái)網(wǎng)絡(luò)拓?fù)鋱D
1)SDN 控制器
通過(guò)OpenStack,構(gòu)建SDN 控制器虛擬部件。根據(jù)下發(fā)流表規(guī)則,數(shù)據(jù)平面各轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)包,配置虛擬部件,構(gòu)建網(wǎng)絡(luò)拓?fù)?,確保各組網(wǎng)絡(luò)間的隔離,登錄系統(tǒng)后僅可連接相應(yīng)靶機(jī)。
2)控制服務(wù)器
控制服務(wù)器作為平臺(tái)控制節(jié)點(diǎn)的同時(shí),實(shí)現(xiàn)對(duì)管理系統(tǒng)及答題系統(tǒng)的部署。安裝網(wǎng)絡(luò)、計(jì)算及對(duì)象存儲(chǔ)等部件,實(shí)現(xiàn)網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)等功能,其中采用Open vSwitch 作為網(wǎng)絡(luò)的L2 Agent 代理,完成虛擬交換,通過(guò)Web 界面實(shí)現(xiàn)控制節(jié)點(diǎn)的全部管理操作[15]。
3)數(shù)據(jù)服務(wù)器
為確保數(shù)據(jù)的保密性、完整性及可用性,通過(guò)數(shù)據(jù)服務(wù)器,存儲(chǔ)平臺(tái)數(shù)據(jù)信息,實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的統(tǒng)一化存儲(chǔ)。
4)防火墻
防火墻為OpenStack 建立的虛擬部分,實(shí)現(xiàn)隔離實(shí)戰(zhàn)靶機(jī)。
5)交換機(jī)
交換機(jī)為OpenStack 建立的虛擬部分,實(shí)現(xiàn)各攻防設(shè)備的連接。
6)實(shí)戰(zhàn)靶機(jī)
按照實(shí)戰(zhàn)難易要求,實(shí)戰(zhàn)靶機(jī)提供不同安全漏洞的系統(tǒng)鏡像。試驗(yàn)時(shí),實(shí)戰(zhàn)靶機(jī)建立不同等級(jí)鏡像實(shí)例,并分配與對(duì)應(yīng)戰(zhàn)隊(duì)。
7)滲透主機(jī)
滲透主機(jī)為OpenStack 建立的虛擬部分,與靶機(jī)連接,完成防御工具安裝及滲透攻擊。
傳統(tǒng)實(shí)戰(zhàn)平臺(tái)由實(shí)體設(shè)備構(gòu)成,安裝時(shí)只需通過(guò)端口完成主機(jī)與對(duì)應(yīng)設(shè)備的連接。傳統(tǒng)實(shí)戰(zhàn)環(huán)境安裝、配置簡(jiǎn)單,但固化了網(wǎng)絡(luò)環(huán)境,擴(kuò)展困難,不滿足實(shí)戰(zhàn)環(huán)境的靈活性及多樣化要求,不支持多樣化實(shí)驗(yàn)場(chǎng)景。
目前部分實(shí)戰(zhàn)平臺(tái)基于虛擬化技術(shù),可方便對(duì)網(wǎng)絡(luò)設(shè)備刪除及添加,一定程度上解決了網(wǎng)絡(luò)環(huán)境固化及擴(kuò)展困難等問(wèn)題,但由于缺乏網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)的全局視野及集中控制,當(dāng)平臺(tái)網(wǎng)絡(luò)拓?fù)涓淖儠r(shí),需更改全部轉(zhuǎn)發(fā)設(shè)備,同樣不滿足實(shí)戰(zhàn)環(huán)境的靈活性及多樣化要求,不支持多樣化試驗(yàn)場(chǎng)景。
基于SDN 的網(wǎng)絡(luò)安全攻防虛擬仿真實(shí)戰(zhàn)平臺(tái)系統(tǒng)架構(gòu)圖如圖2 所示。
圖2 基于SDN 的網(wǎng)絡(luò)安全攻防虛擬仿真實(shí)戰(zhàn)平臺(tái)系統(tǒng)架構(gòu)圖
通過(guò)攻防實(shí)戰(zhàn)平臺(tái)系統(tǒng)構(gòu)架圖,結(jié)合實(shí)戰(zhàn)環(huán)境設(shè)置的3 個(gè)步驟可知,基于SDN 的網(wǎng)絡(luò)安全攻防虛擬仿真平臺(tái)的實(shí)戰(zhàn)環(huán)境具有較好的靈活性,適應(yīng)不同實(shí)戰(zhàn)場(chǎng)景。
1)網(wǎng)絡(luò)部件構(gòu)建
文中基于OpenStack 中的Neutron 組件及Nova組件,實(shí)現(xiàn)虛擬網(wǎng)絡(luò)功能及資源調(diào)度。采用Neutron Server 為Plugin 插件提供調(diào)用所需API 插件。通過(guò)數(shù)據(jù)庫(kù)訪問(wèn),Plugin 獲得同物理網(wǎng)絡(luò)對(duì)應(yīng)關(guān)系及邏輯網(wǎng)絡(luò)配置數(shù)據(jù)。
2)SDN 網(wǎng)絡(luò)拓?fù)錁?gòu)建
平臺(tái)虛擬機(jī)選用配備ODL(Open Day Light)的開(kāi)源控制器,南向接口采用OpenFlow1.3 與各Open vSwitch 交換機(jī)進(jìn)行通信[16],北向接口連接至平臺(tái)控制軟件。
數(shù)據(jù)包下發(fā)前,控制器向交換機(jī)下發(fā)流表,該流表包括全部自定義規(guī)則及OpenFlow 預(yù)設(shè)。根據(jù)流表規(guī)則,交換機(jī)對(duì)獲得數(shù)據(jù)包進(jìn)行處理。交換機(jī)包含單張或多張流表,同時(shí)各流表包括多條規(guī)則,根據(jù)規(guī)則優(yōu)先級(jí)的不同,進(jìn)行數(shù)據(jù)包的匹配。
基于SDN 的攻防實(shí)戰(zhàn)平臺(tái),具有較好的網(wǎng)絡(luò)拓?fù)潇`活性,報(bào)文任意字段均可作為數(shù)據(jù)包匹配內(nèi)容,通過(guò)ODL 完成流表規(guī)則設(shè)定、集中控制,實(shí)現(xiàn)網(wǎng)絡(luò)任意部件的連通、隔離。
3)網(wǎng)絡(luò)隔離的實(shí)現(xiàn)
基于Overlay(隧道封裝)技術(shù),SDN 網(wǎng)絡(luò)可實(shí)現(xiàn)同一物理網(wǎng)絡(luò)中不同用戶的隔離。文中SDN 網(wǎng)絡(luò)采用VXLAN 典型Overlay 技術(shù),如圖3 所示。虛擬機(jī)VM1、VM2 經(jīng)br-tun、br-int、qbr 3 個(gè)虛擬網(wǎng)元完成VXLAN 隧道的通信。
圖3 VTEP類型的VXLAN示意圖
Open vSwitch 虛擬交換機(jī)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備為VTEP(VXLAN tunnel end point)類型,VXLAN 網(wǎng)絡(luò)搭建于Open vSwitch 上。如圖3 中,在VM1 上設(shè)置VXLAN,設(shè)定遠(yuǎn)端IP 為VM2 可對(duì)外通信的IP,即:
#ovs-vsctl add-port[VM1 網(wǎng)橋]vx1--set interface vxl type=vxlanoptions:remote_ip=[vm2 可對(duì)外通信ip]
VM2 的設(shè)定過(guò)程與VM1 相同,僅需將IP 更改為VM1 可對(duì)外通信IP 即可。設(shè)置完成,實(shí)現(xiàn)VM1 與VM2 間VXLAN 隧道通信。以上設(shè)置滿足實(shí)戰(zhàn)鏈路的有效隔離,避免實(shí)戰(zhàn)環(huán)境對(duì)控制鏈路損壞。
SDN 的引入,實(shí)現(xiàn)了實(shí)戰(zhàn)環(huán)境設(shè)置的靈活性與便捷性。攻防實(shí)戰(zhàn)環(huán)境的設(shè)置過(guò)程如圖4 所示。
圖4 攻防實(shí)戰(zhàn)環(huán)境設(shè)置流程
設(shè)置完成實(shí)戰(zhàn)環(huán)境后,登錄系統(tǒng),平臺(tái)分配用戶側(cè)虛擬主機(jī)。用戶可與靶機(jī)相連接,進(jìn)行滲透防御及攻擊試驗(yàn)。設(shè)置過(guò)程靈活,且在硬件配置允許范圍內(nèi)可隨時(shí)刪減及增加實(shí)戰(zhàn)團(tuán)隊(duì)。各攻防實(shí)戰(zhàn)平臺(tái)組網(wǎng)方案如表1 所示。由表1 可知,基于SDN 的組網(wǎng)方案,在部件新增及拓?fù)湫薷闹芯哂休^好的靈活性及便捷性。平臺(tái)整體設(shè)計(jì)采用開(kāi)源軟件,成本低、可擴(kuò)展性好。
表1 攻防實(shí)戰(zhàn)平臺(tái)組網(wǎng)方案
基于SDN 軟件定義網(wǎng)絡(luò),文中提出安全攻防虛擬仿真實(shí)驗(yàn)平臺(tái),該平臺(tái)滿足實(shí)戰(zhàn)環(huán)境要求,且在攻防模式切換及網(wǎng)絡(luò)拓?fù)渖暇哂休^好的靈活性,實(shí)戰(zhàn)場(chǎng)景豐富。此外,開(kāi)源軟件的采用,提高了系統(tǒng)的可擴(kuò)展性,且避免了產(chǎn)品認(rèn)可,降低了平臺(tái)搭建成本,有利于推廣,在一定程度上促進(jìn)了網(wǎng)絡(luò)攻防虛擬仿真實(shí)驗(yàn)教學(xué)水平的提升。