版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> Ourfirewall2004防火墻系統(tǒng)</p><p> 開發(fā)小組: 計算機科學(xué)與技術(shù) 2000級2班</p><p> 計算機科學(xué)與技術(shù) 2000級2班</p><p> 計算機科學(xué)與技術(shù) 2000級2班</p><p> 計算機科學(xué)與技術(shù) 2000級3班</p><p><b&
2、gt; 指導(dǎo)老師: 副教授</b></p><p><b> 老師</b></p><p> [摘要]:本文著重介紹“OurFirewall2004”防火墻系統(tǒng):該OurFirewall2004是一個基于TCP/IP協(xié)議的網(wǎng)絡(luò)應(yīng)用系統(tǒng),它提供了一個網(wǎng)絡(luò)實時監(jiān)控、數(shù)據(jù)包過濾、日志記錄、安全級別設(shè)置等功能,為網(wǎng)絡(luò)安全的控制提供了重要手段。</p&g
3、t;<p> 關(guān)鍵字: 網(wǎng)絡(luò)監(jiān)控 包過濾 API(應(yīng)用程序編程接口) </p><p> 動態(tài)鏈接庫(DLL) 網(wǎng)絡(luò)偵聽 日志記錄 安全級別</p><p> [Abstract]:In this paper ,we present our firewall system which is“OurFirewall2004”: it
4、 is a network application system based on TCP/IP, it supplies many functions such as network monitor , Packet filtering, the daily recording, the grades of security and so on.It gives out an important method for the con
5、trol of network security. </p><p> Key word :The network supervises and control </p><p> The data pack filtering Dynamic Link Library</p><p> API(Application Programming Inter
6、face)</p><p> Network Listening Daily record Security Grade</p><p><b> 目錄</b></p><p> 摘要………………………………………………………………………1</p><p> 防火墻簡介……………………………………………
7、…………………3 </p><p> 前 言 ……………………………………………………………………3 </p><p> 網(wǎng)絡(luò)安全狀況 ………………………………………………………3</p><p> 防火墻是什么……………………………………………………
8、……3</p><p> 防火墻能干什么………………………………………………………4</p><p> 防火墻采用哪些技術(shù)…………………………………………………4</p><p> 第一部分 系統(tǒng)說明………………………………………………………6</p><p> 一、 系統(tǒng)簡介 ……………………………………………………6<
9、/p><p> 二、系統(tǒng)基本功能 ………………………………………………7</p><p> 第二部分系統(tǒng)開發(fā)環(huán)境與工具的選擇 …………………………………8</p><p> 第三部分 系統(tǒng)設(shè)計 ……………………………………………………9</p><p> 一、系統(tǒng)概要設(shè)計 ………………………………………………9</
10、p><p> 二、系統(tǒng)詳細(xì)設(shè)計 ………………………………………………9</p><p> 1、系統(tǒng)流程圖的設(shè)計 ……………………………………10</p><p> 2、功能實現(xiàn)的設(shè)計 ……………………………………10</p><p> 第四部分 各部分的技術(shù)和關(guān)鍵代碼 ………………………………12</p&g
11、t;<p> 實時監(jiān)控 …………………………………12</p><p> 過濾 …………………………………22</p><p> 安全日志 …………………………………22</p><p> 安全級別 …………………………………22</p
12、><p> 第五部分 使用說明 …………………………………22</p><p> 一 、安裝與卸載 …………………………………22</p><p> 二、具體使用說明 …………………………………23</p><p> 第六部分:系統(tǒng)測試 …………………
13、……………………………24</p><p> 第七部分:系統(tǒng)維護 ……………………………………………… 25</p><p> 第八部分:結(jié)束語 ……………………………………………………25</p><p> 參考資料 …………………………………………………………26</p><p> 附錄
14、…………………………………………………………26</p><p><b> 防火墻簡介:</b></p><p> 軟件名稱:OurFirewall2004防火墻</p><p> 軟件分類:網(wǎng)絡(luò)安全工具---2004防火墻</p><p> 出版日期: 2004-05-26</p><p&
15、gt; 版 本: V1.0版操作系統(tǒng): Windows 2000/NT(sp6)/98/ME/XP語言界面: 簡體中文原創(chuàng)單位: 陜西師范大學(xué)計算機科學(xué)學(xué)院2000級學(xué)校網(wǎng)址: http://www.snnu.edu.cn/;</p><p> 防火墻個人版是一款由2000級學(xué)生畢業(yè)設(shè)計制作的網(wǎng)絡(luò)安全程序。它根據(jù)系統(tǒng)管理者設(shè)定的安全規(guī)則(Security Rules)把守網(wǎng)絡(luò),提供強大
16、的包過濾、網(wǎng)絡(luò)實時監(jiān)控、安全級別設(shè)置、日志審計等功能。目前的版本是v1.0版本。由于時間倉促,該防火墻在許多方面還有待于進一步改善。</p><p><b> 前 言</b></p><p><b> 網(wǎng)絡(luò)安全狀況</b></p><p> 隨著計算機網(wǎng)絡(luò)的發(fā)展,以Internet為代表的全球性信息化浪潮日益深刻,
17、信息網(wǎng)絡(luò)技術(shù)的應(yīng)用正日益普及和廣泛,計算機網(wǎng)絡(luò)的資源共享進一步加強,應(yīng)用層次正在深入,應(yīng)用領(lǐng)域從傳統(tǒng)的、小型業(yè)務(wù)系統(tǒng)逐漸向大型、關(guān)鍵業(yè)務(wù)系統(tǒng)擴展,但是在提高信息利用率的同時,也給計算機網(wǎng)絡(luò)系統(tǒng)的安全性和保密性帶來了前所未有的挑戰(zhàn)。</p><p> 事實上internet存在嚴(yán)重的安全漏洞,2000年初,黒客大規(guī)模襲擊雅虎、亞馬遜等電子商務(wù)網(wǎng)點,網(wǎng)站一度陷入癱瘓;國內(nèi)新浪、163等網(wǎng)站也曾遭遇黒客的攻擊。據(jù)估計
18、,目前Internet的600多萬臺主機大約有半數(shù)以上經(jīng)受著入侵的威脅,這是因為Internet網(wǎng)絡(luò)屬于公共服務(wù)的網(wǎng)絡(luò)系統(tǒng),以Unix操作系統(tǒng)為主,任何人都能非常容易地在網(wǎng)絡(luò)上漫游并實施入侵。原本安全的企業(yè)網(wǎng)絡(luò)連入Internet后,如不加防范措施,將極易遭受到入侵者的侵犯,造成專有資源的流失甚至網(wǎng)絡(luò)的癱瘓。由此網(wǎng)絡(luò)安全問題很現(xiàn)實地擺在我們面前.即網(wǎng)絡(luò)安全需要能針對各種不同的威脅和脆弱性提供全方位的解決方案,確保網(wǎng)絡(luò)的保密性、完整性、可
19、行性。</p><p> 迫于這種情況,各大網(wǎng)站、企業(yè)紛紛加筑安全的"戰(zhàn)壕",而這個"戰(zhàn)壕"就是防火墻。那么到底什么是防火墻?防火墻能干什么?它采用了哪些技術(shù)?</p><p><b> 什么是防火墻?</b></p><p> 防火墻技術(shù)是建立在現(xiàn)代通信網(wǎng)絡(luò)技術(shù)和信息安全技術(shù)基礎(chǔ)上的應(yīng)用性安全技術(shù)
20、,越來越多地應(yīng)用于專用網(wǎng)絡(luò)與公用網(wǎng)絡(luò)的互聯(lián)環(huán)境之中,尤其以接入Internet網(wǎng)絡(luò)為最甚。在邏輯上,防火墻是隔離器、限制器、分析器,有效地監(jiān)控了內(nèi)部網(wǎng)和外部網(wǎng)的任何活動。在物理上,防火墻即可以是單純的硬件設(shè)備路由器、主計算機,也可以是軟件產(chǎn)品,還可以是路由器、計算機和配有軟件的網(wǎng)絡(luò)的組合。</p><p> 防火墻邏輯位置示意圖</p><p><b> 防火墻能干什么?&l
21、t;/b></p><p> 防火墻是網(wǎng)絡(luò)安全的屏障</p><p> 防火墻可以強化網(wǎng)絡(luò)安全策略</p><p> 對網(wǎng)絡(luò)存取和訪問進行監(jiān)控審計</p><p><b> 防止內(nèi)部信息的外泄</b></p><p><b> 防火墻有哪些技術(shù)?</b><
22、;/p><p> 防火墻技術(shù)從原理上主要分為三種:信息包過濾技術(shù)(Packet filter)、代理技術(shù)(Proxy)、</p><p> 狀態(tài)分析技術(shù)(Sstateful inspection)。</p><p> 包過濾技術(shù)分為靜態(tài)包過濾和動態(tài)包過濾技術(shù)。</p><p> 靜態(tài)包過濾技術(shù)是根據(jù)定義好的過濾規(guī)則審查每個數(shù)據(jù)包,以便確定
23、其是否與某一條包過濾規(guī)則匹配。</p><p> 靜態(tài)包過濾技術(shù)示意圖 </p><p> 動態(tài)包過濾技術(shù)是采用動態(tài)設(shè)置包過濾規(guī)則的方法,對通過其建立的每一個連接都進行跟蹤,并且根據(jù)需要可動態(tài)地在過濾規(guī)則中增加或更新條目。</p><p> 動態(tài)包過濾技術(shù)示意圖</p><p> 代理技術(shù)分傳統(tǒng)代理技術(shù)和自適應(yīng)代理技術(shù)
24、 </p><p> 傳統(tǒng)代理技術(shù)的防火墻是將代理技術(shù)參與到一個TCP連接的全過程。從內(nèi)部發(fā)出的數(shù)據(jù)包經(jīng)過這樣的防火墻處理后,就好象是源于防火墻外部網(wǎng)卡一樣,從而可以達到隱藏內(nèi)部網(wǎng)結(jié)構(gòu)的作用。</p><p><b> 傳統(tǒng)代理技術(shù)示意圖</b></p><p> 自適應(yīng)代理技術(shù)結(jié)合了代理型防火墻的安全性和包過濾防火墻的高速度等優(yōu)點
25、,在毫不損失安全性的基礎(chǔ)上將代理型防火墻的性能提高十倍以上。</p><p><b> 傳統(tǒng)代理技術(shù)示意圖</b></p><p> 狀態(tài)檢測技術(shù),它克服了包過濾技術(shù)和應(yīng)用代理技術(shù)的局限性,狀態(tài)檢測防火墻根據(jù)協(xié)議、端口及源、目的地址的具體情況決定數(shù)據(jù)包是否可以通過。對于每個安全策略允許的請求,狀態(tài)檢測防火墻啟動相應(yīng)的進程,可以快速地確認(rèn)符合授權(quán)流通標(biāo)準(zhǔn)的數(shù)據(jù)包,這
26、使得本身的運行非??焖?。這種防火墻的優(yōu)點是一旦某個訪問違反安全規(guī)定就會拒絕該訪問,并報告有關(guān)狀態(tài)作日志記錄。狀態(tài)監(jiān)測防火墻的另一個優(yōu)點是它會監(jiān)測無連接狀態(tài)的遠程過程調(diào)用和用戶數(shù)據(jù)報之類的端口信息,而包過濾和應(yīng)用網(wǎng)關(guān)防火墻都不支持此類應(yīng)用。 </p><p> 狀態(tài)檢測技術(shù)示意圖 </p><p><b> 第一部分:系統(tǒng)說明</b></p>&l
27、t;p><b> 一、系統(tǒng)簡介</b></p><p> 我們所開發(fā)的“OurFireWall2004”防火墻系統(tǒng)是一個基于TCP/IP協(xié)議的網(wǎng)絡(luò)應(yīng)用系統(tǒng),它提供了網(wǎng)絡(luò)實時監(jiān)控、數(shù)據(jù)包過濾、日志記錄、安全級別設(shè)置等功能,在系統(tǒng)底層、網(wǎng)絡(luò)層和應(yīng)用層對系統(tǒng)進行雙重保護,有效地保護內(nèi)部網(wǎng)絡(luò),使其免受來自外部的攻擊。為個人PC 提供強有力安全屏、為網(wǎng)絡(luò)安全的控制提供了重要手段。</p
28、><p> “OurFirewall2004”采用了包過濾技術(shù),有效地實現(xiàn)了基于IP地址的過濾、遠程以及本地端口的過濾. </p><p> “OurFirewall2004”能夠強制日志記錄(LOG)。由于該防火墻上具有日志服務(wù)功能,用戶或安全管理員可以監(jiān)視所有從外部網(wǎng)或互聯(lián)網(wǎng)的訪問,日志記錄是全面掌握網(wǎng)絡(luò)安全狀況、衡量防火墻性能和作用的重要手段。</p><p>
29、; “OurFirewall2004”提供不同級別的安全設(shè)置。由于不同的對象對安全級別的要求有所不同,本系統(tǒng)為用戶提供了四個安全等級。</p><p> “OurFirewall2004”能夠?qū)Ξ?dāng)前網(wǎng)絡(luò)與本機的通訊狀況進行偵聽、監(jiān)控,由此可分析網(wǎng)絡(luò)性能、排除網(wǎng)絡(luò)故障。</p><p> “OurFirewall2004幫助”能夠系統(tǒng)引導(dǎo)用戶安裝、使用、卸載防火墻,為用戶提供便利。&l
30、t;/p><p><b> 二、系統(tǒng)基本功能</b></p><p> 1、過濾遠程IP、遠程端口(remote port)、本地端口(local port) </p><p> 包過濾是在網(wǎng)絡(luò)層對數(shù)據(jù)包的目標(biāo)地址、以及包所使用的端口確定是否允許該類數(shù)據(jù)包通過。如果防火墻設(shè)定禁止訪問某一IP或端口的話,從這個IP地址或端口而來的所有信
31、息都會被防火墻阻斷。換句話講,利用數(shù)據(jù)包的頭信息(源IP地址、封裝協(xié)議、端口號等)判定與過濾規(guī)則相匹配與否來決定舍取。</p><p> 2、添加需要攔截的IP、遠程端口、本地端口</p><p> 由于一些不良網(wǎng)站、不受歡迎的網(wǎng)絡(luò)地址(IP)或木馬端口(PORT)的存在,用戶可根據(jù)需要靈活添加過濾規(guī)則,來屏蔽網(wǎng)絡(luò)地址和端口。</p><p> 3、刪除IP、
32、遠程端口、本地端口 </p><p> 用戶可根據(jù)個人需要來取消一些過濾規(guī)則。</p><p> 4、記錄并顯示訪問時間、對方IP、對方端口、本地端口、訪問方法。</p><p> 用戶可以通過日志來查看和監(jiān)視所有從外部網(wǎng)或互聯(lián)網(wǎng)的訪問,分析安全隱患,查證攻擊來源。</p><p><b> 5、清除日志</b>
33、;</p><p> 用戶或網(wǎng)絡(luò)管理人員將一些繁冗、無分析價值的日志信息刪除,以便觀察近期日志信息。</p><p><b> 6、設(shè)置安全級別</b></p><p> 本系統(tǒng)針對不同的對象對網(wǎng)絡(luò)安全級別的要求有所不同,為用戶提供了四個安全等級,用戶可根據(jù)需要通過滑桿(Slider控件)靈活設(shè)置四個安全級別(由高到低依次為高、中、中低、
34、低。)以達到不同程度地保護用戶安全的目的。</p><p> 高:所有應(yīng)用程序初次訪問網(wǎng)絡(luò)時都將詢問,已經(jīng)被認(rèn)可的程序則按照設(shè)置的相應(yīng)規(guī)則運作。禁止局域網(wǎng)內(nèi)部和互聯(lián)網(wǎng)的機器訪問自己提供的網(wǎng)絡(luò)共享服務(wù)(文件、打印機共享服務(wù)),局域網(wǎng)和互聯(lián)網(wǎng)上的機器將無法看到本機器。除了是由已經(jīng)被認(rèn)可的程序打開的端口,系統(tǒng)會屏蔽掉向外部開放的所有端口。</p><p> 中:安全瀏覽,具有安全功能,下載潛
35、在的不安全內(nèi)容之前給予提示,不下載未簽名的ActiveX控件,實用于大多數(shù)internet站點。</p><p> 中低:除了沒有提示外,其它和中級安全級基本相同,大多數(shù)內(nèi)容運行時都沒有提示,不下載未簽名的ActiveX控件,適用于本地網(wǎng)絡(luò)(INTERNET)上的站點。</p><p> 低:提供最小的安全措施和警告提示,下載大多數(shù)內(nèi)容且無提示運行,下載大多數(shù)內(nèi)容且無提示運行,可以運行
36、所有所有的活動內(nèi)容,通用于絕對信任的站點。</p><p><b> 7、智能警告</b></p><p> 當(dāng)安全級別設(shè)置為“高”時,系統(tǒng)會出現(xiàn)提醒:</p><p><b> 阻隔IP</b></p><p><b> 阻隔遠程端口</b></p>&
37、lt;p><b> 阻隔本地端口</b></p><p> 禁止訪問當(dāng)前站點所有內(nèi)容</p><p><b> 允許訪問當(dāng)前站點</b></p><p> 8、系統(tǒng)默認(rèn)安全級別設(shè)置</p><p> 由于一般用戶對計算機網(wǎng)絡(luò)安全沒有概念,也沒有較高的要求,默認(rèn)安全級別是最好的選擇。&
38、lt;/p><p><b> 9、局域網(wǎng)內(nèi)的連接</b></p><p> 用戶可根據(jù)需要,選擇是否接受局域網(wǎng)內(nèi)的連接。</p><p><b> 10、實時監(jiān)控</b></p><p> 能夠監(jiān)控本地tcp通訊端口狀態(tài),顯示本地主機開放的端口號,遠程主機的端口號,遠程主機的IP地址等信息。&l
39、t;/p><p><b> 具體功能如下:</b></p><p> 監(jiān)控遠程IP、遠程端口(remote Port)、本地端口(local port)</p><p><b> 監(jiān)控網(wǎng)絡(luò)狀態(tài)</b></p><p> 第二部分 系統(tǒng)開發(fā)環(huán)境與工具的選擇</p><p>
40、; 設(shè)計一個系統(tǒng)時,首先需要確定它的開發(fā)環(huán)境和開發(fā)工具,現(xiàn)在網(wǎng)上系統(tǒng)的開發(fā)可以采用各種各樣的環(huán)境和工具,他們相互之間進行比較都有各自的長處,我們對系統(tǒng)開發(fā)的環(huán)境、工具及底層數(shù)據(jù)庫都進行了仔細(xì)的比較,最后確定用以下的開發(fā)環(huán)境和工具完成本系統(tǒng)的開發(fā):</p><p><b> 一、開發(fā)環(huán)境:</b></p><p> 軟件環(huán)境:中文windows98以上環(huán)境<
41、/p><p> 硬件環(huán)境:PC兼容機Intel x86</p><p> 至少32MB RAM,建議64M</p><p> 至少4MB磁盤空間,建議16M</p><p> 二.編程工具的選擇 </p><p> 在進行系統(tǒng)開發(fā)工具的選擇時,根據(jù)自身對技術(shù)的掌握程度以及接受能力,我選擇了微軟公司開發(fā)的Visu
42、al Basic作為主要的開發(fā)工具,用它開發(fā)系統(tǒng)有如下諸多的好處和特點:</p><p><b> 1.界面設(shè)計簡單</b></p><p> 2.面向?qū)ο缶幊?,比較容易實現(xiàn)</p><p> 3.很容易調(diào)用Windows自身的函數(shù)</p><p> 4.后臺存取規(guī)則容易</p><p>
43、<b> 5.所見即所得 </b></p><p> 在開發(fā)的過程中,我們還用到的其他的一些軟件,如Photoshop處理一些圖片,加載到我們的界面中美化視覺。</p><p><b> 第三部分 系統(tǒng)設(shè)計</b></p><p><b> 一.系統(tǒng)概要設(shè)計</b></p>&
44、lt;p> 通過可行分析,我們確定了系統(tǒng)的可實現(xiàn)性,而通過需求分析后,我們更進一步的明確系統(tǒng)必須實現(xiàn)的功能,接下來要完成的工作就是根據(jù)系統(tǒng)的需求分析把要實現(xiàn)的功能結(jié)構(gòu)化,具體化,也就是設(shè)計系統(tǒng)的結(jié)構(gòu),進行模塊的劃分,確定各個模塊的功能,接口。由于時間的關(guān)系我們不能很好地完成Firewall的所有功能,所以該系統(tǒng)在設(shè)計之初便定義七個模塊,以后再逐步擴展和根據(jù)網(wǎng)絡(luò)的需要逐漸更新,而且?guī)讉€模塊各個部分的實現(xiàn)功能都比較簡單: </
45、p><p> 1、基本功能(見 頁系統(tǒng)說明部分的基本功能)</p><p><b> 2、增強功能</b></p><p> 2.1代理服務(wù): 為其他主機提供Http,ftp,telnet,代理服務(wù)</p><p> 2.2用戶可以自己選擇本地代理服務(wù)器的端口號及服務(wù)類型:HTTP,FTP,TELNET等</p
46、><p> 2.3實時監(jiān)控使用此代理服務(wù)的客戶機的狀態(tài):</p><p> "XX客戶機的XX端口正在跟遠程XX主機的XX端口建立連接"</p><p> "XX客戶機正在跟遠程XX主機XX端口斷開連接"</p><p> 2.4用戶可以手動停止和開啟各種代理服務(wù)功能。</p><
47、;p><b> 二.系統(tǒng)詳細(xì)設(shè)計</b></p><p> 我們的設(shè)想是需要一套全面的、重要的適合我們自己的的網(wǎng)絡(luò)安全系統(tǒng)。它根據(jù)系統(tǒng)管理者設(shè)定的安全規(guī)則(Security Rules)把守企業(yè)網(wǎng)絡(luò),提供強大的、應(yīng)用選通、信息過濾、流量控制、網(wǎng)絡(luò)偵聽等功能。其他的諸如訪問控制虛擬專網(wǎng)(VPN)、身份認(rèn)證、虛擬網(wǎng)橋、網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation
48、)、提供完善的安全性設(shè)置,通過高性能的網(wǎng)絡(luò)核心進行訪問控制的功能我們決定進一步來實現(xiàn)。我們采用了VB管理界面,通過直觀、易用的界面管理強大、復(fù)雜的系統(tǒng)功能。系統(tǒng)采用中國化的設(shè)計,界面全中文化,操作簡單直接,真的是量身定做。</p><p> 在概要設(shè)計中,我們已經(jīng)粗略分析了本系統(tǒng)的設(shè)計,在此我們將詳細(xì)的分析系統(tǒng)的實現(xiàn)方案,詳細(xì)設(shè)計階段的任務(wù)就是把解法具體化,設(shè)計出程序的詳細(xì)規(guī)格說明。開發(fā)本系統(tǒng)時可以跟據(jù)它有條理
49、的編寫程序。</p><p> 在得到了解決方案之后,我們即開始了流程圖和功能實現(xiàn)的設(shè)計。 </p><p> 1、系統(tǒng)流程圖的設(shè)計</p><p><b> 2、功能實現(xiàn)的設(shè)計</b></p><p> 確定系統(tǒng)的流程圖后,就要開始著手底層功能實現(xiàn)的設(shè)計,只有完成功能的架設(shè)后才能在以后的編程中對信息的操作
50、有所依據(jù)。在進行本系統(tǒng)功能的架設(shè)時我們選擇的是VB。因為它使用方便、界面簡單且在各方面能滿足系統(tǒng)的要求。</p><p> 在進行功能架構(gòu)時,一般要遵循以下的規(guī)則:</p><p> ?。?).盡量減少手動操作次數(shù)</p><p> 按鈕個數(shù)以及功能的分配的選擇當(dāng)然要處于最合理狀態(tài),整體功能的實現(xiàn)也要盡量使用戶很容易找到所需資源,并且著手操作。</p>
51、;<p> ?。?).結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合</p><p> 在設(shè)計系統(tǒng)時,有時為了編程實現(xiàn)的簡潔和思路的清晰,往往故意增加一些代碼的冗余。這雖然有悖于傳統(tǒng)的編程理論,但是考慮到顯示與阻隔的方便,對功能的實現(xiàn)有很大的好處,往往采用這種方法。</p><p> ?。?).使各種信息詳盡化</p><p> 管理員要根據(jù)日志列表分析有可能是攻擊本級
52、計算機的地址,所以我們要在獲取信息是使其盡可能的詳盡化,當(dāng)然我們也可以對訪問超過一定次數(shù)的地址進行記錄然后自動阻隔,這樣既方便用戶,也方便管理員查看。但由于時間的緊迫性作為下一步的目標(biāo)來實現(xiàn),在這里僅僅將日至一個不漏的顯示出來。</p><p> ?。?)、界面的風(fēng)格化</p><p><b> 主界面</b></p><p><b&g
53、t; 安全級別界面</b></p><p> 第四部分 各部分的技術(shù)和關(guān)鍵代碼</p><p><b> 實時監(jiān)控</b></p><p><b> 1、引入</b></p><p> 由于網(wǎng)絡(luò)所固有的開放性、自由性,從網(wǎng)絡(luò)建立開始就存在網(wǎng)絡(luò)安全及防護問題。網(wǎng)絡(luò)系統(tǒng)安全的脆弱性
54、,使得計算機黑客在網(wǎng)上的非法攻擊活動每年以成倍速度增長。他們利用網(wǎng)絡(luò)的漏洞和缺陷,進行各種非法活動:產(chǎn)生和傳播各種計算機病毒,非法侵入用戶計算機網(wǎng)絡(luò),惡意破壞,制使網(wǎng)絡(luò)癱瘓等,不但造成巨大的損失,還威脅到用戶的計算機安全。我們開發(fā)的“Ourfirewall2004”具有實時監(jiān)控的功能,可有效地監(jiān)視外來的惡意攻擊,避免受到非法訪問和探測。防火墻實時監(jiān)控的主要目的有兩方面:及時發(fā)現(xiàn)網(wǎng)絡(luò)存在的不安全因素和及時發(fā)現(xiàn)對網(wǎng)絡(luò)入侵和敵意的攻擊活動,采
55、取相應(yīng)的措施。</p><p> 詳細(xì)地說防火墻監(jiān)控的主要目的是發(fā)現(xiàn)對網(wǎng)絡(luò)的非法攻擊。其基本原理是:監(jiān)視網(wǎng)絡(luò)上的通信數(shù)據(jù)流,捕捉和分析可疑的網(wǎng)絡(luò)活動,發(fā)現(xiàn)網(wǎng)絡(luò)上存在的不安全活動,進行實時的報警和處理,提供詳細(xì)的網(wǎng)絡(luò)安全日志分析報告。它是防火墻重要而強大的功能。是對付愈演愈烈的網(wǎng)絡(luò)黑客攻擊和各種計算機犯罪的一種強有力的手段。</p><p><b> 2、原理</b>
56、;</p><p> 監(jiān)控包括兩個方面的含義:監(jiān)視和控制。也就是說,防火墻實時監(jiān)視著來自外部網(wǎng)絡(luò)的一切不安全因素,對此做出反應(yīng)和判斷,進一步進行控制和處理。由此可分析網(wǎng)絡(luò)性能、排除網(wǎng)絡(luò)故障。眾所周知,一個網(wǎng)絡(luò)防火墻是處于內(nèi)/外網(wǎng)絡(luò)中間,內(nèi)/外網(wǎng)絡(luò)通信的所有數(shù)據(jù)都被網(wǎng)絡(luò)防火墻接收到,然后就可以進行分析、判別、統(tǒng)計等必要的操作。它可被認(rèn)為是連接內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)的透明網(wǎng)關(guān)。網(wǎng)絡(luò)防火墻會收集所有流通到此的數(shù)據(jù)包,對它
57、們的源地址、目的地址、封裝協(xié)議(TCP、UDP、ICMP、IP Tunnel等)、TCP/UDP源端口號和目的端口號、輸入輸出接口等信息進行分析,確定其是否與用戶事先設(shè)定好的安全機制相匹配,以決定允許或拒絕該數(shù)據(jù)包的通過。有效地阻截來自Internet對內(nèi)部網(wǎng)絡(luò)的入侵。其主要工作流程圖如下所示:</p><p> 數(shù)據(jù)包在防火墻中過濾的流程圖</p><p> 當(dāng)數(shù)據(jù)包進入數(shù)據(jù)包過濾防
58、火墻,首先需要進行的是數(shù)據(jù)包完整性檢查,以確定包在傳輸中是否有誤。由于防火墻只根據(jù)包頭中所包含的信息來匹配過濾規(guī)則表,因此有時一些畸形包會使防火墻產(chǎn)生迷惑,故那些被懷疑是不完整的數(shù)據(jù)包在此之前應(yīng)被拋棄。這一檢查常用于對付黑客的碎片攻擊。</p><p> 被認(rèn)為是完整的數(shù)據(jù)包才能接受防火墻的輸入過濾規(guī)則表的檢查,如不允許該數(shù)據(jù)包通過,該數(shù)據(jù)包將被拋棄,反之,數(shù)據(jù)包將進一步接受路由器的檢查。</p>
59、<p> 防火墻內(nèi)的路由表根據(jù)數(shù)據(jù)包中包含的目的信息決定數(shù)據(jù)包是否需要轉(zhuǎn)發(fā),如需要轉(zhuǎn)發(fā),數(shù)據(jù)包還需要接受規(guī)則表的檢查,這一過程是用于防范黑客的路由攻擊。</p><p> 最后,所有的數(shù)據(jù)包(無論是否需要轉(zhuǎn)發(fā))在離開防火墻前均還需要接受輸出過濾規(guī)則表的檢查。</p><p> 3、用到的技術(shù)和功能模塊</p><p><b> VB技術(shù)
60、</b></p><p> Visual Basic 指的是開發(fā)圖形用戶界面的方法,Basic指的是BASIC(Beginners All-purpose Sysbolic Instruction Code)語言------一種在計算技術(shù)發(fā)展史上應(yīng)用最廣泛的計算機語言。Microsoft Visual Basic提供了開發(fā)Microsoft Windows應(yīng)用程序最迅速最快捷的方法。 </p&
61、gt;<p> 我們用VB做為工具來開發(fā)Ourfirewall2004,是因為VB具有如下優(yōu)點:語句生成器和快速提示幫助是用戶不必即以成千上萬的屬性和方法,在較短的時間內(nèi)就能開發(fā)出功能強大的應(yīng)用程序。</p><p> 在Visual Basic 6.0中,Internet應(yīng)用程序的開發(fā)功能更強大和容易。在應(yīng)用程序內(nèi)可以通過Internet或Internet訪問其他計算機中的文檔和應(yīng)用程序;可以
62、創(chuàng)建Internet服務(wù)器應(yīng)用程序,包括IIS應(yīng)用程序;支持動態(tài)HTML技術(shù)(DHTML)的應(yīng)用程序;具有Web應(yīng)用程序發(fā)布功能等。</p><p> 種類繁多、功能強大的多媒體控件,能幫助用戶在較短時間內(nèi)用較少的語句編寫出圖文聲像并茂的多媒體程序。</p><p> Visual Basic 6.0在數(shù)據(jù)庫處理功能上有較大增強,能對多種數(shù)據(jù)庫進行讀寫操作。另外它所提供的[可視化數(shù)據(jù)管
63、理器]能幫助用戶構(gòu)造多種類型的數(shù)據(jù)庫,同時提供了能自動生成SQL語句的功能和新的ActiveX數(shù)據(jù)對象ADO。</p><p> 新的語言特征包括:用戶自定義類型可以作為參數(shù)或作為公共屬性的方法的返回值;函數(shù)可以返回數(shù)組變量;動態(tài)數(shù)組可以賦值;文件系統(tǒng)對象;按名調(diào)用(CallByName);增強的創(chuàng)建對象函數(shù)(CreatObject Funtion Enhancements);增強的StrConv函數(shù)。&l
64、t;/p><p><b> API技術(shù)</b></p><p> 所謂API(Application Programing Interface)用標(biāo)準(zhǔn)的定義來講,就是Windows的32位應(yīng)用程序編程接口,是一系列很復(fù)雜的函數(shù),消息和結(jié)構(gòu),它使編程人員可以用不同類型的編程語言編制出的運行在Windows系列操作系統(tǒng)上的應(yīng)用程序。API說來說去,就是一種函數(shù),他們包含在
65、一個附加名為DLL的動態(tài)連接庫文件中。</p><p> (3)Modnetstat功能模塊</p><p> Option Explicit</p><p> Public MIBICMPSTATS As MIBICMPSTATS Types and function for the ICMP table</p><p> P
66、ublic Type MIBICMPSTATS</p><p> dwEchos As Long</p><p> dwEchoReps As Long</p><p><b> End Type</b></p><p> Public MIBICMPINFO As MIBICMPINFO</p>
67、<p> Public Type MIBICMPINFO</p><p> icmpOutStats As MIBICMPSTATS</p><p><b> End Type</b></p><p> Public MIB_ICMP As MIB_ICMP</p><p> Public Type
68、MIB_ICMP</p><p> stats As MIBICMPINFO</p><p><b> End Type</b></p><p> Public Declare Function GetIcmpStatistics Lib "iphlpapi.dll" (pStats As MIBICMPINFO) A
69、s Long</p><p> Public Last_ICMP_Cnt As Integer Types and functions for the TCP table:</p><p> Type MIB_TCPROW </p><p> dwState As Long</p><p> dwLocal
70、Addr As Long</p><p> dwLocalPort As Long</p><p> dwRemoteAddr As Long</p><p> dwRemotePort As Long</p><p><b> End Type</b></p><p> Type MI
71、B_TCPTABLE</p><p> dwNumEntries As Long</p><p> table(100) As MIB_TCPROW</p><p><b> End Type</b></p><p> Public MIB_TCPTABLE As MIB_TCPTABLE</p>
72、<p> Declare Function GetTcpTable Lib "iphlpapi.dll" (ByRef pTcpTable As MIB_TCPTABLE, ByRef pdwSize As Long, ByVal bOrder As Long) As Long</p><p> Public Declare Function SetTcpEntry Lib &q
73、uot;IPhlpAPI" (pTcpRow As MIB_TCPROW) As Long 'This is used to close an open port.</p><p> Public IP_States(13) As String</p><p> Private Last_Tcp_Cnt As Integer</p><p>
74、 Private Const AF_INET = 2 Types and functions for winsock:</p><p> Private Const IP_SUCCESS As Long = 0</p><p> Private Const MAX_WSADescription = 256</p><p> Private
75、Const MAX_WSASYSStatus = 128</p><p> Private Const SOCKET_ERROR As Long = -1</p><p> Private Const WS_VERSION_REQD As Long = &H101</p><p> Type HOSTENT</p><p>
76、h_name As Long ' official name of host</p><p> h_aliases As Long ' alias list</p><p> h_addrtype As Integer ' host address type</p><p> h_length As Integer
77、 ' length of address</p><p> h_addr_list As Long ' list of addresses</p><p><b> End Type</b></p><p> Type servent</p><p> s_name As Long
78、 ' (pointer to string) official service name</p><p> s_aliases As Long ' (pointer to string) alias list (might be null-seperated with 2null terminated)</p><p> s_port As
79、 Long ' port #</p><p> s_proto As Long ' (pointer to) protocol to use</p><p><b> End Type</b></p><p> Private Type WSADATA</p><
80、;p> wVersion As Integer</p><p> wHighVersion As Integer</p><p> szDescription(0 To MAX_WSADescription) As Byte</p><p> szSystemStatus(0 To MAX_WSASYSStatus) As Byte</p>
81、<p> wMaxSockets As Long</p><p> wMaxUDPDG As Long</p><p> dwVendorInfo As Long</p><p><b> End Type</b></p><p> Public Declare Function ntohs Li
82、b "WSOCK32.DLL" (ByVal netshort As Long) As Long</p><p> Private Declare Function inet_addr Lib "WSOCK32.DLL" (ByVal CP As String) As Long</p><p> Private Declare Function
83、inet_ntoa Lib "WSOCK32.DLL" (ByVal inn As Long) As Long</p><p> Private Declare Function gethostbyaddr Lib "WSOCK32.DLL" (Addr As Long, ByVal addr_len As Long, ByVal addr_type As Long) A
84、s Long</p><p> Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal host_name As String) As Long</p><p> Private Declare Function WSAStartup Lib "WSOCK32.DLL" (B
85、yVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long</p><p> Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long</p><p> Private Declare Sub RtlMoveMemory Lib &q
86、uot;kernel32" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)</p><p> Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb&
87、amp;)</p><p> Declare Function lstrlen Lib "kernel32" (ByVal lpString As Any) As Integer</p><p> Private Blocked As Boolean</p><p> Sub InitStates()</p><p>
88、; IP_States(0) = "UNKNOWN"</p><p> IP_States(1) = "CLOSED"</p><p> IP_States(2) = "LISTENING"</p><p> IP_States(3) = "SYN_SENT"</p>
89、<p> IP_States(4) = "SYN_RCVD"</p><p> IP_States(5) = "ESTABLISHED"</p><p> IP_States(6) = "FIN_WAIT1"</p><p> IP_States(7) = "FIN_WAIT
90、2"</p><p> IP_States(8) = "CLOSE_WAIT"</p><p> IP_States(9) = "CLOSING"</p><p> IP_States(10) = "LAST_ACK"</p><p> IP_States(11)
91、= "TIME_WAIT"</p><p> IP_States(12) = "DELETE_TCB"</p><p><b> End Sub</b></p><p> Public Function GetAscIP(ByVal inn As Long) As String</p>
92、<p><b> Dim nStr&</b></p><p> Dim lpStr As Long</p><p> Dim retString As String</p><p> retString = String(32, 0)</p><p> lpStr = inet_ntoa(i
93、nn)</p><p> If lpStr Then</p><p> nStr = lstrlen(lpStr)</p><p> If nStr > 32 Then nStr = 32</p><p> CopyMemory ByVal retString, ByVal lpStr, nStr</p><
94、p> retString = Left(retString, nStr)</p><p> GetAscIP = retString</p><p><b> Else</b></p><p> GetAscIP = "Unable to get IP"</p><p><b>
95、; End If</b></p><p> End Function</p><p> Public Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)</p><p> Select Case Button.Index</p><p><b>
96、; Case 1</b></p><p> If Button.Caption = "停止" Then</p><p> Button.Caption = "已停止"</p><p> Button.ToolTipText = "恢復(fù)監(jiān)聽"</p><p> t
97、mrRefresh.Enabled = False</p><p><b> Else</b></p><p> Button.Caption = "停止"</p><p> Button.ToolTipText = "停止監(jiān)聽"</p><p> tmrRefresh.E
98、nabled = True</p><p><b> End If</b></p><p><b> Case 2</b></p><p> RefreshTable</p><p><b> Case 4</b></p><p> If Bu
99、tton.Caption = "活動端口" Then</p><p> Button.Caption = "所有端口"</p><p> Button.ToolTipText = "監(jiān)控所有端口"</p><p> RefreshTable True</p><p><b
100、> Else</b></p><p> Button.Caption = "活動端口"</p><p> Button.ToolTipText = "只監(jiān)控常見端口"</p><p> RefreshTable True</p><p><b> End If<
101、;/b></p><p> modReg.bSetRegValue HKEY_LOCAL_MACHINE, SREG & "\options", "活動端口", Toolbar1.Buttons(4).Value</p><p><b> Case 5</b></p><p> frm
102、Options.Show</p><p> frmOptions.SSTab1.Tab = 2</p><p><b> Case 7</b></p><p> frmOptions.Show</p><p> frmOptions.SSTab1.Tab = 0</p><p><b
103、> Case 8</b></p><p> frmOptions.Show</p><p> frmOptions.SSTab1.Tab = 1</p><p><b> Case 10</b></p><p> HtmlHelpA frmMain.hwnd, App.Path & &
104、quot;\help.CHM", 0, 0</p><p> End Select</p><p><b> End Sub</b></p><p> Public Sub SysTray()</p><p> If Me.Visible = True Then</p><p>
105、<b> Me.Hide</b></p><p><b> Else</b></p><p><b> Me.Show</b></p><p> SetFGWindow Me.hwnd, True</p><p><b> End If</b>&
106、lt;/p><p><b> End Sub</b></p><p> Public Sub SysTray2()</p><p> PopupMenu frmMenu.mnuMain, vbPopupMenuRightButton</p><p><b> End Sub</b></p&
107、gt;<p> Public Sub ShiftAlertList(t As Long)</p><p> Dim i As Long</p><p> For i = t + 1 To a_Count - 1</p><p> a_RemA(i - 1) = a_RemA(i)</p><p> a_RemP(i -
108、 1) = a_RemP(i)</p><p> a_LocP(i - 1) = a_LocP(i)</p><p><b> Next i</b></p><p> a_Count = a_Count - 1</p><p><b> End Sub</b></p><
109、p> Public Function IsTrojan(port) As Boolean</p><p> Dim ff As Long</p><p> Dim p As Long, l As String</p><p> Dim po As String, de As String</p><p> ff = FreeF
110、ile</p><p> Open App.Path & "\trojan.dat" For Input As #ff</p><p> Do Until EOF(ff)</p><p> Line Input #ff, l</p><p> p = InStr(1, l, Chr(1))</p>
111、;<p> po = Left(l, p - 1)</p><p> If po = port Then IsTrojan = True: Close #ff: Exit Function</p><p><b> Loop</b></p><p><b> Close #ff</b></p&g
112、t;<p> End Function</p><p> Public Function GetTrojan(port) As String</p><p> Dim ff As Long</p><p> Dim p As Long, l As String</p><p> Dim po As String, de
113、 As String</p><p> ff = FreeFile</p><p> Open App.Path & "\trojan.dat" For Input As #ff</p><p> Do Until EOF(ff)</p><p> Line Input #ff, l</p>
114、<p> p = InStr(1, l, Chr(1))</p><p> po = Left(l, p - 1)</p><p> l = Right(l, Len(l) - p)</p><p> p = InStr(1, l, Chr(1))</p><p> de = Left(l, p - 1)</p>
115、;<p> If po = port Then GetTrojan = de: Close #ff: Exit Function</p><p><b> Loop</b></p><p><b> Close #ff</b></p><p> End Function</p><
116、p><b> 過濾</b></p><p> 三 、安全日志和幫助</p><p><b> 四 、安全級別</b></p><p><b> 第五部分 使用說明</b></p><p><b> 一、安裝與卸載</b></p>
117、<p><b> 1、運行環(huán)境</b></p><p> 軟件環(huán)境:中文Windows95 中文Windows98 中文Windows ME 中文Windows NT 中文、英文Windows 2000 中文、英
118、文Windows XP 中文、英文Windows 2003
119、60; </p><p> 最低配置:CPU:奔騰133 以上。 內(nèi)存:16MB?! ?顯示卡:標(biāo)準(zhǔn)VGA,256色顯示模式以上?! ?其它設(shè)備:鼠標(biāo)。</p><p&
120、gt; 建議配置:CPU:奔騰 MMX166或更高?! ?內(nèi)存:32MB以上?! ?顯示卡:SVGA,16位色以上顯示模式。 其它:同最低配置。</p><p> 其它環(huán)境: Windows95需在Internet Explorer 4.0 以上運行。</p><p>
121、<b> 2、安裝</b></p><p> 第一步:將“Ourfirewall2004”光盤放入光驅(qū)中,系統(tǒng)自啟動進行安裝?;驈墓獗P中直接雙擊SETUP.EXE文件。</p><p> 第二步:安裝程序?qū)@示一個歡迎信息: 如果選擇“確定”,則繼續(xù)安裝,如果選擇“退出安裝”,則退出。</p><p> 第三步:選擇安裝路徑:可以通過更
122、改目錄選擇希望安裝的路徑,或使用默認(rèn)路徑C:\PROGRAMFILES\FIREWALL2004\。</p><p> 第四步:用戶可以選擇在程序中添加快捷方式,單擊“繼續(xù)”繼續(xù)安裝。</p><p> 第五步: OURFIERWALL2004在進行安裝.</p><p> 第六步: 拷貝文件結(jié)束后,顯示安裝完成信息框,安裝結(jié)束。</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火墻設(shè)計方案畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)防火墻技術(shù)研究
- 防火墻論文
- 防火墻技術(shù)畢業(yè)論文
- 防火墻技術(shù)畢業(yè)論文
- 防火墻技術(shù)畢業(yè)論文
- 防火墻技術(shù)論文
- 防火墻術(shù)研究畢業(yè)論文
- dos命令 關(guān)閉windows系統(tǒng)防火墻 重置防火墻
- 畢業(yè)設(shè)計--linux下的防火墻程序研發(fā)
- 防火墻在網(wǎng)絡(luò)安全中的應(yīng)用-畢業(yè)設(shè)計論文
- 畢業(yè)論文---淺析internet防火墻技術(shù)
- 防火墻技術(shù)的研究畢業(yè)論文
- 分布式防火墻畢業(yè)論文
- windows防火墻設(shè)計
- 畢業(yè)論文---淺析internet防火墻技術(shù)
- 基于windows的個人防火墻系統(tǒng)---畢業(yè)論文
- 木馬防火墻系統(tǒng).pdf
- 防火墻技術(shù)分析與研究畢業(yè)論文
- 組網(wǎng)課程設(shè)計--防火墻系統(tǒng)
評論
0/150
提交評論