高安邦



一、引言
隨著信息技術的發展,互聯網已經滲透到我們社會生活的方方面面。互聯網在給我們的工作、生活帶來便利的同時,網絡空間安全的形勢也越來越嚴峻。尤其是最近幾年,網絡安全事件層出不窮,例如2013年的斯諾登事件、2017年的Wannacry勒索病毒,等等。這些網絡安全事件給我們的隱私安全、社會安全帶來了極大的威脅,同時也給我們的網絡空間安全教育敲響了警鐘。習近平總書記在2018年4月21日全國網絡安全和信息化工作會議上指出,沒有網絡安全就沒有國家安全,就沒有經濟社會穩定運行,廣大人民群眾利益也難以得到保障。2018年4月,教育部公布最新《學位授予和人才培養學科目錄》增設“網絡空間安全”一級學科。在此基礎上,很多大學增設了網絡空間安全學院,網絡空間安全人才培養體系逐步完善,網絡安全人才培養方興未艾。
中職網絡安全教育起步晚,基礎薄弱,面臨著教學內容繁復、實驗條件缺乏等現實問題。中職網絡攻防技術課程的主要內容涵蓋:操作系統滲透測試及加固(Windows操作系統滲透測試及加固、Linux操作系統滲透測試及加固等)、Web應用滲透測試及加固(SQL注入、命令注入、文件上傳等漏洞滲透測試及加固)、BT5和KaliLinux系統常見工具的使用等。在課程實訓過程中,學生需要使用到WindowsXP、Windows2003、Windows7、Windows2008R2等Windows系列的操作系統,以及BackTrack5、Kali Linux、ubuntu、CentOS等Linux系列的操作系統。
相比于網絡攻防技術課程對實訓環境的較高要求,我們當前的單機實訓方式已經顯露出了很多缺陷和不足。然而,要購買公司全套安全產品建立網絡安全實訓室花費巨大(100萬元左右)。基于以上原因,我們引入Proxmox VE(下文簡稱PVE)開源云計算平臺,利用學校閑置計算資源,為網絡攻防技術課程提供虛擬化實訓環境,并探索該實訓環境在網絡攻防技術課程實訓中的應用模式和應用策略,進而評價這種應用模式的效用,更好地變革我們的課程和實訓模式。
本文從系統架構設計、系統實現、系統應用實踐等角度分析了使用開源云計算系統ProxmoxVE搭建中職網絡攻防技術課程云實訓平臺的必要性、可行性和效用性,對于解決當前中職學校網絡攻防技術課程實訓環境缺乏提供了一種可供借鑒的解決方案。
二、概念界定
1.PVE
PVE的全稱為Proxmox Virtual Environment。它是一款完全開源的虛擬化和云計算平臺,基于Debian Linux開發,涵蓋了基于內核的虛擬機(KVM)和基于容器的虛擬化(LXC)兩種虛擬化技術。PVE采用Web界面進行管理,不需要額外安裝客戶端程序就能夠對虛擬化環境進行很好的管理。它具有以下優勢:開源軟件,無需購買;基于Linux內核,運行高效;支持多種硬件平臺;快速安裝和易于使用;基于Web管理界面;有社區支持;管理成本低,部署簡單等特點。PVE在生產環境下的使用和部署絲毫不遜于VMware公司的VMware vSphere。
2.云實訓
云實訓,顧名思義是在云端開展實訓,即通過云計算技術支持的環境進行實訓學習。換句話說這是一種采用虛擬化和云計算技術為基礎搭建起來的以支持學生學習與實訓為目的的虛擬實訓環境。相較于傳統機房單機的實訓環境,云實訓只需要在有網絡連接的環境下,登錄瀏覽器就可以進入實訓環境,因而具有安全便捷、突破時空等突出優點。
三、云平臺系統架構
1.系統網絡拓撲設計
我們采用3臺普通臺式機、1臺惠普服務器以及1臺千兆交換機完成整個系統的搭建,其網絡拓撲圖如圖1所示。
其中3臺主機安裝PVE系統作為PVE服務器,構成PVE集群。惠普服務器安裝Centos系統作為NFS服務器為PVE提供共享存儲,用于存放虛擬機文件。1臺物理交換機用于連接主機和校園網,提供在校園網環境下對云實訓平臺的訪問和管理。虛擬交換機是PVE集群提供的用于在虛擬主機(包括KVM和LXC主機)之間提供通信連接的虛擬設備。值得一提的是,我們可以通過對虛擬交換機的設置決定一臺虛擬機是否可以跟校園網直接通信。該功能能夠為我們提供一個隔離的實訓環境,方便我們做一些具有破壞性的攻防實驗,相關設備的配置如表1所示。
2.系統IP規劃
本系統中,3臺PVE服務器和1臺NFS存儲服務器的IP地址采用校園統一分配的IP地址,以保證能夠跟校園網互通,方便學生在校園任意機房都可以訪問云實訓平臺。KVM虛擬機和LXC容器采用單獨的IP地址規劃,擬采用172.16.1.0/24(共計254個IP地址,并配置一臺DHCP服務器用于分配IP地址,后期如果IP地址不夠,可重新規劃),具體的IP地址規劃如表2所示。
四、攻擊機和靶機設置
1.攻擊機配置
基于PVE的云實訓平臺搭建完成之后,為了開展網絡攻防實驗,我們還需要準備好攻擊機和靶機的模板。為了降低大量虛擬機運行對資源的消耗,我們的攻擊機以PVE官網下載的Debian10的LXC鏡像為基礎,自行添加滲透測試工具。基于Debian10的LXC鏡像僅有225MB大小,創建虛擬機之后僅需分配512MB的內存就可以流暢運行。此外,LXC虛擬機啟動速度特別快,僅需幾秒鐘的時間就可以完成啟動,大大降低了學生開啟虛擬機所需要的等待時間。
網絡攻防實驗中可以選用的工具特別多,我們選取了其中比較經典的幾款軟件安裝到Debian虛擬機,這些軟件包括:nmap、p0f、arping、fping、hping3、ncat、nikto、sqlmap、crunch、medusa、ncrack、hydra、metasploit、weevely等。
攻擊機配置完成之后,我們將該虛擬機轉化成模板,然后使用shell腳本批量克隆略大于學生數量的虛擬機,使用的代碼如表3所示。
另外,我們還可以下載專門的滲透測試操作系統,通過創建KVM虛擬機的方式制備攻擊機模板,這些系統包括:KaliLinux、BT5、BlackArch、ParrotOS等。
2.靶機配置
網絡攻防技術云平臺的靶機資源主要有兩種類型:Windows虛擬機和Linux虛擬機。Windows虛擬機的制備相對比較麻煩,Windows的系統版本包括Windows2000、WindowsXP、Windows2003和Windows7。這些系統安裝完成之后需要關閉防火墻,無需安裝安全補丁。此外,我們還要人為安裝部署一些漏洞軟件和網站。例如,我們在WindowsXP虛擬機上安裝了office、flash、phpstudy、IE6、Serv-U等具有已知漏洞的軟件,部署了DVWA、pikachu、wordpress、joomla等帶有已知漏洞的滲透測試網站。
對于Linux系統,我們選用了業界比較出名的Metasploitable2作為滲透測試平臺,該平臺集成了弱口令、Samba、vsFTpd、PHP CGI、Druby等軟件漏洞,以及幾個Web滲透測試網站,如Mutillidae、DVWA、TWiki等。這里需要特別說明的是,Metasploitable2是以VMWare虛擬機的方式發行的,我們從網上下載打包文件,導入VMWare軟件即可直接使用。但是如果需要將該文件導入PVE平臺,我們首先需要從VMWare導出該虛擬機的OVF格式文件,然后使用UltraISO制備出該文件的iso文件,再利用PVE的web界面上傳到PVE服務器,并最終使用qmimportovf命令還原成PVE平臺的虛擬機。
五、云實訓平臺的應用
在完成了PVE云實訓平臺的搭建之后,我們可以使用自己創建的攻擊機和靶機完成相應的滲透測試實驗。PVE云實訓平臺除了可以支持單個學生自主訓練網絡攻防實驗之外,還可以支持奪旗(CTF)、混戰等相關實驗。通過多種形式的攻防實訓,不僅為學生提供了接近真實情形的訓練環境,同時也增加了實訓課程的趣味性。
測試發現,在同時提供100臺Linux攻擊機、100臺WindowsXP靶機的實戰場景下,PVE服務器集群的資源消耗分別為:CPU(41%)、內存(45%)、存儲(6%)。其中100臺攻擊機使用的是LXC模板,每臺給定內存為512MB,經測試可以流暢使用;100臺WindowsXP虛擬機給定內存也是512MB,由于是作為靶機,只需要正常開機就可以了,不需要進行操作。因此,本云實訓平臺不僅可以滿足兩個班(每班50人)同時上課,還具有很大的擴展空間。經測試發現,本云實訓平臺能夠有效支持學生開展網絡攻防技術課程的相關實驗條件,滿足學生單兵作戰、奪旗、混戰等多種實訓場景,其可行性、適用性和效用性符合預期。
責任編輯 何麗華