史建燾, 李秀坤, 張兆心
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
·專題研討——虛擬仿真實(shí)驗(yàn)(45)·
基于CloudStack的網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái)
史建燾, 李秀坤, 張兆心
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
網(wǎng)絡(luò)安全實(shí)驗(yàn)通常需要復(fù)雜的實(shí)驗(yàn)環(huán)境,網(wǎng)絡(luò)攻防本身具有一定破壞性和不可逆性,為教學(xué)而在系統(tǒng)中設(shè)置安全漏洞會(huì)產(chǎn)生巨大風(fēng)險(xiǎn),環(huán)境搭建和維護(hù)具有較高成本。因此,使用虛擬化和SDN手段搭建虛擬實(shí)驗(yàn)教學(xué)平臺(tái)具有重要意義?;贑loudStack開源云架構(gòu)和XEN虛擬化技術(shù),以IAAS為服務(wù)模式所搭建的網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái),能夠解決當(dāng)前網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)環(huán)境存在的問題。通過對(duì)snort與Iptables聯(lián)動(dòng)搭建防護(hù)墻實(shí)驗(yàn)的介紹和分析,實(shí)驗(yàn)表明,實(shí)驗(yàn)云平臺(tái)在提升實(shí)驗(yàn)教學(xué)質(zhì)量,培養(yǎng)學(xué)生工程實(shí)踐能力和工程創(chuàng)新能力方面已經(jīng)起到了效果,云平臺(tái)本身具有廣闊的發(fā)展和應(yīng)用前景。
CloudStack; 云計(jì)算; 虛擬仿真; 網(wǎng)絡(luò)攻防實(shí)驗(yàn)
目前,計(jì)算機(jī)網(wǎng)絡(luò)與信息安全專業(yè)的實(shí)驗(yàn)課,主要還是以傳統(tǒng)的單機(jī)編程方式來模擬實(shí)現(xiàn),致使一些需要復(fù)雜環(huán)境的實(shí)驗(yàn)無法開展,如大規(guī)模組網(wǎng)實(shí)驗(yàn)、網(wǎng)絡(luò)協(xié)議開發(fā)實(shí)驗(yàn)、網(wǎng)絡(luò)安全攻防實(shí)驗(yàn)等。由于網(wǎng)絡(luò)攻防技術(shù)本身具有破壞性,為教學(xué)而在系統(tǒng)中設(shè)置網(wǎng)絡(luò)安全漏洞會(huì)造成巨大風(fēng)險(xiǎn),而在真實(shí)環(huán)境中進(jìn)行網(wǎng)絡(luò)攻擊和病毒注入等實(shí)驗(yàn)還會(huì)產(chǎn)生不可逆的災(zāi)難性后果,因此需要借助虛擬仿真技術(shù)和手段開展該類實(shí)驗(yàn)。除此之外,攻防實(shí)驗(yàn)對(duì)實(shí)驗(yàn)環(huán)境的要求也具有特殊性,如網(wǎng)絡(luò)攻防實(shí)戰(zhàn)實(shí)驗(yàn)涉及網(wǎng)絡(luò)搭建、環(huán)境配置、攻擊目標(biāo)定制、數(shù)據(jù)處理、防護(hù)及綜合滲透測(cè)試等過程,實(shí)驗(yàn)環(huán)境的搭建和維護(hù)成本很高。因此,構(gòu)建基于云計(jì)算技術(shù)的虛擬仿真實(shí)驗(yàn)平臺(tái)具有重要意義[1-3],可較好地克服大規(guī)模網(wǎng)絡(luò)環(huán)境缺乏、實(shí)驗(yàn)對(duì)現(xiàn)有網(wǎng)絡(luò)環(huán)境的破壞、多種實(shí)驗(yàn)不能實(shí)施等問題。通過XEN虛擬化技術(shù)[4-5]提供底層虛擬機(jī)通過CloudStack[6-8]搭建系統(tǒng)架構(gòu)提供基礎(chǔ)設(shè)施即服務(wù)(簡(jiǎn)稱IaaS)模式的實(shí)驗(yàn)教學(xué)平臺(tái)?;谠破脚_(tái)設(shè)置Snort[10]與Iptables[11]聯(lián)動(dòng)構(gòu)建防火墻的典型實(shí)驗(yàn),根據(jù)云平臺(tái)提供的環(huán)境模板構(gòu)建虛擬機(jī)和網(wǎng)絡(luò)環(huán)境,然后學(xué)生可用SSH 或遠(yuǎn)程桌面連接到虛擬機(jī)上進(jìn)行相關(guān)掃描攻擊,驗(yàn)證防火墻效果。本文介紹的云平臺(tái)既滿足學(xué)生進(jìn)行復(fù)雜和有破壞性網(wǎng)絡(luò)攻防實(shí)驗(yàn)的需求,又簡(jiǎn)化了實(shí)驗(yàn)環(huán)境的搭建過程,具有重要的現(xiàn)實(shí)意義。
(1) IaaS。云計(jì)算具有3種典型的服務(wù)模式,分別是基礎(chǔ)設(shè)施即服務(wù)(IaaS)、軟件即服務(wù)[12](SaaS)和平臺(tái)即服務(wù)[13](PaaS)。其中,IaaS是其他兩種服務(wù)模型的基礎(chǔ),通過對(duì)資源的最終抽象,為他們提供虛擬的硬件資源服務(wù)。該環(huán)境下用戶可以通過服務(wù)直接請(qǐng)求硬件設(shè)備資源,如同直接使用裸機(jī)和外存設(shè)備一樣,可以完成任何物理主機(jī)能夠完成的事。IaaS的資源是公用的,使用效率會(huì)很高,因此在Iaas中需要考慮的問題就是如何使多臺(tái)機(jī)器協(xié)同工作。目前市場(chǎng)上存在的開源云平臺(tái),如CloudStack就是用來搭建云環(huán)境并提供IaaS云服務(wù)的。
(2) CloudStack。CloudStack是一個(gè)開源的云計(jì)算項(xiàng)目,可用來搭建公有云和私有云,具有高效和高伸縮性優(yōu)勢(shì)。CloudStack由Apache基金會(huì)資助,符合Apache2.0協(xié)議,用JAVA開發(fā),支持目前主流的虛擬化技術(shù),包括Xen、KVM和VMvare。CloudStack可用來整合現(xiàn)有數(shù)據(jù)中心的大部分硬件資源,并將資源以池化的方式進(jìn)行管理,包括海量的網(wǎng)絡(luò)、存儲(chǔ)和計(jì)算資源,并在此基礎(chǔ)之上來搭建云平臺(tái),提供云服務(wù)。在部署上,CloudStack具有便捷的資源管理方式,對(duì)虛擬資源的管理更接近現(xiàn)實(shí)環(huán)境,通過從大到小的樹形結(jié)構(gòu)進(jìn)行劃分,而且對(duì)數(shù)據(jù)進(jìn)行獨(dú)立存儲(chǔ),包括主存儲(chǔ)(Primary Storage)和輔助存儲(chǔ)(Second Storage)兩種數(shù)據(jù)存儲(chǔ)模式。CloudStack作為一種很好的區(qū)域架構(gòu)模式,在管理云平臺(tái)上具有結(jié)構(gòu)清晰,管理方便的優(yōu)勢(shì)。
(3) Xen。Xen是一個(gè)基于X86架構(gòu)的開源虛擬化技術(shù),由一個(gè)劍橋大學(xué)的研究項(xiàng)目逐漸發(fā)展成一個(gè)開源驅(qū)動(dòng)項(xiàng)目,具有性能穩(wěn)定、發(fā)展迅速、資源占用少的優(yōu)勢(shì)。Xen通過半虛擬化技術(shù)來獲得高性能,其占用的計(jì)算和存儲(chǔ)資源只占系統(tǒng)總資源的2%到8%,與其他虛擬化產(chǎn)品相比具有明顯的優(yōu)勢(shì),可以通過一臺(tái)普通的4 GB內(nèi)存、4 核CPU的主機(jī),也可以構(gòu)建20臺(tái)以上的虛擬機(jī)。
2.1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)
網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái)的拓?fù)浣Y(jié)構(gòu)如圖1所示,平臺(tái)實(shí)現(xiàn)基于CloudStack的高級(jí)網(wǎng)絡(luò)架構(gòu),配備有一個(gè)CloudStack管理節(jié)點(diǎn)并配置了MySQL數(shù)據(jù)庫、XenServer群集、群集中配置有若干可擴(kuò)展的計(jì)算節(jié)點(diǎn);另外還有2臺(tái)存儲(chǔ)服務(wù)器節(jié)點(diǎn)來提供NFS存儲(chǔ),配置目錄供二級(jí)存儲(chǔ)和群集的主存儲(chǔ)使用。
圖1 網(wǎng)絡(luò)攻防實(shí)驗(yàn)云平臺(tái)拓?fù)浣Y(jié)構(gòu)
XenServer群集中配置了計(jì)算節(jié)點(diǎn),用來產(chǎn)生平臺(tái)所需的Xen虛擬機(jī),平臺(tái)使用Xen自身的管理機(jī)制來維護(hù)計(jì)算節(jié)點(diǎn)的物理可用性。主存儲(chǔ)服務(wù)器用來保存虛擬機(jī)實(shí)例的卷,供虛擬機(jī)運(yùn)行時(shí)使用,可被群集中所有節(jié)點(diǎn)訪問,并支持存儲(chǔ)分級(jí)功能。二級(jí)存儲(chǔ)用來保存模板和快照等,具有一次寫和多次讀特點(diǎn)的數(shù)據(jù),存儲(chǔ)的數(shù)據(jù)量更大,需要配備較大存儲(chǔ)容量的設(shè)備。全部的計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)僅通過內(nèi)網(wǎng)訪問,與外網(wǎng)完全物理隔離。平臺(tái)管理服務(wù)器既是CloudStack管理節(jié)點(diǎn),同時(shí)也要負(fù)責(zé)云平臺(tái)的主要業(yè)務(wù)處理,因此通過雙網(wǎng)卡接入了內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)。通過CloudStack管理節(jié)點(diǎn),對(duì)主服務(wù)器及二級(jí)存儲(chǔ)進(jìn)行綜合管理和配置使用,并為前端的業(yè)務(wù)邏輯層提供API調(diào)用接口。
網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái)主體位于學(xué)校內(nèi)部網(wǎng)絡(luò),通過網(wǎng)絡(luò)中心核心路由器連接到ISP,外部對(duì)虛擬機(jī)節(jié)點(diǎn)的訪問需要通過管理服務(wù)器提供的端口映射機(jī)制,① 防止了外部攻擊,② 保證實(shí)驗(yàn)平臺(tái)上的攻防流量不會(huì)對(duì)外部網(wǎng)絡(luò)造成影響。在業(yè)務(wù)層還實(shí)現(xiàn)了用戶權(quán)限管理,將平臺(tái)用戶分為學(xué)生、老師和管理員等不同權(quán)限級(jí)別,各個(gè)權(quán)限級(jí)別的用戶須進(jìn)行認(rèn)證后方可進(jìn)行登錄及相關(guān)操作。管理員用戶僅能通過內(nèi)部網(wǎng)絡(luò)登錄,用來管理平臺(tái)的參數(shù)設(shè)置,維護(hù)平臺(tái)及物理主機(jī)的運(yùn)行;教師和學(xué)生用戶可以從外部網(wǎng)絡(luò)登錄平臺(tái)前端頁面,正常訪問攻防實(shí)驗(yàn)用到的虛擬機(jī);而對(duì)于非認(rèn)證用戶或非正常的訪問,為保證平臺(tái)正常運(yùn)行會(huì)進(jìn)行訪問者來源記錄。對(duì)于虛擬機(jī)自身的安全性,平臺(tái)在保證不同用戶的實(shí)驗(yàn)環(huán)境互相隔離的同時(shí),還采用基于沙盒的設(shè)計(jì),保證用戶數(shù)據(jù)在沙盒內(nèi)運(yùn)行,實(shí)驗(yàn)結(jié)束即自動(dòng)銷毀。
2.2 系統(tǒng)框架
網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái)的系統(tǒng)架構(gòu)如圖2所示,包括:基礎(chǔ)設(shè)施、后端服務(wù)和前端應(yīng)用。
圖2 云平臺(tái)系統(tǒng)架構(gòu)圖
平臺(tái)系統(tǒng)最下層的基礎(chǔ)設(shè)施由一組高性能服務(wù)器基于Xen虛擬化技術(shù)構(gòu)建,管理員可以通過XenCenter工具,來管理和配置集群節(jié)點(diǎn)的物理設(shè)備和網(wǎng)絡(luò)連接。并且可以檢測(cè)所有虛擬機(jī)的運(yùn)行狀態(tài)。
云虛擬實(shí)驗(yàn)平臺(tái)的其它服務(wù)基于CloudStack提供的基礎(chǔ)架構(gòu)和API進(jìn)行二次開發(fā)實(shí)現(xiàn),具體功能模塊包括:虛擬機(jī)管理模塊、賬戶管理模塊、存儲(chǔ)模塊和網(wǎng)絡(luò)管理模塊。虛擬機(jī)管理模塊作為云服務(wù)的核心,負(fù)責(zé)虛擬機(jī)整個(gè)生存周期的管理,包括生成、運(yùn)行、遷移和銷毀。模塊可以根據(jù)當(dāng)前CPU、內(nèi)存、帶寬等因素進(jìn)行綜合評(píng)定,選擇合適的宿主機(jī)分配虛擬機(jī)實(shí)例,避免物理節(jié)點(diǎn)的負(fù)載不均衡,保證了平臺(tái)的服務(wù)質(zhì)量。系統(tǒng)賬戶的管理由賬戶管理模塊負(fù)責(zé),通過權(quán)限設(shè)置和訪問控制策略,控制不同用戶對(duì)虛擬機(jī)資源、網(wǎng)絡(luò)資源和存儲(chǔ)資源的訪問,保證了平臺(tái)的安全性。存儲(chǔ)模塊采用基于兩級(jí)存儲(chǔ)模式分別管理虛擬機(jī)實(shí)例所需的靜態(tài)主機(jī)模板和運(yùn)行時(shí)所需的鏡像文件,這種層次性的存儲(chǔ)能夠更好的維護(hù)存儲(chǔ)資源,確保平臺(tái)運(yùn)行效率。網(wǎng)絡(luò)管理模塊采用Cloudstack的高級(jí)網(wǎng)絡(luò)模式,基于虛擬VLAN技術(shù)構(gòu)建實(shí)驗(yàn)網(wǎng)絡(luò)環(huán)境,使得虛擬機(jī)物理隔離。每個(gè)用戶創(chuàng)建的實(shí)驗(yàn)環(huán)境可能包含多個(gè)虛擬機(jī)節(jié)點(diǎn),會(huì)被分配一個(gè)統(tǒng)一的VLAN ID,構(gòu)成了該用戶的私有虛擬網(wǎng)絡(luò)。為了給私有網(wǎng)絡(luò)提供遠(yuǎn)程訪問等公有網(wǎng)絡(luò)服務(wù),為每個(gè)虛擬網(wǎng)絡(luò)配置了基于系統(tǒng)虛擬機(jī)的虛擬路由器,作為不同網(wǎng)絡(luò)間的公共接口,提供了包括NAT、源NAT、DHCP、DNS、數(shù)據(jù)轉(zhuǎn)發(fā)和防火墻等功能。
CloudStack平臺(tái)本身為外部調(diào)用和二次開發(fā)提供了API調(diào)用,可以實(shí)現(xiàn)對(duì)云數(shù)據(jù)庫和服務(wù)功能的訪問、對(duì)虛擬機(jī)資源和存儲(chǔ)資源的操作等等。在系統(tǒng)后端,云平臺(tái)通過實(shí)現(xiàn)一個(gè)守護(hù)進(jìn)程,調(diào)用CloudStack的API接口,為前端業(yè)務(wù)邏輯模塊提供服務(wù)。
2.3 系統(tǒng)功能模塊
實(shí)驗(yàn)平臺(tái)通過圖3所示的前端頁面功能提供服務(wù)。
圖3 云平臺(tái)前端功能
與傳統(tǒng)的實(shí)驗(yàn)室相比,云平臺(tái)對(duì)幾乎所有系統(tǒng)資源進(jìn)行了虛擬化,包括操作系統(tǒng)、網(wǎng)絡(luò)資源等。可以對(duì)實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)環(huán)境以及網(wǎng)絡(luò)拓?fù)溥M(jìn)行定制,并且提供了對(duì)復(fù)雜攻防實(shí)驗(yàn)的支持。界面分別提供了教學(xué)實(shí)驗(yàn)入口和攻防演練入口,配置虛擬實(shí)驗(yàn)環(huán)境所需的模板包括主機(jī)模板,環(huán)境模板,實(shí)驗(yàn)?zāi)0搴驼n程模板。
主機(jī)模板包括不同的操作系統(tǒng)版本和實(shí)驗(yàn)所需的基礎(chǔ)軟件,并針對(duì)攻防演練的需求定制了多種系統(tǒng)和軟件漏洞。模板可以由管理員通過配置的虛擬機(jī)實(shí)例的鏡像制作,也可通過外部導(dǎo)入。環(huán)境模板根據(jù)實(shí)驗(yàn)要求設(shè)定主機(jī)數(shù)量和主機(jī)模板類型,并定制靜態(tài)或動(dòng)態(tài)登錄密碼,配置網(wǎng)絡(luò)環(huán)境。實(shí)驗(yàn)?zāi)0逯性O(shè)置了實(shí)驗(yàn)指導(dǎo)書和需要的環(huán)境模板,實(shí)驗(yàn)指導(dǎo)書包括實(shí)驗(yàn)準(zhǔn)備、實(shí)驗(yàn)步驟、實(shí)驗(yàn)預(yù)期結(jié)果等。課程模板根據(jù)實(shí)際課程教學(xué)需要,定制課程所需實(shí)驗(yàn),選擇實(shí)驗(yàn)?zāi)0?,設(shè)定實(shí)驗(yàn)學(xué)時(shí),制定考核標(biāo)準(zhǔn)等。
實(shí)驗(yàn)平臺(tái)分別提供了應(yīng)用平臺(tái)和管理平臺(tái),應(yīng)用平臺(tái)主要為教師用戶和學(xué)生用戶提供實(shí)驗(yàn)規(guī)劃、實(shí)驗(yàn)部署、實(shí)驗(yàn)操作和實(shí)驗(yàn)考核的入口,支持課程管理、實(shí)驗(yàn)管理、個(gè)人賬號(hào)管理、遠(yuǎn)程管理、遠(yuǎn)程終端連接和定制實(shí)驗(yàn)的功能。管理平臺(tái)主要是為了方便管理員維護(hù)基本的平臺(tái)環(huán)境和平臺(tái)資源,包括用戶管理、模板管理、虛擬機(jī)快照管理、實(shí)驗(yàn)環(huán)境和系統(tǒng)管理等功能。
實(shí)驗(yàn)的具體流程。管理員分配教師和學(xué)生賬號(hào),并為不同賬號(hào)設(shè)置訪問權(quán)限;教師用戶用自己的賬號(hào)登錄系統(tǒng)后,可對(duì)自己的課程進(jìn)行設(shè)置,選擇課程所需的實(shí)驗(yàn)項(xiàng)目,上傳實(shí)驗(yàn)指導(dǎo)書和實(shí)驗(yàn)報(bào)告模板,配置主機(jī)模板和環(huán)境模板,選擇選課學(xué)生;實(shí)驗(yàn)開始前點(diǎn)擊構(gòu)建實(shí)驗(yàn)環(huán)境按鍵,系統(tǒng)會(huì)根據(jù)目前選課人數(shù)創(chuàng)建相應(yīng)的虛擬實(shí)驗(yàn)環(huán)境。學(xué)生登錄后,根據(jù)對(duì)應(yīng)的實(shí)驗(yàn)項(xiàng)目獲得環(huán)境中所有可見虛擬機(jī)的IP/端口、登錄密碼(靜態(tài)或動(dòng)態(tài)),通過Telnet、SSH或者遠(yuǎn)程桌面的方式進(jìn)入自己的實(shí)驗(yàn)環(huán)境。
實(shí)驗(yàn)過程中,教師可以隨時(shí)查看學(xué)生的實(shí)驗(yàn)情況,進(jìn)行實(shí)驗(yàn)指導(dǎo)。平臺(tái)的實(shí)驗(yàn)過程具有可視化優(yōu)點(diǎn)。實(shí)驗(yàn)數(shù)據(jù)也可多次回放,實(shí)驗(yàn)環(huán)境可以隨時(shí)恢復(fù)。通過這樣統(tǒng)一集中管理方式,所有實(shí)驗(yàn)資源能夠集中恢復(fù)和一鍵銷毀。對(duì)于一些不可逆的攻防實(shí)驗(yàn),學(xué)生也可在實(shí)驗(yàn)過程中重置實(shí)驗(yàn)環(huán)境,反復(fù)體驗(yàn)?zāi)承?shí)驗(yàn)步驟。實(shí)驗(yàn)平臺(tái)由于具有高度的擴(kuò)展性,因此能夠支持復(fù)雜的大規(guī)模網(wǎng)絡(luò)實(shí)驗(yàn),保證多層次學(xué)生的實(shí)驗(yàn)需求。
3.1 實(shí)驗(yàn)準(zhǔn)備
現(xiàn)以“信息安全概論”課中一個(gè)具體實(shí)驗(yàn)為例,實(shí)驗(yàn)是通過Snort與防火墻進(jìn)行聯(lián)動(dòng)來構(gòu)建一個(gè)輕量級(jí)的入侵檢測(cè)系統(tǒng)。其中,Snort入侵檢測(cè)系統(tǒng),可將網(wǎng)絡(luò)上的惡意行為和惡意代碼制成規(guī)則庫,與實(shí)際數(shù)據(jù)源進(jìn)行匹配,從而判斷入侵行為。但Snort只能發(fā)現(xiàn)入侵,并不能阻斷攻擊,而Iptables規(guī)則是常用的阻斷網(wǎng)絡(luò)數(shù)據(jù)包的方式,因此本實(shí)驗(yàn)通過Snort與Iptables的聯(lián)動(dòng),綜合二者優(yōu)點(diǎn),互補(bǔ)對(duì)方的缺點(diǎn),達(dá)到檢測(cè)攻擊并切斷攻擊的目的。實(shí)驗(yàn)利用一個(gè)簡(jiǎn)單的腳本實(shí)時(shí)讀取告警日志,根據(jù)記錄的IP和端口,創(chuàng)建對(duì)應(yīng)的Iptables規(guī)則,加入遠(yuǎn)程或?qū)?yīng)主機(jī)的防火墻規(guī)則中。
在傳統(tǒng)環(huán)境中由于大量用戶同時(shí)進(jìn)行掃描等攻擊行為,會(huì)造成局域網(wǎng)的流量阻塞,影響網(wǎng)絡(luò)正常使用。因此,本實(shí)驗(yàn)選擇在虛擬實(shí)驗(yàn)云平臺(tái)下進(jìn)行,實(shí)驗(yàn)的環(huán)境模板配置如圖4所示。
圖4 實(shí)驗(yàn)主機(jī)及網(wǎng)絡(luò)配置
實(shí)驗(yàn)環(huán)境有3臺(tái)虛擬機(jī)構(gòu)成,其中snort-host主機(jī)只可在環(huán)境內(nèi)部登錄,不提供遠(yuǎn)程登錄接口。另2臺(tái)主機(jī)可通過遠(yuǎn)程桌面連接,host主機(jī)為實(shí)驗(yàn)操作機(jī),用來遠(yuǎn)程登錄、安裝和配置snort主機(jī),test主機(jī)則用來遠(yuǎn)程探測(cè)。通過實(shí)驗(yàn)平臺(tái)可以按實(shí)驗(yàn)人數(shù),載入對(duì)應(yīng)數(shù)量的實(shí)驗(yàn)環(huán)境,由于采用了CloudStack的高級(jí)網(wǎng)絡(luò)模式,不同實(shí)驗(yàn)環(huán)境的主機(jī)之間被物理隔離,實(shí)驗(yàn)結(jié)果不受外界影響。環(huán)境搭建成功,學(xué)生登錄后看到的實(shí)驗(yàn)平臺(tái)的界面。
3.2 實(shí)驗(yàn)步驟
(1) 通過host主機(jī)登錄snort-host,安裝并配置snort環(huán)境,包括snort依賴包、Snort規(guī)則庫、DAQ 、libdnet、guardian等。Guardian是一個(gè)開源的perl程序。通過讀取和分析Snort日志,自動(dòng)執(zhí)行自己的shell腳本來配置Iptables下的規(guī)則,將惡意IP地址加入Filter表中的INPUT鏈下,并將其數(shù)據(jù)包丟棄。
對(duì)Snort的配置文件snort.conf修改如下:
#實(shí)驗(yàn)環(huán)境配置的子網(wǎng)段
ipvar HOME_NET 10.1.1.0/24
ipvar EXTERNAL_NET any
#配置snort規(guī)則
varRULE_PATH /etc/snort1/rules
varSO_RULE_PATH /etc/snort1/so_rules
varPREPROC_RULE_PATH /etc/snort1/preproc_rules
varWHITE_LIST_PATH /etc/snort1/rules
varBLACK_LIST_PATH /etc/snort1/rules
#檢測(cè)端口掃描,不去注釋也可以,去掉注釋用nmap掃描即可看到掃描日志
preprocessor sfportscan: proto { all } memcap { 10000000 }sense_level { low }include PREPROC_RULE_PATH/preprocessor.rules
include PREPROC_RULE_PATH/decoder.rules
include PREPROC_RULE_PATH/sensitive-data.rules
對(duì)guardian的配置文件guardian.conf進(jìn)行如下修改:
Interface eth0
LogFile /var/log/snort/guardian.log
AlertFile /var/log/snort/alert //alert文件的位置
IgnoreFile /etc/snort/guardian.ignore //白名單
targetFile /etc/snort/guardian.target //黑名單
TimeLimit 120 //阻斷時(shí)間,以秒為單位
用如下命令啟動(dòng)guardian:
(2) 聯(lián)動(dòng)測(cè)試。登錄host主機(jī),打開x-scan掃描軟件,將掃描參數(shù)中指定IP搜索范圍設(shè)置成snort主機(jī)的IP地址:10.1.1.12。全局設(shè)置選項(xiàng)卡中的掃描模塊選則“全選”,插件設(shè)置選項(xiàng)卡下的所有設(shè)置均全部選中。
點(diǎn)擊開始按鈕,開始掃描;登陸snort-host觀察日志文件/var/log/snort,發(fā)現(xiàn)產(chǎn)生多條類似如下形式的告警日志,表示檢測(cè)到外界掃描。
在snort主機(jī)上啟動(dòng)guardian,并與iptables聯(lián)動(dòng),之后在日志文件中,可以發(fā)現(xiàn)block腳本已經(jīng)被執(zhí)行。
執(zhí)行iptables-L,觀察是否有新規(guī)則被插入,如果有則證明實(shí)驗(yàn)驗(yàn)證成功。插入的Iptables規(guī)則格式如下:
Target port opt source destination
DROP all --192.168.101.103 anywhere
至此,單臺(tái)防火墻聯(lián)動(dòng)已成功實(shí)現(xiàn),有效驗(yàn)證了通過虛擬仿真云實(shí)驗(yàn)平臺(tái)進(jìn)行網(wǎng)絡(luò)攻防實(shí)驗(yàn)的可行性。
針對(duì)當(dāng)前網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)環(huán)境的問題,介紹了基于CloudStack架構(gòu)的網(wǎng)絡(luò)攻防虛擬實(shí)驗(yàn)云平臺(tái),平臺(tái)既可滿足日常實(shí)驗(yàn)教學(xué)的需要,也為網(wǎng)絡(luò)安全技術(shù)愛好者提供了攻防演練的場(chǎng)所。平臺(tái)具有的現(xiàn)實(shí)意義:① 大大節(jié)省了實(shí)驗(yàn)設(shè)備空間;② 能夠快速搭建復(fù)雜網(wǎng)絡(luò),支持具有破壞性和不可逆性的網(wǎng)絡(luò)攻防實(shí)驗(yàn);③ 可以同時(shí)構(gòu)建大量相同實(shí)驗(yàn)環(huán)境,實(shí)驗(yàn)環(huán)境物理隔離;④ 有利于實(shí)驗(yàn)內(nèi)容的開放和共享;⑤ 大大減少了實(shí)驗(yàn)教師和管理者的勞動(dòng)強(qiáng)度。目前,實(shí)驗(yàn)平臺(tái)的XenServer集群包括8臺(tái)雙路4核、128 GB內(nèi)存的高性能服務(wù)器,可以同時(shí)建立300臺(tái)以上的虛擬機(jī)。已經(jīng)通過平臺(tái)成功的開展了信息安全基礎(chǔ)、信息內(nèi)容安全等信息安全專業(yè)本科實(shí)驗(yàn)教學(xué),取得了較好效果。今后可通過擴(kuò)展底層的服務(wù)器,提升系統(tǒng)承載能力,將平臺(tái)向外推廣,讓其具有更廣闊的前景。
[1] 張朝昆,崔 勇,唐翯祎,等. 軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展[J]. 軟件學(xué)報(bào),2015,26(1):62-81.
[2] 宋 平,劉 軼,劉 馳,等. 一種支持細(xì)粒度并行的SDN虛擬化編程框架[J]. 軟件學(xué)報(bào),2014,25(10):2220-2234.
[3] 龍艷軍,歐陽建權(quán),俞佳曦. 基于GNS3和VMware的虛擬網(wǎng)絡(luò)集成[J]. 實(shí)驗(yàn)技術(shù)與管理,2013,30(2):90-93.
[4] 石 磊,鄒德清,金 海. Xen虛擬化技術(shù)[M].武漢:華中科技大學(xué)出版社,2009.
[5] 吳 迪,薛 政,潘 嶸.基于XEN云平臺(tái)的網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)室研究與探索,2013,32(7):62-66.
[6] 吳常清,王慧敏,薛 濤. 基于CloudStack的私有云平臺(tái)的構(gòu)建與實(shí)現(xiàn)[J]. 西安工程大學(xué)學(xué)報(bào),2014,28(2):220-224.
[7] 彭 紅. 基于CloudStack云管理平臺(tái)的關(guān)鍵技術(shù)研究與應(yīng)用[D].上海:華東理工大學(xué),2013.
[8] 余志濤.基于CloudStack云平臺(tái)的研究與自動(dòng)系統(tǒng)的實(shí)現(xiàn)[D].大連:大連理工大學(xué),2014.
[9] 董健康,王洪波,李陽陽,等. IaaS環(huán)境下改進(jìn)能源效率和網(wǎng)絡(luò)性能的虛擬機(jī)放置方法[J]. 通信學(xué)報(bào),2014,35(1):72-81.
[10] 孫 偉. Snort輕量級(jí)入侵檢測(cè)系統(tǒng)全攻略[M].北京:北京郵電大學(xué)出版社,2009.
[11] Gregor N P.Linux iptables Pocket Reference[M].California:O’Reilly Media,2004.
[12] 李曉娜,李慶忠,孔蘭菊,等. 基于共享模式的SaaS多租戶數(shù)據(jù)劃分機(jī)制研究[J]. 通信學(xué)報(bào),2012,33(S1):110-120.
[13] 徐 鵬,陳 思,蘇 森. 互聯(lián)網(wǎng)應(yīng)用PaaS平臺(tái)體系結(jié)構(gòu)[J]. 北京郵電大學(xué)學(xué)報(bào),2012,35(1):120-124.
CloudStack Based Virtual Simulation Cloud Platform for Network Attack and Defense Experiment
SHIJiantao,LIXiukun,ZHANGZhaoxin
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Network security experiments often require complex experimental environment. The network attack and defense technology is destructive and irreversible. Setting network security vulnerabilities for teaching will produce huge risk. The setup and maintenance costs for experimental environment are very expensive. Therefore, it is of great significance to use virtualization and SDN technology to build the simulation platform. The virtual experiment platform of network attack and defense is constructed based on CloudStack, open source cloud architecture, and XEN virtualization technology. The platform solves the problems in the network security experiment teaching and can provide IaaS cloud services. The introduction and analysis of a specific experiment show that the cloud experiment platform can effectively improve the quality of experiment teaching and cultivate students' engineering practice ability and innovation ability. The cloud platform itself has broad prospects for development and application.
CloudStack;cloud computing;virtualized simulation;network attack and defense experiment
2016-08-15
國家自然科學(xué)基金項(xiàng)目(61402137)
史建燾(1980-),男、黑龍江哈爾濱人、博士、工程師,主要從事計(jì)算機(jī)網(wǎng)絡(luò),云計(jì)算,信息安全等方面的研究。
Tel.: 13009877883, 0451-86413844; E-mail:shijiantao@hit.edu.cn
TP 393.08
A
1006-7167(2017)05-0075-04