文章編號:1672-5913(2008)18-0006-02
摘要:本文介紹了筆者基于Open Source技術(shù)所設(shè)計的一些網(wǎng)絡(luò)安全實驗,并詳細(xì)介紹了每個實驗的平臺構(gòu)建和實驗項目。
關(guān)鍵詞:Open Source;網(wǎng)絡(luò)安全;實驗
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1引言
2007年11月在武漢大學(xué)召開的“第一屆中國信息安全學(xué)科建設(shè)與人才培養(yǎng)研討會”上,教育部信息安全專業(yè)指導(dǎo)委員會初步提交了“信息安全類專業(yè)指導(dǎo)性專業(yè)規(guī)范”,在該規(guī)范中,不僅制定了信息安全專業(yè)畢業(yè)生規(guī)格和信息安全專業(yè)知識體系,而且創(chuàng)造性地提出了信息安全專業(yè)實踐能力體系,強(qiáng)調(diào)了信息安全專業(yè)畢業(yè)生應(yīng)具備的實踐能力。信息安全決不是書本上空洞的理論和抽象的安全策略,要使學(xué)生真正掌握好信息安全技術(shù),需要大量的實踐環(huán)節(jié)加以理解、掌握和應(yīng)用。
文獻(xiàn)[1]中提出了利用Open Source技術(shù)實現(xiàn)網(wǎng)絡(luò)安全課程中的實驗教學(xué),設(shè)計了8個實驗專題FTP協(xié)議分析、HTTP協(xié)議分析、IPsec VPN實驗、PKI及SSL實驗、SMTP和POP3協(xié)議分析實驗、TCP協(xié)議分析實驗、端口掃描實驗、網(wǎng)絡(luò)安全掃描實驗,用來加強(qiáng)教學(xué)過程中的技術(shù)專題實驗,增強(qiáng)教學(xué)效果。
但筆者認(rèn)為文獻(xiàn)[1]中設(shè)計的實驗專題遠(yuǎn)不能滿足“網(wǎng)絡(luò)安全”課程的教學(xué)需要,而且很多是利用嗅探工具進(jìn)行協(xié)議分析的實驗。筆者在文獻(xiàn)[1]的基礎(chǔ)上又設(shè)計了幾個“網(wǎng)絡(luò)安全技術(shù)”實驗專題,介紹了實驗內(nèi)容,并詳細(xì)描述了每個實驗的平臺構(gòu)建、設(shè)計了實驗項目。
2實驗內(nèi)容
本文所設(shè)計的網(wǎng)絡(luò)安全實驗由三個實驗專題組成,實驗的內(nèi)容以及需要的開放源代碼軟件、所需要的硬件由表1所示。
3實驗設(shè)計
下面按照信息安全專業(yè)的培養(yǎng)計劃,結(jié)合“網(wǎng)絡(luò)安全技術(shù)”課程對以上實驗項目的原理、實驗平臺搭建、設(shè)計的實驗項目進(jìn)行討論。
3.1網(wǎng)絡(luò)層及傳輸層firewall實驗
開放源代碼組織在創(chuàng)建防火墻軟件方面已經(jīng)做得很優(yōu)秀,而且這些軟件對任何規(guī)模的網(wǎng)絡(luò)都很理想[2]。本文中將以IPtables軟件為例來說明防火墻實驗的設(shè)計。IPtables能在網(wǎng)絡(luò)層和傳輸層進(jìn)行包過濾,并能進(jìn)行網(wǎng)絡(luò)地址翻譯(NAT)和端口重定向。
為了使firewall實現(xiàn)包過濾、NAT以及端口重定向等功能,搭建如圖1所示的網(wǎng)絡(luò)實驗環(huán)境。在該環(huán)境中只需要1臺用于運(yùn)行IPtables防火墻的Linux主機(jī),三臺Windows主機(jī)分別連接到防火墻主機(jī)的三塊網(wǎng)卡(NIC)上,用來表示Internet區(qū)域、DMZ和私有網(wǎng)絡(luò)。為了滿足實驗的要求,在這三臺Windows主機(jī)上必須安裝的一些軟件如各種服務(wù)器軟件并加以配置使其正確運(yùn)行。
在以上的實驗環(huán)境中,設(shè)計滿足如下網(wǎng)絡(luò)安全要求的防火墻實驗:
a) 允許網(wǎng)絡(luò)接口eth1、eth2相連接的LAN1和LAN2之間相互通信。
b) 從LAN1、LAN2發(fā)往internet的數(shù)據(jù)包被偽裝成IP地址210.45.157.254。
d) 來自internet的主機(jī)不能訪問1023以下的LAN1和LAN2中的內(nèi)部端口。
c) LAN1和LAN2的任何主機(jī)可以使用internet中的任何服務(wù)(Web,E-mail,F(xiàn)tp等)。
e) 拒絕從防火墻的internet接口(eth0)進(jìn)行的欺騙攻擊(即黑客把防火墻作為默認(rèn)網(wǎng)關(guān),偽裝成內(nèi)部網(wǎng)IP,進(jìn)入內(nèi)部網(wǎng)絡(luò)),并進(jìn)行日志記錄。
f) 拒絕全部從eth0進(jìn)入的ICMP通信。
g) 允許internet中的主機(jī)訪問LAN1中的DNS服務(wù)、WEB服務(wù)、FTP服務(wù),其它服務(wù)如telnet等禁止。
通過該實驗可以讓學(xué)生掌握通過防火墻實現(xiàn)包過濾、網(wǎng)絡(luò)地址翻譯(NAT)和端口轉(zhuǎn)發(fā)等網(wǎng)絡(luò)安全技術(shù)的原理。另外也可使學(xué)生掌握IPtables的防火墻規(guī)則編寫方法、IPtables中的表和鏈的概念,防火墻在網(wǎng)絡(luò)系統(tǒng)中的部署、安裝、配置和測試方法等,為以后真正使用防火墻來保護(hù)網(wǎng)絡(luò)奠定堅實的基礎(chǔ)。
3.2應(yīng)用層firewall實驗
代理服務(wù)器防火墻的原理是所有內(nèi)部主機(jī)的請求都發(fā)送到代理服務(wù)器,由代理服務(wù)器發(fā)送Internet請求,當(dāng)響應(yīng)的包達(dá)到時,代理服務(wù)器將其發(fā)送到發(fā)出初始請求的內(nèi)部主機(jī)上。
使用應(yīng)用層防火墻即代理服務(wù)器是另一種創(chuàng)建網(wǎng)絡(luò)邊界的方法,并能用更具體的方式過濾通信,通過增加規(guī)則過濾網(wǎng)頁內(nèi)容,可以過濾掉地址中包含某些單詞的Web頁請求。另外還有降低帶寬成本,提高網(wǎng)絡(luò)性能,實現(xiàn)負(fù)載平衡的優(yōu)點[2]。
本實驗項目利用Squid Web代理緩存服務(wù)器來實現(xiàn)。圖2是實現(xiàn)該實驗項目的平臺。
在以上的實驗環(huán)境中,設(shè)計滿足如下要求的實驗:
a)Windows Client通過Squid代理服務(wù)器訪問www服務(wù)器或ftp服務(wù)器。
b) 設(shè)置規(guī)則(如關(guān)鍵詞)進(jìn)行URL的內(nèi)容過濾。
c) 在squid.conf中定義ACL(訪問控制列表)用于源IP地址、IP地址范圍,目標(biāo)IP地址、IP地址范圍進(jìn)行訪問時的允許或拒絕。
d) 實現(xiàn)代理認(rèn)證,即對使用代理服務(wù)器的客戶端進(jìn)行Username/Password身份認(rèn)證。
通過該實驗還可以讓學(xué)生真正了解包過濾防火墻與代理服務(wù)器的區(qū)別,包過濾防火墻工作在網(wǎng)絡(luò)層和傳輸層,而代理服務(wù)器工作在應(yīng)用層。教師可指導(dǎo)學(xué)生通過嗅探工具(如sniffer)或查看www服務(wù)器的訪問日志來驗證它們之間的區(qū)別。
3.3入侵檢測實驗
Snort是用C語言編寫的開源的、跨平臺、輕量級的網(wǎng)絡(luò)入侵檢測軟件。從入侵檢測分類上來看,Snort是一個基于網(wǎng)絡(luò)和誤用(misuse detection)的入侵檢測系統(tǒng)。Snort采用基于規(guī)則的網(wǎng)絡(luò)信息搜索機(jī)制,對數(shù)據(jù)包進(jìn)行內(nèi)容模式匹配,從中發(fā)現(xiàn)入侵和探測行為。它與基于異常檢測(anomaly detection)的IDS比較缺點是不能檢測到新的攻擊行為。通過Snort入侵檢測系統(tǒng)的安裝,配置和管理,可加強(qiáng)學(xué)生對入侵檢測系統(tǒng)原理的理解。實驗平臺架構(gòu)如圖3所示。
在圖3中的Linux+snort是作為入侵檢測系統(tǒng)部署的,目的是在廣播式的網(wǎng)絡(luò)中捕獲數(shù)據(jù)包并進(jìn)行入侵檢測,也可將圖3中的HUB換成switch,但該交換機(jī)要具有端口流量鏡像功能。Windows client作為攻擊者主機(jī),www/ftp/mail server作為被攻擊主機(jī)。
設(shè)計如下入侵檢測實驗:
a) 以守護(hù)進(jìn)程運(yùn)行snort IDS。
b) 深入了解snort IDS規(guī)則庫,并測試一種新的攻擊snort IDS能否檢測到,然后將新的攻擊特征增加到規(guī)則庫中再進(jìn)行測試。
c) 安裝配置用于保存入侵警報信息的數(shù)據(jù)庫管理系統(tǒng),可選擇MySQL或postgreSQL。
d) 配置snort.conf文件,使Snort真正成為一個網(wǎng)絡(luò)入侵檢測系統(tǒng)來運(yùn)行。
e) 安裝配置入侵檢測控制臺ACID,用于對snort IDS的行為進(jìn)行管理與監(jiān)控。
4總結(jié)及展望
本文在文獻(xiàn)[1]的基礎(chǔ)上設(shè)計了有關(guān)網(wǎng)絡(luò)安全技術(shù)的實驗,由于這些實驗都是基于Open Source軟件的,通過源代碼學(xué)生可以更加清楚地了解這些安全技術(shù)的原理、核心和實現(xiàn)細(xì)節(jié),同時也可以在開源代碼的基礎(chǔ)上進(jìn)行二次開發(fā)和修改。
未來的工作有兩點:一是設(shè)計更多的基于Open Source的信息安全實驗,例如Linux系統(tǒng)安全強(qiáng)化實驗、一次性密碼(OTP)實驗OPIE、網(wǎng)絡(luò)認(rèn)證Kerberos等。二是如何將所有這些信息安全實驗集成在一起,建成一個所謂的“基于Open source的信息安全綜合實驗系統(tǒng)”。
參 考 文 獻(xiàn)
[1] 馬建峰,楊超. 基于Open Source技術(shù)的網(wǎng)絡(luò)安全實驗專題設(shè)計[J]. 計算機(jī)教育,2007,(10):15.
[2]James Stanger, Patrick T. Lane著. 鐘日紅,宋建才等譯. Linux黑客防范開放源代碼安全指南[M]. 北京:機(jī)械工業(yè)出版社,2002.