趙丹莉 周榮偉 鮑洪生
(江蘇經貿職業技術學院,江蘇 南京211168)
近年來,隨著多起安全相關事件在互聯網上曝光,網絡安全成為當前技術研究熱點,網絡安全課程和網絡安全競賽也得到了更多的重視。
我們在網絡安全課程的學習和網絡安全競賽的訓練過程中,做了大量網絡攻防方面的實驗,比較深切地感受到現有的網絡攻防實驗手段的不足。
考慮到網絡攻防相關實驗往往都帶有一定的破壞性,在真實網絡環境里進行攻防實驗還會遇到法律授權方面的麻煩,一般都是通過安裝VMware、Virtualbox等模擬軟件構建虛擬網絡環境去進行攻防實驗。
在自己計算機上架設虛擬機構建網絡攻防環境方式的優點是簡單、廉價和靈活。但我們在練習過程中也發現,隨著學習內容和人數的增多,會出現比較嚴重的管理問題,例如出現越來越多的虛擬機鏡像和快照文件、越來越多的文檔資料等,時間一長就容易遺忘,要搜索、準備很長時間才能進行實驗操作;另外,人數多了,還牽涉到文檔、軟件、攻防系統鏡像的分發和同步的問題。很多網絡攻防實驗的關鍵步驟其實并不多,卻往往要耗費大量的時間和精力做準備和排錯工作,大大降低了效率,更不容易進行共享和更新工作。
經考慮,我們準備借助云計算技術來構建網絡攻防實驗平臺。云計算技術可以靈活地按需提供虛擬化、并行計算、網絡存儲和負載均衡等服務,因此如果能把網絡攻防所需的各種工具軟件、攻擊機和靶機鏡像、操作指南等文檔資料統一安放到云平臺中,則可以極大地改進管理工作。例如,可以省去本地安裝配置工作,只要有網絡隨時能用注冊賬號登錄到云平臺上做有操作權限的網絡攻防實驗;所有的技術文檔、操作指南等統一存儲在云平臺,非常容易檢索;在攻防實驗平臺的存儲空間、CPU性能出現瓶頸時,也非常容易進行擴充升級。
Openstack是一個美國國家航空航天局和Rack space合作研發的,旨在為公共及私有云的建設與管理提供軟件的開源項目。Openstack正處于高速發展和推廣應用過程中,目前已經是各種公有云和私有云建設的主流方案。
基于Openstack的云平臺部署非常靈活,既可以只裝在單節點服務器上,也可以部署到大規模集群服務器組,經綜合考量,我們使用兩臺服務器去實現網絡攻防實驗用云平臺,其中一臺服務器部署為控制節點,另一臺部署為計算節點,這也是目前廣泛使用的方案,足以應付通常的實驗,以后如果有需求,可以再添加計算節點以提高性能。服務器可以只放在私有局域網中,也可以接入校園網提高公開服務,因此每臺服務器都裝上雙網卡,一塊連接到外網,另一塊連接內網。(如圖1所示)

圖1 網絡攻防實驗用云平臺部署
設計的云平臺服務器使用操作系統CentOSLinux 6.4版,下載OpenStack的Icehouse版本進行安裝配置,根據Openstack的官方安裝指導,在控制節點先后安裝并配置Mysql、RabbitMQ、keystone、Nova、Neutron、Cinder、Glance、Horizon和Apache等服務項目,而在計算節點上只需安裝配置Nova和Neutron。
Openstack安裝完成后,借助Dashboard服務可以通過Web界面登錄后進行管理。(如圖2所示)

圖2 云平臺登錄界面
登錄進入云平臺管理頁面后,即可非常便捷地進行各種虛擬機鏡像的創建、上傳、配置、運行、刪除等配置工作。這些虛擬機鏡像運行后,借助VNC等遠程控制工具,可以讓多人同時通過網絡訪問,從而充分發揮云平臺的作用。(如圖3所示)

圖3 云平臺管理界面
在基于Openstack的云平臺搭建好了以后,為實現網絡攻防實驗功能,主要任務就是創建足夠有用的攻擊機和靶機的虛擬機鏡像。
攻擊機的鏡像相對比較容易解決,我們首先制作了基于Windows操作系統的攻擊機鏡像,在系統中事先封裝了大量網絡安全滲透測試用工具,包括各種掃描工具、嗅探工具、加解密工具、遠程滲透攻擊測試工具、動態調試工具、靜態反編譯工具等等。其中最常見最有用的一些工具包括Metasploit開源安全漏洞測試工具、Nmap掃描器、Wireshark嗅探器、burpsuite集成Web滲透測試工具集、sqlmap注入工具、Ollydbg動態調試器、IDA反編譯工具等。
另外,我們也制作了基于Kali和Back Track 5的攻擊機系統鏡像,它們都是開源的Linux系統,已經在系統中事先集成了大量有用的網絡安全測試工具,可以免去大量工具收集的繁瑣工作。
靶機的制作則相對比較麻煩,因為這不是簡單安裝好操作系統和軟件就行了,還經常需要自己在靶機上挖掘出或人為生成需要的某種安全漏洞以供攻擊機做網絡攻擊實驗。我們首先自己制作了一些基于Windows 2000、Windows XP、Windows 2003、Windows 2003、Windows 7等操作系統的鏡像,都是沒有打足補丁留下系統漏洞用于系統攻擊測試,然后我們還在一些Windows鏡像中創建了各種基于ASP、ASP.NET、PHP和JSP技術的有已知漏洞的Web網站用于Web滲透測試。另外,我們下載了一些開源免費靶機資源,例如OWASP組織發布的一些靶機鏡像資源。
為了更方便地使用和管理實驗平臺,我們另外編寫并部署了一個管理網站,主要就是將云平臺中的各種虛擬機資源及各種網絡攻防實驗所需的學習資料進行了分類組織顯示。
事先獲取權限的網絡攻防練習者登錄到這個網站后,可以非常便利地查看學習資料,更重要的是可以啟動云平臺上各種虛擬機鏡像,從而實際連接到運行中的攻擊機和靶機進行各種攻防操作。
例如,在做通過弱密碼安全漏洞遠程控制實驗時,練習者可以登錄到管理網站上,通過閱讀詳細學習資料理解了這個課題的相關背景知識后,按照操作指南,先連接到攻擊機上,打開運行Nmap掃描器,掃描靶機開放的端口服務,并利用掃描腳本和自定義的字典文件掃描是否存在弱口令。(如圖4所示)

圖4 攻擊機掃描靶機
掃描結果是,發現靶機已經開放了3389遠程桌面服務,而且通過字典掃描出了管理員administrator的弱密碼5i9x。
然后在攻擊機上用遠程登錄客戶端去連接靶機的遠程桌面服務,輸入掃描出的賬號和密碼,即可以管理員權限輕松進入靶機系統,完成了本次滲透測試實驗任務。(如圖5所示)

圖5 遠程登錄
其他網絡攻防實驗任務都可以用上述類似的方法進行理論學習和實際操作練習。
通過在攻防平臺上的檢測發現,在同時練習人數不多的情況下,攻擊機和靶機的連接速度和運行速度基本能夠滿足要求。
用基于Openstack技術構建的云平臺可以顯著提高網絡安全,尤其是網絡攻防操作的學習效率,可以作為課程學習及競賽培訓的有益助手。當然,目前云平臺上的網絡攻防系統遠不夠成熟,存在標準不統一、界面不夠友好、制作繁瑣、很難支持大規模應用等缺點,有待技術的進一步發展和更多的開發工作。
[1]Install Guides[OL].http://docs.openstack.org.
[2]Nmap腳本使用總結WooYun知識庫[OL].http://drops.wooyun.org/tips/2188.