999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于虛擬化技術設計信息安全攻防實訓環境

2020-03-23 05:56:32張月紅
軟件工程 2020年2期

摘 ?要:本文分析了信息安全人才培養及院校的技能實訓環境現狀,通過對KVM虛擬化和SDN虛擬網絡運行原理及功能特性的剖析,將信息安全實訓演練與虛擬化技術結合,為院校提供高度仿真的攻防環境;在虛擬化調度與運行方面做出優化,使院校計算資源能夠充分利用;最后采用高負載壓力測試驗證相關優化技術的實際效果。

關鍵詞:KVM;SDN;信息安全;攻防實訓

中圖分類號:TP311.1 ? ? 文獻標識碼:A

1 ? 引言(Introduction)

2016年,賽迪智庫發布《信息安全產業發展白皮書(2015 版)》中指出:“信息安全技術本身具有專業性強、技術更新速度快等特點,現有的信息安全人才培育和引進機制尚不能滿足產業和企業發展的需求。”

隨著我國信息服務業逐漸興盛,信息安全保障壓力必將更加巨大,對信息安全相關人才需求也將更加迫切,其中懂技術、懂管理和懂業務的綜合型人才更是稀缺人才。信息安全人才培養需要系統化和專業化,需要從當前產業和企業用人現狀出發,優先進行安全技能型人才的著重培養,以滿足對實戰型安全人才的需求。

本文通過虛擬化的方式開發信息安全攻防實訓系統,旨在普及信息安全技能,通過實訓演練的方式提升相關專業學生或從業人員的信息安全動手能力。

2 ? 目標(Objective)

采用KVM虛擬化技術作為底層支撐,通過PHP及Python等動態語言調用虛擬化,為每位學生提供獨立的虛擬化實訓環境,并提供復雜網絡拓撲模擬功能,能實現多級應用場景下的安全攻防實訓。

(1)在實際攻防環境中通常存在多級網絡場景,但尚未應用于虛擬化實訓教學中。通過對SDN技術的研究,實現入侵路徑攻擊鏈的場景復原,并批量分配給客戶端。

(2)通過對學生實訓過程的輸入捕獲,實現實訓結果自動化評估,并能追蹤學生在攻防實訓環境中的關鍵操作。

(3)實訓環境隨用隨開,完成立即銷毀,減輕對系統的性能壓力。如遇到高并發,啟動環境可提前生成,學生登錄系統后,系統自動推送給各學生端。

3 ? 關鍵技術(Key technologies)

3.1 ? KVM 虛擬化技術

KVM[1]是基于虛擬化擴展X86硬件的開源Linux原生全虛擬化解決方案。在KVM中的虛擬機被實現為常規的Linux進程,由標準Linux調度程序進行調度;虛擬機的每個虛擬CPU被實現為一個常規的Linux進程。這使得KMV能夠使用Linux內核的已有功能。KVM本身不執行任何硬件模擬,需要客戶空間程序通過/dev/kvm接口設置一個客戶機虛擬服務器的地址空間,向它提供模擬的I/O,并將它的視頻顯示映射回宿主的顯示屏。KVM的邏輯架構如圖1所示,目前主流的應用程序是QEMU。

(1)虛擬化調度接口

在KVM虛擬化管理中,最常使用的遠程管理接口為Libvirt,該組件提供了對虛擬化及虛擬機的管理功能,例如存儲和網絡等。Libvirt相關軟件包括穩定的C語言底層API及表層二次接口、守護進程libvirtd,以及命令行工具virsh。Libvirt的主要目標是提供能夠獨立管理多種不同的虛擬化技術及相關虛擬機,包括KVM/QEMU、Xen、LXC、OpenVZ或VirtualBox。

在Python中,對Libvirt進行相應的接口調用的依賴組件為libvirt-python,該軟件包提供基于python2的API,安裝完成后可在/usr/lib/python2.7/site-packages/libvirt.py中調用。

(2)后端鏡像

KVM提供后端鏡像backing_file技術支持,在KVM中后端鏡像技術則更為方便,用戶可隨時對后端鏡像進行維護,并可快速創建派生鏡像,派生鏡像初始文件大小為192kB,僅記錄基本信息,隨著派生鏡像的啟動運行,鏡像文件隨之增長,但僅記錄與后端鏡像產生差異的部分,并且后端鏡像文件不會被修改,除非在QEMU monitor中使用commit命令或者使用qemu-img commit命令去手動提交這些改動。在KVM及QEMU后端鏡像中較其他虛擬化技術更有優勢的是Python API接口生態較為完整。

3.2 ? 瀏覽器遠程控制技術

Guacamole是一種基于瀏覽器的遠程管理控制軟件,用戶通過瀏覽器訪問其控制臺生成一條鏈路,通過調用后端的GUACD數據中轉組件,瀏覽器無須配置任何接入組件即可通過GUACD連接目標虛擬機中的VNC、RDP、SSH等遠程管理方式。同時考慮到性能因素,該軟件支持分布式與集群部署,并能通過其他第三方軟件如Nginx或Keepalive實現高可用。

(1)Guacamole技術架構

Guacamole遠程控制軟件的Web應用本身不支持任何遠程管理協議,也不支持直接的TCP數據傳輸,其僅對內部前后端數據通信的Guacamole傳輸協議提供完整的兼容和調用。

完整的數據流轉鏈路為:學生通過瀏覽器訪問Guacamole前端展示,并通過JavaScript腳本向Server端發送需要訪問的服務器標識數據,Server端接收數據并處理為Guacd可處理的格式,而后由Guacd向最終目標服務器發起RDP/SSH/VNC等協議的遠程訪問,并將畫面及控制數據層返回至用戶瀏覽器前端,由JavaScript進行渲染。

(2)鑒權與身份認證

Guacamole支持多種身份認證模式,包括默認的XML文本身份認證、數據庫認證、LDAP統一身份認證、HTTP頭認證、CAS統一身份認證、OpenID統一身份認證、Radius身份認證等。

3.3 ? SDN虛擬網絡

信息安全的攻防不是單一網絡場景,而是由辦公網絡、DMZ、IDC等多種交換路由網絡組成,完整的模擬一條攻擊鏈路需要將各個網絡、主機、服務、應用全面結合,而這種融合的基礎則是網絡層面的全面仿真。采用SDN[2]軟件定義網絡的方式來實現多層級拓撲結構,包含多層級路由結構與多個VXLAN結合,動態的按需創建內部虛擬化網絡,并將實驗環境的每一個虛擬機配置于合理的網絡結構中,實現一套拓撲多個主機多層網絡多套網絡設備與接口,而不同的實訓學生則可生成互不影響的多套拓撲結構,解除了網絡設備對實訓環境搭建的限制。

(1)基礎二層網絡

默認配置的KVM虛擬化及Libvirt管理工具提供了初始化的二層網絡,由基礎的靜態路由和簡單虛擬網絡、DHCP等一系列基礎服務組成。默認的二層網絡基于Libvirt的XML網絡配置文件創建,編輯維護管理均存在一定不便,需要配置網絡變更時按順序執行注銷網絡、修改配置、生成網絡、調用網絡等多個步驟。例如下面的代碼為最小化配置的NAT二層網絡,如需修改子網、網關等配置信息均需要對實體文件進行修改,并完成上述步驟。

(2)多級三層網絡

在業務系統部署場景中常見多級網絡與多個拓撲共同構成一套業務系統的情況,同時網絡設備與安全設備的接入鏈路對虛擬化實訓的場景復原能力提出了巨大的挑戰,網絡旁路、流量鏡像、單臂路由、多級三層路由、NAT轉換、ARP代理、DHCP服務等在虛擬網絡中的實現也需要一套能夠管理三層網絡的虛擬網絡軟件。Neutron為整個SDN環境提供網絡支持,包括使用虛擬路由實現租戶網絡的互通和隔離、二層交換、三層路由、負載均衡、防火墻等。最常見的多級網絡部署模式為虛擬專用網絡VPC,這種拓撲結構中每個用戶都可以有多個子網,Neutron負責提供路由服務協調所有子網,用戶間可以通過配置路由器的路由表來控制子網間的連通。如圖3所示。

4 ? 設計與實現(Design and implementation)

4.1 ? 總體架構設計

本系統由基礎虛擬化環境、攻防實訓演練子系統(學生)、實訓及教學管理子系統(教師)三部分共同組成[3]。

基礎虛擬化環境建設主要工作內容有:物理服務器及基礎操作系統部署、KVM虛擬化及SDN Neutron配置、Web和數據庫服務部署、瀏覽器遠控服務部署等。基礎環境為本文所涉及的系統提供軟硬件運行環境。

攻防實訓演練子系統主要包括基于課程體系學習、實訓演練操作、學習成果信息查看管理等,用戶可根據自己的興趣愛好選擇不同的課程體系進入實訓環節,并能隨時查看成績排名及實訓進度等信息,一鍵返回對應實訓課程繼續學習。

實訓及教學管理子系統主要包含基礎虛擬化管理、教學及教務管理等相關功能,在實訓教學管理過程中,除了對實訓教學內容的增刪改,還能夠實時監控實驗過程畫面并提供遠程協助,以及對實訓操作結果的自動化評分。

4.2 ? 攻防實訓演練子系統設計

攻防實訓演練子系統,包含實訓課程體系、實訓演練操作、課程進度成績管理三個功能模塊,使用PHP開發并使用MySQL數據庫,并使用Apache作為前端Web服務器,架構如圖4所示。

實訓演練操作模塊是本子系統的核心,學生的全部實訓演練及學習行為均發生在該模塊中,從實訓操作出發,將實訓手冊、實訓遠程控制窗口、選擇實驗環境、查看課前知識介紹、回答課后習題等功能動態結合,在一個單一實訓任務中體現教學做評考的完整學習鏈。

(1)課前準備

信息安全領域的技術技能沒有孤立的攻防,學生應當了解應用所需的基礎知識理論與實操技能。在實訓前向學生展示需理解的知識點和關聯的實訓場景信息。包括前置知識、實訓背景、環境介紹、工具及命令講解等內容。

(2)動手實操

動手實操環節,學生通過瀏覽UI左側的指導手冊,并基于指導手冊中的操作步驟,對UI右側的遠程控制窗口進行實訓演練操作。由于信息安全相關實訓具備較大的不確定性,可能會對實訓環境產生不可逆的破壞,實操模塊還需對實訓環境對應的一個或一組虛擬機進行監控,當前端觸發初始化請求時將對原環境全面銷毀,并使用后端鏡像技術為學生重新生成完全一致的實訓環境,避免重復搭建而浪費課堂時間。

在操作窗口中主要調用到Guacamole的HTML5窗體,通過WebSocket的方式將后端數據傳輸至前端,再由前端Canvas繪制將后端的數據展現出來。對后端的WebSocket的調用通常嵌套在頁面中,示例代碼如下,在前端頁面中則以ws://IP:Port/?token=FsTY6VOQHjKC3LZU的通信協議連接。

(3)課后練習

課后練習是完成學習后對實訓演練的考核,檢驗學生是否理解并掌握課程內容。課后練習方式為觸發彈窗式,在正確回答問題后方可結束實訓,避免學生因誤操作或盲目操作而影響實訓效果。

4.3 ? 實訓及教學管理子系統設計

實訓及教學管理子系統主要承載了管理員及教師的相關管理操作,同時提供底層虛擬化調度及輸出、虛擬網絡及實驗監控等功能。該子系統主要實現虛擬化及網絡的管理功能、實訓課程管理、實訓監控,以及自動化評分等教學相關功能。由于虛擬化調度、監控、輸出、網絡管理等均采用PythonAPI,調用Django框架作為顯示前端。同時考慮到子系統的連續運行等特性,采取UWSGI作為運行Django框架的中間件將數據輸出至Nginx,并由Nginx向瀏覽器輸出顯示元素。

在功能設計中主要包括五個模塊,包括實訓虛擬化及網絡管理模塊、實訓課程管理模塊、實訓監控模塊、自動化實訓評分模塊和用戶管理模塊。功能如圖5所示。

(1)實訓虛擬化及網絡管理模塊

實訓虛擬化和網絡管理是整體實訓系統的核心,是提供教學與實訓環境的基礎模塊。考慮到信息安全相關的攻防實訓對運行環境及網絡拓撲均有較高要求,此處的設計采用與OpenStack一致虛擬化技術和網絡技術,即KVM和Neutron。

實訓系統中對虛擬資源的管理主要是虛擬機資源的管理,考慮到虛擬機所處的不同狀態,可以將對虛擬機的資源管理分為三種:創建虛擬機的資源管理、啟動虛擬機的資源管理及遷移虛擬機的資源管理。創建虛擬機時,實際上只是完成虛擬機文件的創建,虛擬機所需要的CPU、內存等資源暫時還未分配;當創建共享類型的虛擬機時,實訓系統在分配資源時采用的是輪詢方式,輪詢從虛擬機服務器組中選擇一臺服務器來創建虛擬機。啟動虛擬機時的資源管理策略目的是將虛擬機啟動到合適的服務器上,以提高實訓系統資源池中資源的利用率。

系統采用后端鏡像技術對性能進行優化,通過部署好的KVM虛擬機作為實訓環境的原始模板,并對原始模板中的操作系統及實訓環境進行最大化的性能調優,同時對原始模板的虛擬化配置文件進行優化,降低CPU及內存開銷。基于此模板生成的新鏡像則無須配置即可達到最小的性能消耗。

將創建的鏡像文件運行至KVM中即可面向學生提供實訓環境,當面臨多個學生同時創建實訓環境時也無須復制原始鏡像文件,秒級創建實訓鏡像文件。

(2)實訓課程管理模塊

實訓課程管理模塊包含了完整的門、章、節等結構,通過層層遞進的方式設計不同的課程體系,并能在小節中管理多種與實訓相關的信息,例如課前準備、知識點講解、實驗介紹、實訓手冊、趣味問答、課后習題等,并通過HTML5的方式展示富文本信息,通過引入外部編輯器UEditor,解決對PPT、WORD、音頻視頻等多媒體教學的需求,實訓課程管理模塊結構如圖6所示。

根據功能需求,本模塊主要解決包括教學內容與實訓的關聯、實訓與考核方式的管理問題,通過對后端數據庫各個相關數據表的增刪改查等操作,向演練子系統動態輸出課程內容與實訓環境等資源。

(3)實訓監控模塊

在實訓教學過程中主要存在幾種常見的管理問題,例如學生需要協助指導、巡查學生操作是否順利、幫助學生還原初始環境、實訓系統性能負載等,因此在實訓監控模塊應能提供物理機的硬件資源消耗監控、學生實驗桌面監控、環境恢復初始化、強制關閉實訓環境、操作學生實訓虛擬機等功能。

通過監控模塊[4]對虛擬實訓環境中的操作過程進行實時監控并記錄。監控記錄用于對實訓環境的實操過程把控,對虛擬實訓環境中的操作進行記錄可以用于進行實訓技能評估。實現系統用戶的操作行為記錄和查詢;通過SNMP、SYSLOG對目標設備的實時狀態信息進行采集,通過流量鏡像和收取對目標網絡的流量信息進行采集;針對采集到的信息實現標準化處理引擎,通過處理規則將信息進行標準化處理并輸出,規則實現默認庫和自定義添加。

為實現對數據庫中的日志數據進行實時解析,采用Storm實現實時數據分析。同時考慮到監控模塊需要對物理機操作系統進行性能監控,需調用Python腳本對數據進行獲取,Python主要通過psutil組件,可實現對CPU、內存、硬盤、網絡、進程等信息的獲取,調用代碼如下:

(4)性能測試

考慮到本系統提供大量虛擬化操作系統的訪問,需要較強的性能負載,而傳統的訪問式的性能測試工具如LoadRunner無法提供相應功能,因此采用自行編寫的腳本批量創建實訓環境[5],并隨時觀測其性能狀況。在物理服務器中分別使用sysstat、iotop、htop、nmon等工具對CPU及硬盤負載進行監控并記錄。

測試使用腳本創建100個CentOS實訓環境,在進入操作系統后隨機時間打開10個門戶網站,測試環境的CengOS計算資源指標均為2核CPU、4G內存。

在測試開始時可見第二硬盤的負載瞬時變大,并產生了少量的突發硬盤負載,通過對腳本執行日志的分析得知約每25個虛擬機的并發就會觸發一次小規模的I/O資源緊張。如圖8所示在全部測試過程中第一硬盤的性能幾乎沒有任何消耗,同時CPU資源雖然存在持續上升趨勢,如圖9所示,但服務器總計48核CPU,CPU LOAD為2.5僅占全部CPU性能的約5%。本次測試耗時3分46秒,100個2核CPU、4G內存的CentOS已全部加載操作系統并完成10個網頁的瀏覽器訪問。

通過批量創建不同操作系統的實訓環境分析可知,本系統已實現計算性能的全面優化,降低了CPU與硬盤的性能消耗,能夠通過一臺物理服務器為大量學生提供實訓環境,并能在短時間內完成大量實訓環境的創建任務,而無須對既有教室或實訓室進行改造,提高了資源使用率,提升了教學環境使用效率。

5 ? 結論(Conclusion)

本文通過調度底層KVM虛擬化及SDN等相關技術將信息安全攻防技術與實訓教學過程進行了一定程度的結合,并通過對教學和教務管理的深入分析,最終設計并實現了基于底層虛擬化的信息安全教學實訓系統。通過測試,該系統能夠滿足實訓演練教學做一體化的要求,可實現預期設計目標。

參考文獻(References)

[1] 馬震太,張曉梅.BOSS在KVM平臺中的性能研究與優化[J].計算機工程,2017,43(7):70-74.

[2] 許磊,顧進廣,何亨.基于SDN架構的網絡能耗與性能動態調節機制[J].計算機工程,2018,44(4):108-114.

[3] 馬麗.網絡安全攻防訓練平臺設計與實現[J].無線互聯科技,2017(11):75-76

[4] 任永杰,程舟.KVM實戰:原理、進階與性能調優[M].北京:機械工業出版社,2019.

[5] 楊志國.銀行業數據中心性能測試的策略與實踐[M].北京:人民郵電出版社,2019.

作者簡介:

張月紅(1975-),女,碩士,副教授.研究領域:滲透測試,漏洞挖掘,WEB安全.

主站蜘蛛池模板: 国内精品伊人久久久久7777人| 久久99国产综合精品1| 久久精品丝袜| 91香蕉视频下载网站| 91麻豆国产视频| 思思热在线视频精品| 一本大道无码高清| 国产精品无码AV中文| 日本人又色又爽的视频| 女人一级毛片| 麻豆精品视频在线原创| 毛片免费在线视频| 天天综合色网| 免费a级毛片18以上观看精品| 亚洲成a人在线观看| 午夜视频www| 国产亚洲男人的天堂在线观看| 国产成人精品2021欧美日韩| 国产一区自拍视频| 蜜芽国产尤物av尤物在线看| 日本91视频| 国产人妖视频一区在线观看| 亚洲国产清纯| 亚洲国产欧美目韩成人综合| 青草娱乐极品免费视频| 国产人人干| 国产日韩欧美在线播放| 亚洲美女一区| 四虎永久在线精品国产免费| 99在线免费播放| a欧美在线| 国产日韩欧美视频| 波多野结衣视频网站| 亚洲免费三区| 中国国产一级毛片| 最新国产成人剧情在线播放| 久久亚洲中文字幕精品一区| av尤物免费在线观看| 午夜精品久久久久久久无码软件 | 国产视频入口| 亚洲精品777| 精品国产欧美精品v| 精品伊人久久大香线蕉网站| 欧美日韩激情在线| 国产另类乱子伦精品免费女| 最新无码专区超级碰碰碰| 国产一区二区三区夜色| 成人永久免费A∨一级在线播放| 国产91丝袜在线播放动漫| 日韩国产综合精选| 亚洲熟女偷拍| 热久久国产| 欧美成人亚洲综合精品欧美激情| 久久99精品久久久久纯品| 青青草原国产免费av观看| 日韩中文无码av超清| 制服丝袜 91视频| 五月天综合网亚洲综合天堂网| 久久综合干| 欧美午夜在线视频| 国产男女XX00免费观看| 久久久久人妻精品一区三寸蜜桃| 久久香蕉欧美精品| 亚洲看片网| 超碰免费91| 99精品视频在线观看免费播放| 91成人在线观看| 超清无码熟妇人妻AV在线绿巨人| 亚洲中文字幕在线观看| 国产女人水多毛片18| 国产午夜福利片在线观看| 99在线观看视频免费| 经典三级久久| 在线人成精品免费视频| 亚洲精品无码AV电影在线播放| 波多野结衣无码视频在线观看| 欧美成人综合视频| 亚洲男人天堂2020| 国产后式a一视频| 国产一二三区视频| 玩两个丰满老熟女久久网| 美女一级毛片无遮挡内谢|