薛俊凱 襲雅 李蒙
摘要:本文研究一種基于OpenStack的網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)。通過結(jié)合KVM虛擬化技術(shù),構(gòu)建一套可滿足多種網(wǎng)絡(luò)安全實(shí)驗(yàn)要求的綜合性網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái),滿足網(wǎng)絡(luò)安全相關(guān)實(shí)驗(yàn)教學(xué)要求。此方案可有效解決網(wǎng)絡(luò)安全實(shí)驗(yàn)室建設(shè)中所面臨的設(shè)備投資大、實(shí)驗(yàn)環(huán)境構(gòu)建困難等問題。
關(guān)鍵詞:OpenStack;網(wǎng)絡(luò)安全;實(shí)驗(yàn)平臺(tái)
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)19-0040-02
本文研究一種基于OpenStack的網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)。該方案有效地提高了平臺(tái)的可擴(kuò)展性、容錯(cuò)性,降低了開發(fā)平臺(tái)的成本,有效地解決了網(wǎng)絡(luò)安全實(shí)驗(yàn)室建設(shè)中設(shè)備投入大、實(shí)驗(yàn)環(huán)境建設(shè)困難等問題。同時(shí),基于開源平臺(tái)可以有效整合系統(tǒng)資源及硬件資源,通過定制化的資源分配為用戶設(shè)置不同的實(shí)驗(yàn)環(huán)境,滿足網(wǎng)絡(luò)安全、木馬攻擊等多種課程需求。
1 開源私有云平臺(tái)技術(shù)選型
目前,云計(jì)算平臺(tái)的種類很多,其中開源的云計(jì)算平臺(tái)主要有Eucalyptus、CloudStack和OpenStack。Eucalyptus是由加利福尼亞大學(xué)研究所出版的,其開發(fā)、運(yùn)用相對(duì)較早,無需修改Eucalyptus服務(wù)組件即可使用;CloudStack通過現(xiàn)存基礎(chǔ)架構(gòu)創(chuàng)建云應(yīng)用服務(wù),雖然功能較完善,但不支持VLAN間互訪;OpenStack是美國(guó)國(guó)家航空航天局(NASA)和RACSCORE開發(fā)的高靈活性和高可用性的開源云計(jì)算平臺(tái)。具有虛擬化產(chǎn)品服務(wù)器和相關(guān)資源利用率高,具有比例限制和身份認(rèn)證,它可以設(shè)置非法訪問限制的自動(dòng)化和安全性。[1]
這3個(gè)主流開源云計(jì)算項(xiàng)目各有特點(diǎn)。鑒于OpenStack云平臺(tái)活躍度相對(duì)較高,架構(gòu)開放,方便定制開發(fā),易實(shí)施、支持大規(guī)模的彈性擴(kuò)展,本平臺(tái)選擇OpenStack構(gòu)造私有云平臺(tái)來構(gòu)建網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)。
2 網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)架構(gòu)設(shè)計(jì)
考慮未來實(shí)驗(yàn)平臺(tái)二次擴(kuò)展開發(fā)需要,本文采用了模塊化的抽象分層設(shè)計(jì)模式。通過整合網(wǎng)絡(luò)安全實(shí)驗(yàn)項(xiàng)目,創(chuàng)建實(shí)驗(yàn)環(huán)境所需要的虛擬環(huán)境的虛擬機(jī)母版,可根據(jù)不同的實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)可滿足實(shí)驗(yàn)需求的網(wǎng)絡(luò)拓?fù)?,使用SDN網(wǎng)絡(luò)虛擬化技術(shù)完成實(shí)驗(yàn)拓?fù)涞拇罱ā?/p>
本實(shí)驗(yàn)平臺(tái)按照管控、資源、應(yīng)用三個(gè)方面,遵循下層為上層提供服務(wù)、上層對(duì)下層進(jìn)行控制的思想,采用抽象分層的設(shè)計(jì)模式,從上到下的實(shí)驗(yàn)平臺(tái)分層體系結(jié)構(gòu)設(shè)計(jì)是面向用戶的實(shí)驗(yàn)應(yīng)用層、OpenStack私有云網(wǎng)絡(luò)虛擬化層和面向底層硬件虛擬化的資源管理層。[2]
實(shí)驗(yàn)應(yīng)用層設(shè)定了多種用戶角色,管理員用戶具有實(shí)驗(yàn)平臺(tái)的最高級(jí)別權(quán)限,可控制并分配實(shí)驗(yàn)平臺(tái)資源;開發(fā)者用戶主要負(fù)責(zé)創(chuàng)建實(shí)驗(yàn)場(chǎng)景資源,搭建與實(shí)驗(yàn)場(chǎng)景對(duì)應(yīng)的網(wǎng)絡(luò)拓?fù)?。教師用戶?fù)責(zé)課程任務(wù)創(chuàng)建,可根據(jù)開設(shè)課程的教學(xué)大綱,制定相應(yīng)的實(shí)驗(yàn)課程并發(fā)布給學(xué)員;學(xué)員用戶為實(shí)驗(yàn)的主要操作者。
網(wǎng)絡(luò)虛擬化層通過OpenStack網(wǎng)絡(luò)服務(wù)組件來實(shí)現(xiàn),通過SDN可以對(duì)其進(jìn)行操作,以提供網(wǎng)絡(luò)、子網(wǎng)和路由功能,效仿物理設(shè)備的功能,在整個(gè)實(shí)驗(yàn)平臺(tái)的網(wǎng)絡(luò)中劃分多個(gè)子網(wǎng),路由器在不同的子網(wǎng)間進(jìn)行數(shù)據(jù)包的傳遞。路由器通過網(wǎng)關(guān)連接網(wǎng)絡(luò),虛擬機(jī)實(shí)例上的網(wǎng)絡(luò)端口連接到子網(wǎng)中,不同子網(wǎng)中的虛擬機(jī)實(shí)例通過同一路由器相互連接。
基于OpenStack的網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)所含系統(tǒng)采用基于KVM虛擬化技術(shù)作為底層,虛擬仿真系統(tǒng)中核心為自主研發(fā)虛擬化管理平臺(tái)。由虛擬仿真系統(tǒng)中的管理引擎向計(jì)算資源發(fā)送控制指令,存儲(chǔ)中的信息按需調(diào)入計(jì)算資源的內(nèi)存中運(yùn)算。計(jì)算資源被看作統(tǒng)一的虛擬資源池,隨著使用用戶數(shù)的提升,只需增加計(jì)算資源便可滿足更高人數(shù)和要求的攻防演練。KVM實(shí)現(xiàn)主要基于Intel-V、AMD-V提供的虛擬化平臺(tái),利用普通Linux進(jìn)程運(yùn)行于虛擬態(tài)的指令集,模擬虛擬機(jī)監(jiān)視器、CPU。KVM不提供硬件虛擬化操作,其IO操作等都借助QEMU完成,所有虛擬化使用者均采用Guest身份訪問目標(biāo)系統(tǒng)。[3]
3 實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn)
本實(shí)驗(yàn)平臺(tái)主要使用了OpenStack項(xiàng)目中的Keystone、Nova、Glance和Neutron等組件搭建OpenStack私有云。在私有云基礎(chǔ)上創(chuàng)建虛機(jī)實(shí)例,進(jìn)行虛擬機(jī)網(wǎng)絡(luò)部署,隔離不同實(shí)驗(yàn)場(chǎng)景的網(wǎng)絡(luò),從而實(shí)現(xiàn)學(xué)員實(shí)驗(yàn)環(huán)境與KVM技術(shù)的結(jié)合。
部署Keystone服務(wù)組件,使其提供可認(rèn)證、授權(quán)和目錄的服務(wù);安裝Nova計(jì)算服務(wù)組件作為OpenStack私有云中的核心計(jì)算、組織控制器,主要管理OpenStack云平臺(tái)中虛機(jī)實(shí)例的所有生命周期活動(dòng);部署Glance組件,OpenStack的最終目標(biāo)是為用戶創(chuàng)建具有一定配置要求的虛機(jī)。OpenStack用image組件創(chuàng)建、重建虛機(jī)。為了方便起見,OpenStack允許用戶上傳一定量的image來創(chuàng)建虛機(jī),image數(shù)量受租戶的用戶相關(guān)配額限制。image由OpenStack的Glance組件管理。任何用戶都可以上傳、注冊(cè)image到OpenStack私有云平臺(tái),并且還可以設(shè)置image是否被公開地用于其他租戶用戶。[4]
OpenStack的Neutron組件其實(shí)就是一種SDN架構(gòu),使用SDN網(wǎng)絡(luò)虛擬化技術(shù)來創(chuàng)建和配置虛擬網(wǎng)絡(luò),根據(jù)實(shí)驗(yàn)需求對(duì)虛擬節(jié)點(diǎn)進(jìn)行配置和管理,在物理網(wǎng)絡(luò)上,存在許多相互隔離的虛擬網(wǎng)絡(luò),使得不同用戶之間使用獨(dú)立的網(wǎng)絡(luò)資源片,從而提高了網(wǎng)絡(luò)資源的利用率,實(shí)現(xiàn)了彈性網(wǎng)絡(luò)。
使用KVM虛擬化管理工具Libvirt來接收系統(tǒng)和用戶的指令,調(diào)用底層相應(yīng)的虛擬化技術(shù)接口實(shí)現(xiàn)虛擬機(jī)的創(chuàng)建、修改、監(jiān)控、控制、遷移和停止等功能。
4 實(shí)驗(yàn)平臺(tái)特點(diǎn)
1) 真實(shí)性:本實(shí)驗(yàn)平臺(tái)建立在私有云平臺(tái)的基礎(chǔ)上,使用OpenStack的Neutron網(wǎng)絡(luò)服務(wù)組件來搭建虛擬網(wǎng)絡(luò)環(huán)境,能夠?qū)崟r(shí)監(jiān)控虛擬網(wǎng)絡(luò)運(yùn)行狀態(tài),營(yíng)建真實(shí)的物理網(wǎng)絡(luò)環(huán)境,實(shí)驗(yàn)資源可以無縫的熱遷移到真實(shí)硬件環(huán)境中,提高了實(shí)驗(yàn)平臺(tái)的真實(shí)性。
2) 可擴(kuò)展性:抽象分層的設(shè)計(jì)模式提供標(biāo)準(zhǔn)化的管理接口APIs,方便實(shí)驗(yàn)平臺(tái)的二次開發(fā)、升級(jí)以及軟硬件的移植和擴(kuò)展,提高了實(shí)驗(yàn)平臺(tái)的可擴(kuò)展性。
3) 隔離性:實(shí)驗(yàn)平臺(tái)基于OpenStack私有云運(yùn)行,通過增量克隆技術(shù),使得不同的實(shí)驗(yàn)場(chǎng)景共享虛擬網(wǎng)絡(luò)資源,支持多個(gè)實(shí)驗(yàn)并行開展,保證不同實(shí)驗(yàn)場(chǎng)景的網(wǎng)絡(luò)流量互不影響,實(shí)現(xiàn)了網(wǎng)絡(luò)的有效隔離。
4) 可編程性:本實(shí)驗(yàn)平臺(tái)采OpenStack開源管理項(xiàng)目平臺(tái)構(gòu)建,提高了實(shí)驗(yàn)平臺(tái)的可編程性。在實(shí)驗(yàn)中,支持學(xué)員用戶以只讀的權(quán)限自定義各種虛擬機(jī)網(wǎng)絡(luò)安全配置,當(dāng)實(shí)驗(yàn)室結(jié)束時(shí)恢復(fù)初始狀態(tài)。在結(jié)構(gòu)上,支持科研員用戶根據(jù)學(xué)員的實(shí)驗(yàn)課程需求自定義網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),管理員用戶可以根據(jù)實(shí)驗(yàn)教學(xué)的擴(kuò)展增加虛擬機(jī)母版。[2]
5 結(jié)束語(yǔ)
虛擬化技術(shù)的發(fā)展可以降低硬件成本帶來的困難,本論文通過對(duì)比目前主流云計(jì)算虛擬化管理平臺(tái),提出了一套基于OpenStack的網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)平臺(tái)部署方案。平臺(tái)的設(shè)計(jì)擺脫了物理硬件資源成本的局限性、拔插網(wǎng)線的煩惱,能夠使學(xué)員們把網(wǎng)絡(luò)安全當(dāng)作一種學(xué)習(xí)興趣,只要網(wǎng)絡(luò)可達(dá),即可進(jìn)行網(wǎng)絡(luò)安全實(shí)驗(yàn)。
針對(duì)此系統(tǒng),下一步的開發(fā)工作將聚集在以下兩個(gè)方面:(1)提供實(shí)驗(yàn)平臺(tái)的運(yùn)行效率,對(duì)實(shí)驗(yàn)中的關(guān)鍵節(jié)點(diǎn)進(jìn)行優(yōu)化并實(shí)時(shí)數(shù)據(jù)分析、流量檢測(cè)和負(fù)載狀態(tài)監(jiān)測(cè)。(2)增強(qiáng)實(shí)驗(yàn)環(huán)境構(gòu)建性能,即能夠快速地部署網(wǎng)絡(luò)拓?fù)?;未來將在各高校施展該網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)的應(yīng)用范圍,加強(qiáng)網(wǎng)絡(luò)安全相關(guān)課程的理論知識(shí)和實(shí)踐,培養(yǎng)學(xué)生的實(shí)踐能力和創(chuàng)新意識(shí),使得該實(shí)驗(yàn)平臺(tái)能夠被廣大的網(wǎng)絡(luò)安全愛好者所認(rèn)同。最后,希望我國(guó)的網(wǎng)絡(luò)安全行業(yè)能夠蒸蒸日上。
參考文獻(xiàn):
[1] 劉晶.基于Openstack的網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].山西大學(xué),2017.
[2] 廉龍穎,王希斌,劉文強(qiáng),陳榮麗.基于OpenStack的網(wǎng)絡(luò)安全實(shí)驗(yàn)平臺(tái)[J].教學(xué)研究,2015, 38(2): 95-99.
[3] 李蒙,張蕾妮,張德民.基于虛擬化技術(shù)的信息安全實(shí)驗(yàn)平臺(tái)構(gòu)建[J].電子技術(shù)與軟件工程, 2017(1):207.
[4] 李小寧,李磊,金連文,黎德生.基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J].電信科學(xué), 2012, 28(9):1-8.