防火墻技術(shù)報(bào)告_第1頁(yè)
防火墻技術(shù)報(bào)告_第2頁(yè)
防火墻技術(shù)報(bào)告_第3頁(yè)
防火墻技術(shù)報(bào)告_第4頁(yè)
防火墻技術(shù)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、、摘要隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展, 上網(wǎng)的人數(shù)不斷地增大,網(wǎng)上的資源也不斷地增加,網(wǎng)絡(luò)的開(kāi)放性、共享性、互連程度也隨著擴(kuò)大,所以網(wǎng)絡(luò)的安全問(wèn)題也是現(xiàn)在注重考慮的問(wèn)題。本文介紹網(wǎng)絡(luò)安全可行的解決方案一一防火墻技術(shù),防火墻技術(shù)是近年來(lái)發(fā)展起來(lái)的一種保護(hù)計(jì) 算機(jī)網(wǎng)絡(luò)安全的技術(shù)性措施,它實(shí)際上是一種訪(fǎng)問(wèn)控制技術(shù),在某個(gè)機(jī)構(gòu)的網(wǎng)絡(luò)和不安全的 網(wǎng)絡(luò)之間設(shè)置障礙,阻止對(duì)信息資源的非法訪(fǎng)問(wèn),也可以使用它阻止保密信息從受保護(hù)網(wǎng)絡(luò) 上被非法輸出。關(guān)鍵詞:防火墻網(wǎng)絡(luò)安全外部網(wǎng)絡(luò)內(nèi)部網(wǎng)絡(luò)二、防火墻技術(shù)1、什么是防火墻所謂 防火墻”,是指一種將內(nèi)部網(wǎng)和公眾訪(fǎng)問(wèn)網(wǎng)(如Internet)分開(kāi)的方法,它實(shí)際上是一種隔離技術(shù)。防火墻

2、是在兩個(gè)網(wǎng)絡(luò)通訊時(shí)執(zhí)行的一種訪(fǎng) 問(wèn)控制尺度,它能允許你同意”的人和數(shù)據(jù)進(jìn)入你的網(wǎng)絡(luò),同時(shí)將你不同意”的人和數(shù)據(jù)拒之門(mén)外,最大限度地阻止網(wǎng)絡(luò)中的黑客來(lái)訪(fǎng)問(wèn)你的網(wǎng)絡(luò)。 換句話(huà)說(shuō),如果不通過(guò)防火墻,公司內(nèi)部的人就無(wú)法訪(fǎng)問(wèn)Internet , Internet上的人也無(wú)法和公司內(nèi)部的人進(jìn)行通信。2、防火墻的類(lèi)型和各個(gè)類(lèi)型的特點(diǎn)及原理防火墻的類(lèi)型有個(gè)人防火墻、網(wǎng)絡(luò)層防火墻、應(yīng)用層防火墻。個(gè)人防火墻個(gè)人防火墻是防止您電腦中的信息被外部侵襲的一項(xiàng)技術(shù),在您的系 統(tǒng)中監(jiān)控、阻止任何未經(jīng)授權(quán)允許的數(shù)據(jù)進(jìn)入或發(fā)出到互聯(lián)網(wǎng)及其他網(wǎng)絡(luò) 系統(tǒng)。個(gè)人防火墻產(chǎn)品如著名Symantec公司的,頓、Network Ice公司的

3、BlackIce Defender、McAfee 公司的恩科及 Zone Lab 的 free ZoneAlarm 等,都能幫助您對(duì)系統(tǒng)進(jìn)行監(jiān)控及管理,防止特洛伊木馬、spy-ware 等病毒程序通過(guò)網(wǎng)絡(luò)進(jìn)入您的電腦或在您未知情況下向外部擴(kuò)散。這些軟件都 能夠獨(dú)立運(yùn)行于整個(gè)系統(tǒng)中或針對(duì)對(duì)個(gè)別程序、項(xiàng)目,所以在使用時(shí)十分 方便及實(shí)用。網(wǎng)絡(luò)層防火墻網(wǎng)絡(luò)層防火墻可視為一種IP封包過(guò)濾器,運(yùn)作在底層的TCP/IP協(xié)議堆棧上。我們可以以枚舉的方式,只允許符合特定規(guī)則的封包通過(guò),其 余的一概禁止穿越防火墻。這些規(guī)則通??梢越?jīng)由管理員定義或修改,不 過(guò)某些防火墻設(shè)備可能只能套用內(nèi)置的規(guī)則。應(yīng)用層防火墻應(yīng)用層

4、防火墻是在TCP/IP堆棧的 應(yīng)用層”上運(yùn)作,您使用瀏覽器時(shí)所產(chǎn)生的數(shù)據(jù)流或是使用FTP時(shí)的數(shù)據(jù)流都是屬于這一層。應(yīng)用層防火墻可以攔截進(jìn)出某應(yīng)用程序的所有封包,并且封鎖其他的封包(通常是直接將封包丟棄)。理論上,這一類(lèi)的防火墻可以完全阻絕外部的數(shù)據(jù)流進(jìn)到受保 護(hù)的機(jī)器里。3、目前防火墻中的最新技術(shù)及發(fā)展情況因?yàn)閭鹘y(tǒng)的防火墻設(shè)置在網(wǎng)絡(luò)邊界,外于內(nèi)、外部互聯(lián)網(wǎng)之間,所以稱(chēng)為 邊界防火墻(Perimeter Firewall )。隨著人們對(duì)網(wǎng)絡(luò)安全防護(hù)要求的提高, 邊界防火墻明顯感覺(jué)到力不從心,因?yàn)榻o網(wǎng)絡(luò)帶來(lái)安全威脅的不僅是外部網(wǎng)絡(luò), 更多的是來(lái)自?xún)?nèi)部網(wǎng)絡(luò)。但邊界防火墻無(wú)法對(duì)內(nèi)部網(wǎng)絡(luò)實(shí)現(xiàn)有效地保護(hù),

5、除非對(duì)每一臺(tái)主機(jī)都安裝防火墻,這是不可能的。基于此,一種新型的防火墻技術(shù),分 布式防火墻(Distributed Firewalls )技術(shù)產(chǎn)生了。由于其優(yōu)越的安全防護(hù)體 系,符合未來(lái)的發(fā)展趨勢(shì),所以這一技術(shù)一出現(xiàn)便得到許多用戶(hù)的認(rèn)可和接受, 它具有很好的發(fā)展前景。分布式防火墻的特點(diǎn):主機(jī)駐留、嵌入操作系統(tǒng)內(nèi)核、類(lèi)似于個(gè)人防火墻、 適用于服務(wù)器托管。分布式防火墻的功能:Internet訪(fǎng)問(wèn)控制、應(yīng)用訪(fǎng)問(wèn)控制、網(wǎng)絡(luò)狀態(tài)監(jiān)控、 黑客攻擊的防御、日志管理、系統(tǒng)工具。分布式防火墻的優(yōu)勢(shì):(1)增強(qiáng)的系統(tǒng)安全性:增加了針對(duì)主機(jī)的入侵檢測(cè)和防護(hù)功能,加強(qiáng) 了對(duì)來(lái)自?xún)?nèi)部攻擊防范,可以實(shí)施全方位的安全策略。(

6、2)提高了系統(tǒng)性能:消除了結(jié)構(gòu)性瓶頸問(wèn)題,提高了系統(tǒng)性能。(3)系統(tǒng)的擴(kuò)展性:分布式防火墻隨系統(tǒng)擴(kuò)充提供了安全防護(hù)無(wú)限擴(kuò)充的 能力。(4)實(shí)施主機(jī)策略:對(duì)網(wǎng)絡(luò)中的各節(jié)點(diǎn)可以起到更安全的防護(hù)。(5)應(yīng)用更為廣泛,支持 VPN通信。4、個(gè)人防火墻的設(shè)計(jì)與實(shí)現(xiàn)研究?jī)?nèi)容及其意義本文提出了一種基于Linux的個(gè)人防火墻來(lái)保證網(wǎng)絡(luò)安全的解決方案,該防 火墻主要分成3個(gè)模塊來(lái)實(shí)現(xiàn),它們分別是數(shù)據(jù)包捕獲模塊、數(shù)據(jù)處理模塊、過(guò) 濾規(guī)則設(shè)置和查詢(xún)模塊。文章首先講述了數(shù)據(jù)包進(jìn)行捕獲,提取數(shù)據(jù)包頭信息, 然將包頭信息傳遞給數(shù)據(jù)包處理部分, 并與包頭信息進(jìn)行匹配和處理,將處理后 的信息寫(xiě)入日志數(shù)據(jù)庫(kù),規(guī)則設(shè)置模塊則對(duì)數(shù)

7、據(jù)庫(kù)進(jìn)行添加規(guī)則和顯示相應(yīng)的日 志信息包過(guò)濾防火墻是實(shí)現(xiàn)防火墻基本功能的最重要最基礎(chǔ)的原型,是學(xué)習(xí)防火墻技術(shù)的必經(jīng)之路,也為進(jìn)一步設(shè)計(jì)與提高防火墻性能提供了必要的儲(chǔ)備。數(shù)據(jù)包處理模塊結(jié)構(gòu)與原理分析本節(jié)主要介紹了防火墻的數(shù)據(jù)處理的原理,敘述了過(guò)濾規(guī)則、調(diào)用數(shù)據(jù)庫(kù)數(shù) 據(jù)包否決等的實(shí)現(xiàn),最后對(duì)日志數(shù)據(jù)庫(kù)的存儲(chǔ)進(jìn)行了簡(jiǎn)單介紹。1、數(shù)據(jù)包處理模塊的結(jié)構(gòu)網(wǎng)絡(luò)捕獲模塊負(fù)責(zé)從網(wǎng)絡(luò)上截獲所有的數(shù)據(jù)包,而數(shù)據(jù)包處理模塊則是對(duì)截 獲的數(shù)據(jù)包根據(jù)數(shù)據(jù)包類(lèi)型的源地址、目的地址、端口等基本信息逐個(gè)進(jìn)行分析 比較。數(shù)據(jù)包處理模塊在對(duì)數(shù)據(jù)包進(jìn)行分析后, 根據(jù)數(shù)據(jù)包的特性,調(diào)用特定的 過(guò)濾匹配規(guī)則確定數(shù)據(jù)包是否可以通過(guò)。具結(jié)構(gòu)

8、如圖1所示。數(shù)據(jù)包過(guò)濾功能的實(shí)現(xiàn)是在網(wǎng)絡(luò)中運(yùn)行程序?qū)?shù)據(jù)包實(shí)施有選擇的通過(guò),選擇的依據(jù)就是系統(tǒng)內(nèi)設(shè)置的過(guò)濾規(guī)則,只要與過(guò)濾規(guī)則相匹配的的數(shù)據(jù)包就被否決,其余的數(shù)據(jù)包則默認(rèn)允許通過(guò),并將這些過(guò)濾信息存入相應(yīng)的數(shù)據(jù)庫(kù)。其流程圖如圖2所示。圖1數(shù)據(jù)處理模塊示意圖圖2數(shù)據(jù)包處理流程圖2、數(shù)據(jù)包處理模塊原理分析(1)過(guò)濾規(guī)則本系統(tǒng)采用的默認(rèn)過(guò)濾規(guī)則是:默認(rèn)接收所有的進(jìn)入、外出和轉(zhuǎn)發(fā)數(shù)據(jù)包;接收所有本地環(huán)路接口上的進(jìn)出包。 當(dāng)要有選擇地接收數(shù)據(jù)包時(shí),本地的過(guò)濾規(guī) 則需要進(jìn)行相應(yīng)的設(shè)置。比如:現(xiàn)在要拒絕IP地址為61(局域網(wǎng)內(nèi) 的一主機(jī)的IP地址)的主機(jī)與本地主機(jī)通信,在用戶(hù)相應(yīng)的選項(xiàng)卡中,填上這一 I地址

9、就是表示拒絕此IP地址主機(jī)向本機(jī)發(fā)出的所有數(shù)據(jù)包,這就是數(shù)據(jù)包的 IP過(guò)濾功能。當(dāng)然也要實(shí)現(xiàn)端口的過(guò)濾功能。比如:想禁止某一服務(wù)的業(yè)務(wù)功能,就可以 在相應(yīng)的IP號(hào)下同時(shí)設(shè)置端口號(hào),就是表示對(duì)任一用戶(hù)的這一服務(wù)被禁止。其 實(shí),這只能對(duì)某一些常用的端口號(hào)進(jìn)行過(guò)濾,如:對(duì)HTTP豳口 80)進(jìn)行過(guò)濾,就是禁止外部用戶(hù)通過(guò)防火墻訪(fǎng)問(wèn)內(nèi)部 HTTP服務(wù)器;對(duì)FTP(端口 20, 21)進(jìn)行 過(guò)濾,就是禁止外部主機(jī)通過(guò)防火墻訪(fǎng)問(wèn)內(nèi)部FTP服務(wù)器。數(shù)據(jù)處理模塊用到的過(guò)濾規(guī)則將在用戶(hù)界面中直接對(duì)規(guī)則數(shù)據(jù)庫(kù)操作進(jìn)而 來(lái)設(shè)置要過(guò)濾的規(guī)則,而數(shù)據(jù)處理模塊則從數(shù)據(jù)庫(kù)中直接調(diào)用。因此,過(guò)濾規(guī)則是在數(shù)據(jù)庫(kù)中定義,由用戶(hù)在

10、數(shù)據(jù)庫(kù)操作界面上輸入的,供底層應(yīng)用程序調(diào)用。(2)調(diào)用過(guò)濾規(guī)則數(shù)據(jù)庫(kù)程序調(diào)用過(guò)濾規(guī)則數(shù)據(jù)庫(kù)來(lái)判斷捕獲的數(shù)據(jù)包頭信息是否與過(guò)濾規(guī)則庫(kù)中 設(shè)置的IP以及端口匹配。因此,它保存的是不被允許通過(guò)的IP號(hào)或者端口號(hào), 在每次數(shù)據(jù)調(diào)用時(shí),都要進(jìn)行調(diào)用規(guī)則,如果與捕獲到的數(shù)據(jù)包頭信息符合, 則 丟棄該數(shù)據(jù)包,否則就允許該數(shù)據(jù)包通過(guò)。首先要連接并打開(kāi)過(guò)濾規(guī)則數(shù)據(jù)庫(kù),從規(guī)則庫(kù)中讀取被禁止的IP以及端口號(hào),匹配后根據(jù)情況執(zhí)行拒絕或者允許通過(guò)的命令。MySQL數(shù)據(jù)庫(kù)提供了一種數(shù) 據(jù)庫(kù)接口-CAPIs, MySQ數(shù)據(jù)庫(kù)提供的 CAPIs函數(shù)。CAPIs包含在mysqlclient 庫(kù)文件當(dāng)中與MySQL的源代碼一塊發(fā)

11、行,用于連接到數(shù)據(jù)庫(kù)和執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)。現(xiàn)在假設(shè)MySQL已安裝,在數(shù)據(jù)庫(kù)中的相關(guān)用戶(hù)和數(shù)據(jù)表已被創(chuàng)造。MySQL的頭文件在/usr/include/mysql目錄下,因此你的程序頭部必須有以下語(yǔ)句:include MySQL 的變量類(lèi)型和函數(shù)都包含在這個(gè)頭文件當(dāng)中, 對(duì)數(shù)據(jù)庫(kù)的操作基本上都可以在這個(gè)頭文件里找到相應(yīng)的實(shí)現(xiàn)函數(shù)。為了實(shí)現(xiàn)連接,首先必須創(chuàng)建一個(gè)連接數(shù)據(jù)庫(kù)的變量:MYSQL *mysqlMYSQ應(yīng)個(gè)結(jié)構(gòu)表示對(duì)一個(gè)數(shù)據(jù)庫(kù)連接的句柄,它被用于幾乎所有的MySQL 函數(shù)。這些變量類(lèi)型在 MySQL的庫(kù)當(dāng)中已有定義,我們需要這些變量是為了使 用MySQL勺C APIs函數(shù)。這些變量在頭文件里

12、都有詳細(xì)的實(shí)現(xiàn)代碼和解釋?zhuān)?是這些實(shí)現(xiàn)代碼和解釋對(duì)于程序編寫(xiě)來(lái)說(shuō)并不重要。為了連接服務(wù)器,調(diào)用函數(shù)mysql_init()以初始化一個(gè)連處理器,初始化這個(gè)變量:Mysql_init(MYSQL *mysql);然后就用以下函數(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接: MYSQL * STDCALL mysql_real_connect (MYSQLysql , const char *host, const char *user, const char *passwd, const char *db , unsigned int port , const char *unix_socket, unsigned

13、int clientflag)。此函數(shù)是一個(gè)非常重要的函數(shù),其功能是連接一個(gè)MYSQL數(shù)據(jù)庫(kù)服務(wù)器。它試圖建立到運(yùn)行 MySQL數(shù)據(jù)庫(kù)引擎的HOST的一個(gè)連接。host是MySQL 服務(wù)器的主機(jī)名,是一個(gè)現(xiàn)存MySQL軟件的主機(jī)地址。它可以是主機(jī)名或者是 一個(gè)IP地址,假定它為 NULL或者字符串“l(fā)ocalhost,則是到本地主機(jī)的一 個(gè)連接。user是登錄的用戶(hù)名,passwd是登錄密碼,db是要連接的數(shù)據(jù)庫(kù),port 是 MySQL 服務(wù)器的 TCP/IP 端口,unix_socket是連接類(lèi)型,clientflag M MySQL 運(yùn)行成ODBC數(shù)據(jù)庫(kù)的標(biāo)記。參數(shù)PORT若不是0,對(duì)于

14、TCP/IP連接這個(gè)值將 用作端口號(hào)。參數(shù)unix_socket如果不是NULL ,字符串指定套接字或應(yīng)將是被 使用的命名管道。參數(shù)clientflag的值通常是0。連接尋建立成功后,這個(gè)函數(shù)將 返回0。至此,對(duì)數(shù)據(jù)庫(kù)連接的功能基本已實(shí)現(xiàn),然后就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún) 和添加等操作了。這是連接數(shù)據(jù)庫(kù)的第一步,也是一個(gè)比較關(guān)鍵的地方,此連接 返回的數(shù)值關(guān)系到此程序調(diào)用的各種基本信息?,F(xiàn)在,我們可以連接數(shù)據(jù)庫(kù)并進(jìn)行查詢(xún)。 查詢(xún)之前,建立個(gè)查詢(xún)語(yǔ)句字符串: har *query0這樣可以創(chuàng)立任何 SQL查詢(xún)語(yǔ)句進(jìn)行查詢(xún)。查詢(xún)之后,我們要到一個(gè) MYSQL_RES變量來(lái)使用查詢(xún)的結(jié)果。以下這行 創(chuàng)立這個(gè)

15、變量:MYSQL_RES *res。MYSQL_RES 這個(gè)結(jié)構(gòu)代表返回行的一個(gè)查詢(xún)的 (SELECT, SHOW, DESCRIBE , EXPLAIN)的結(jié)果,返回的數(shù)據(jù)稱(chēng)為“數(shù)據(jù)集”。 然后用 mysql_use_result(MYSQL*query)。函數(shù)讀出查詢(xún)結(jié)果。mysql_use_result()W一個(gè)優(yōu)點(diǎn)是客戶(hù)為結(jié)果集合需要較 少的內(nèi)存,因?yàn)樗淮沃皇蔷S持一行(并且因?yàn)橛休^少的分配開(kāi)銷(xiāo), mysql_use_result(能更快些)。缺點(diǎn)是你必須盡快處理每一行以避免困住服務(wù)器, 你不必再結(jié)果集合中隨意存取行(你只能順序存取行),而且你不知道在結(jié)果集合 中有多少行,直到你檢索全

16、部結(jié)果。還有,你必須檢索出所有行,即使你在檢索 中途確定你已找到了想尋找的信息。 盡管可以很容易地查詢(xún)了,要用這個(gè)查詢(xún)的 結(jié)果還要用到其它的函數(shù)。第一個(gè)是:MYSQL_ROW STDCALL mysql_fetch_row (MYSQL_RES *result)。該函數(shù)把結(jié)果轉(zhuǎn)換成“數(shù)組”。該函數(shù)返回的是MYSQL_ROW 變量類(lèi)型。 MYSQL_ROW這個(gè)結(jié)構(gòu)是數(shù)據(jù)行的一個(gè)安全表示法。當(dāng)前它實(shí)現(xiàn)為一個(gè)計(jì)數(shù)字 節(jié)的字符串?dāng)?shù)組(如果字段值可能包含二進(jìn)制數(shù)據(jù),不能將這些視為空終止用 因?yàn)檫@樣的值可以在內(nèi)部包含空字節(jié)),行通過(guò)調(diào)用其它函數(shù)獲得。無(wú)法使用以 空字符結(jié)束的申,因?yàn)閿?shù)據(jù)在這個(gè)用可以是二進(jìn)制

17、,也許沒(méi)有包括任何字符。以下語(yǔ)句創(chuàng)立字符串?dāng)?shù)組變量:MYSQL_ROW row。當(dāng)我們用mysql_fetch_row的時(shí)候,接著變量row會(huì)取得結(jié)果的下一組數(shù)據(jù)。 當(dāng)?shù)搅私Y(jié)果的尾部,該函數(shù)返回一負(fù)值。最后我們查詢(xún)完成后就要關(guān)閉這個(gè)連接 了。 mysql_close(MYSQL *mysql)。另外,還有一些與本程序相關(guān)的操作函數(shù):unsigned int STDCALL mysql_num_fields(MYSQL*mysql)。這個(gè)函數(shù)返回表格里有多少個(gè)字段; 取得“數(shù) 據(jù)集”的數(shù)目,用至U: my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *r

18、es); my_ulonglong STDCALL mysql_affected_rows(MYSQL*mysql)。這些函數(shù)是用來(lái)得到受INSERT、DELETE UPDATE查詢(xún)語(yǔ)句影響的“數(shù) 據(jù)集”數(shù)目。my_ulonglong該類(lèi)型用于行數(shù)。這種類(lèi)型提供 0至U 1。84e19的一 個(gè)范圍,為了打印出這樣的值,將它變換到unsigned long并且使用一個(gè)lu打印 格式。3、與過(guò)濾規(guī)則中規(guī)則對(duì)比(1)數(shù)據(jù)包源或目的IP地址過(guò)濾這項(xiàng)任務(wù)要檢查IP包頭,根據(jù)其IP源地址和目標(biāo)地址作出放行/丟棄決定。 如果數(shù)據(jù)包的源或目的IP地址與我們?cè)O(shè)定的丟棄數(shù)據(jù)包的地址匹配,那么該數(shù) 據(jù)包將被丟棄。首

19、選要檢查收到的數(shù)據(jù)包的源IP(在本程序中只對(duì)UDP數(shù)據(jù)報(bào)進(jìn) 行了實(shí)驗(yàn),其它協(xié)議的數(shù)據(jù)包以此類(lèi)推),若為本地地址則一定丟棄,其他地址 則要應(yīng)用過(guò)濾規(guī)則。unsigned char *deny_ip = x7fx00 x00 x01 ;/* */if (ss=*(unsigned int *)deny_ip) flag=1 ;,接著就是檢查源 IP 與設(shè)定的禁止的IP地址進(jìn)行匹配:if (ss= rowt)flag=1 ; rowt是規(guī)則數(shù)據(jù)庫(kù)中的返回 查詢(xún)值,變量flag則為丟棄行為時(shí)的依據(jù)。(2)數(shù)據(jù)包傳送協(xié)議過(guò)濾僅僅依靠地址進(jìn)行數(shù)據(jù)過(guò)濾在實(shí)際運(yùn)用中是不可行的,還有個(gè)原因就是目標(biāo)主機(jī)上往往運(yùn)行

20、著多種通信服務(wù),因此除地址之外還要對(duì)服務(wù)器的 TCP/UDP端 口進(jìn)行過(guò)濾。只要在數(shù)據(jù)捕獲程序的檢查出相應(yīng)的數(shù)據(jù)包傳輸協(xié)議之后,在其后只要運(yùn)行拒絕命令就行了。一般來(lái)說(shuō)最好匹配規(guī)則就是IP地址與端口結(jié)合起來(lái),這樣就是只針對(duì)某用戶(hù)某一服務(wù)來(lái)拒絕,這樣的選擇性更加符合實(shí)際。(3)對(duì)數(shù)據(jù)包的否決通過(guò)包過(guò)濾,防火墻可以攔截和檢查捕獲的數(shù)據(jù)包。當(dāng)該數(shù)據(jù)包不符合過(guò)濾規(guī)則或者與過(guò)濾規(guī)則相一致時(shí),防火墻就丟掉該數(shù)據(jù)包,并存入日志數(shù)據(jù)庫(kù)。由 于對(duì)數(shù)據(jù)包的否決是一外部命令,在C語(yǔ)言中可以用execlp()這一函數(shù)來(lái)執(zhí)行外部命令。函數(shù)原型為:int execlp(const char *filename, const

21、 char *argO, ./* (char *)0*/);比如,拒絕一 IP可以這樣:execlp( /sbin/iptables”,iptables”,INPUT”, tcp”,ss -j ,DROP);對(duì)端口的過(guò)濾則只是外部命令的不一樣而已。常用的否決命令有:iptables -F /刪除已經(jīng)存在的規(guī)則;iptables -A INPUT -p tcp -dport * -j DROP / 關(guān)閉某一服務(wù)端口為 *的 tcp 協(xié)議;iptables -A INPUT -p tcp -s 192 .168.0.130 -dport22 -j ACCEPT / 關(guān)閉某一 IP地址為192.11

22、68.0.130這臺(tái)主機(jī)連接本地的SSH服務(wù)斷口;iptables -A INPUT -p udp-dport 53 -j ACCEPT / 關(guān)閉 DNS 服務(wù)端口的 udp 數(shù)據(jù)包流入;iptables -A INPUT -p icmp-icmp-type echo-re-quest -i eth1 -j DROP / 防止死亡之ping,從接口 eth1進(jìn)入的icmp協(xié)議的請(qǐng)求全部丟棄;根據(jù)服務(wù)器情況,你也可以自行添加規(guī)則。10(4)存入日志數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)包頭分析處理后,可以得到此IP訪(fǎng)問(wèn)的源IP地址、目的IP地址、端口以及被拒絕通過(guò)的情況。數(shù)據(jù)庫(kù)的連接與上文所說(shuō)的一樣,因此,此處存入的是被

23、拒絕的數(shù)據(jù)包頭信息。而且實(shí)現(xiàn)一樣用到函數(shù):int mysql_real_query(MYSQL*mysql , const char*query, unsigned int length), 只是 用函數(shù)sprintf()將query值改為插入語(yǔ)句即可,如下:sprintf(query, “insert into 10gs(remove_ip,local_ip)values( %c , %c,dd,ss)這樣就可以將包過(guò)濾情 況輕易地存入日志數(shù)據(jù)庫(kù),以供用戶(hù)查詢(xún)包過(guò)濾情況。4.3總結(jié)與展望本文重點(diǎn)討論了數(shù)據(jù)包頭分析后與過(guò)濾規(guī)則的匹配、對(duì)數(shù)據(jù)包的拒絕和日志數(shù)據(jù)庫(kù)的存儲(chǔ)。實(shí)驗(yàn)證明達(dá)到了預(yù)期目的。但該防火墻系統(tǒng)的一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論