摘要:防火墻是一種行之有效的網(wǎng)絡(luò)安全機(jī)制,它是在網(wǎng)絡(luò)的內(nèi)部與外部之間實(shí)施安全防范的系統(tǒng)。文章闡述了防火墻技術(shù)的功能和關(guān)鍵技術(shù),并探討了如何在實(shí)際中實(shí)施改進(jìn)防火墻。在本篇論文中采用了對(duì)比論證的方法,目的在于有所比較。論文在理論論述的同時(shí)也注重對(duì)所述內(nèi)容加以舉例說(shuō)明,“構(gòu)建基于Linux的防火墻”一節(jié)即為前述理論的實(shí)踐。
關(guān)鍵詞:防火墻;網(wǎng)絡(luò)安全;包過(guò)濾;路由器
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)27-1944-03
The Research of The Firewall's Applications in The Network
YANG Lian,LU Ji-guang
(South-central University for Nationalities,Wuhan 430074, China)
Abstract: Everyone knows that the firewall is a valid defrence that react on the safe of network in and out.This article tells about the theory of the technic,the function and the sort about firewall.It also shows how to put the firewall in practice.In this article the author list the differences between the firewall and give examples about it.build the firewall based on Linux is the practice about the theory and the author's ideas is included.
Key words: firewall; network safety; wrap the percolation; rout
1 引言
在眾多網(wǎng)絡(luò)安全技術(shù)中,防火墻技術(shù)是最常見(jiàn)、最實(shí)用、最有效的。在本文中,筆者在研讀許多相關(guān)文獻(xiàn)的基礎(chǔ)上,結(jié)合自己的理解,論述防火墻的技術(shù)的一些內(nèi)容,更清楚防火墻的構(gòu)造、原理、功能,以致于達(dá)到更有效地根據(jù)網(wǎng)絡(luò)當(dāng)前狀態(tài)研制開(kāi)發(fā)防火墻,使它適應(yīng)瞬息萬(wàn)變的時(shí)代,解決更多的安全問(wèn)題。
2 防火墻概述
所謂防火墻是指一種將內(nèi)部網(wǎng)和公眾網(wǎng)絡(luò)分開(kāi)的方法,它實(shí)際上是一種隔離技術(shù)。防火墻是在兩個(gè)網(wǎng)絡(luò)通信時(shí)執(zhí)行的一種訪問(wèn)控制手段,最大限度地阻止網(wǎng)絡(luò)中的黑客來(lái)訪問(wèn)你的網(wǎng)絡(luò),防止他們更改、復(fù)制和毀壞你的重要信息。
2.1 防火墻的功能
1) 防火墻可以作為網(wǎng)絡(luò)安全策略的焦點(diǎn)。把防火墻作為網(wǎng)絡(luò)通信的阻塞點(diǎn),所有進(jìn)出網(wǎng)絡(luò)的信息都必須通過(guò)這個(gè)唯一的阻塞點(diǎn)。 防火墻為網(wǎng)絡(luò)安全起到了把關(guān)的作用,它讓我們把安全防范集中在內(nèi)外網(wǎng)絡(luò)連接的阻塞點(diǎn)上。
2) 防火墻能強(qiáng)化安全策略。因?yàn)镮nternet每天都有上百萬(wàn)人在那里收集、交換信息,不可避免會(huì)出現(xiàn)個(gè)別品德不良或違反規(guī)則的人。防火墻是為了防止不良現(xiàn)象發(fā)生的“交通警察”它執(zhí)行站點(diǎn)的安全策略,僅僅容許(認(rèn)可的)和符合規(guī)則的請(qǐng)求通過(guò)。
3) 防火墻能有效的記錄網(wǎng)絡(luò)活動(dòng)。因?yàn)樗械膫鬏斝畔⒍紩?huì)穿過(guò)防火墻,所以,防火墻很適合收集和記錄關(guān)于系統(tǒng)和網(wǎng)絡(luò)使用的多種信息。
4) 防火墻可以用來(lái)掩蓋內(nèi)部網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。防火墻能夠?qū)?nèi)部網(wǎng)絡(luò)分為多個(gè)網(wǎng)段,限制訪問(wèn)等等。 所以,它可以用來(lái)防止對(duì)內(nèi)部網(wǎng)絡(luò)的惡意探測(cè)。雖然防火墻可以對(duì)網(wǎng)絡(luò)威脅起到很好的防范作用,但它不是安全解決方案的全部。防火墻也有其局限性,比如:防火墻不能防范惡意的知情者;不能防范不通過(guò)它的連接;不能防范病毒等。
2.2 防火墻的關(guān)鍵技術(shù)
防火墻的幾種關(guān)鍵技術(shù):包過(guò)濾技術(shù)、代理技術(shù)、地址翻譯(NAT)技術(shù)、SOCKS技術(shù)、狀態(tài)技術(shù)(State Specification)、VPN技術(shù)、內(nèi)容檢查技術(shù)等。在這里就著重論述包過(guò)濾技術(shù)。
2.2.1 包過(guò)濾技術(shù)(IP Filtering or packet filtering)
① 包過(guò)濾技術(shù)是防火墻中的一項(xiàng)主要安全技術(shù),它通過(guò)防火墻對(duì)進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制與操作。系統(tǒng)管理員可以設(shè)定一系列規(guī)則,允許指定哪些類型的數(shù)據(jù)包可以流入或流出內(nèi)部 網(wǎng)絡(luò),哪些類型數(shù)據(jù)包傳輸應(yīng)該被攔截。現(xiàn)在的一些包過(guò)濾防火墻不僅根據(jù)IP數(shù)據(jù)包的地址、方向、協(xié)議、服務(wù)、端口、訪問(wèn)時(shí)間等信息來(lái)進(jìn)行訪問(wèn)控制,同時(shí)還對(duì)任何網(wǎng)絡(luò)連接和當(dāng)前的會(huì)話狀態(tài)進(jìn)行分析和監(jiān)控。
② 所需載體及其控制作用:包過(guò)濾防火墻可以安裝在一個(gè)路由器上或是一個(gè)雙端口網(wǎng)關(guān)上,也可以安裝在一臺(tái)服務(wù)器上。
包過(guò)濾防火墻一般有一個(gè)包檢查模塊,數(shù)據(jù)包過(guò)濾可以根據(jù)IP數(shù)據(jù)包頭中的各種信息來(lái)控制站點(diǎn)和站點(diǎn)、站點(diǎn)與網(wǎng)絡(luò)、網(wǎng)絡(luò)與網(wǎng)絡(luò)之間相互訪問(wèn)。
但是包過(guò)濾防火墻不能控制傳輸數(shù)據(jù)的內(nèi)容,因?yàn)閮?nèi)容是應(yīng)用層數(shù)據(jù),不是包過(guò)濾系統(tǒng)所能辨認(rèn)的,如圖1所示。
在圖中,可以看到防火墻處于網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間,由于所處的位置較低,因此不具備應(yīng)有層保護(hù)能力。
③ 包過(guò)濾防火墻一般工作原理:包過(guò)濾模塊一般會(huì)在操作系統(tǒng)或路由器轉(zhuǎn)發(fā)包之前攔截所有的數(shù)據(jù)包。驗(yàn)證這個(gè)包是否符合過(guò)濾規(guī)則,并記錄數(shù)據(jù)包情況(比如:數(shù)據(jù)包到達(dá)或離開(kāi)的接口)。對(duì)符合規(guī)則的包進(jìn)行處理轉(zhuǎn)發(fā),對(duì)不符合的包進(jìn)行報(bào)警或通知管理員。如果無(wú)匹配規(guī)則,那么,用戶配置的缺省參數(shù)將決定此包是前行還是被舍棄。過(guò)濾規(guī)則指的是系統(tǒng)管理員依據(jù)本部門的安全策略起草的規(guī)則集。

④ 與傳統(tǒng)防火墻對(duì)比:傳統(tǒng)防火墻的包過(guò)濾只是與規(guī)則表進(jìn)行匹配,對(duì)符合規(guī)則的數(shù)據(jù)包進(jìn)行處理,不符合規(guī)則的丟棄。由于是基于規(guī)則的檢查,屬于同一連接的不同包毫無(wú)任何聯(lián)系,每個(gè)包都要依據(jù)規(guī)則順序過(guò)濾,這樣隨著安全規(guī)則的增加,勢(shì)必會(huì)使防火墻的性能大幅度的降低,造成網(wǎng)絡(luò)擁塞。甚至黑客會(huì)采用IP Spoofing UP欺騙)的辦法將自己的非法包偽裝成屬于某個(gè)合法的連接。這樣的包過(guò)濾既缺乏效率又容易產(chǎn)生安全漏洞。
3 構(gòu)建基于Linux的防火墻
通過(guò)修改Linux的內(nèi)核,實(shí)現(xiàn)一個(gè)透明的防火墻。此防火墻本身沒(méi)有IP地址,用戶和黑客無(wú)法感覺(jué)到它的存在,所以不用擔(dān)心對(duì)防火墻本身的攻擊。此防火墻系統(tǒng)工作在數(shù)據(jù)鏈路層,因此比運(yùn)行在網(wǎng)絡(luò)層的防火墻有更高的交換速率,使網(wǎng)絡(luò)有更高的性能。
3.1 Linux內(nèi)核網(wǎng)絡(luò)接口分析
實(shí)現(xiàn)包過(guò)濾防火墻工作需要修改系統(tǒng)內(nèi)核源碼,所以對(duì)Linux系統(tǒng)內(nèi)核源碼的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)實(shí)現(xiàn)需要非常清楚,對(duì)Linux系統(tǒng)內(nèi)核的分析如下:
圖1說(shuō)明Linux把Internet協(xié)議的地址族實(shí)現(xiàn)為一系列的聯(lián)接起來(lái)的軟件層。BSD套接字由一般的只由BSD套接字相關(guān)的套接字管理軟件支持。INet套接字層支持套接字管理,它管理的通信端點(diǎn)的IP是基于TCP和UDP協(xié)議的。UDP是一個(gè)無(wú)聯(lián)接協(xié)議,而TCP是一個(gè)可靠的面向聯(lián)接的協(xié)議。當(dāng)發(fā)送UDP的包時(shí),Linux既不知道也不關(guān)心他們是否安全到達(dá)了他們的目的地。TCP是有聯(lián)接的,TCP聯(lián)接的發(fā)送端都要確保發(fā)送的數(shù)據(jù)被正確的接收。IP層包括實(shí)現(xiàn)Internet協(xié)議的代碼,這個(gè)代碼命令I(lǐng)P層發(fā)送數(shù)據(jù)。在IP層的下面,由網(wǎng)絡(luò)層支持所有的Linux網(wǎng)絡(luò),例如PPP和以太網(wǎng)。網(wǎng)絡(luò)設(shè)備不全代表物理設(shè)備,如某些反饋設(shè)備就是純軟件設(shè)備。
分析數(shù)據(jù)結(jié)構(gòu)和修正內(nèi)核的源代碼是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。網(wǎng)絡(luò)層努力在它的設(shè)計(jì)中做到真正的面向?qū)ο螅瑢?shí)際中的大部分Linux的內(nèi)核數(shù)據(jù)結(jié)構(gòu)關(guān)鍵對(duì)象是:設(shè)備或接口、協(xié)議、套接字、sk-buff。
3.2 構(gòu)建過(guò)濾路由器防火墻的實(shí)例
本例中的包過(guò)濾防火墻基于數(shù)據(jù)包路由記錄,它是在Linux系統(tǒng)中包過(guò)濾防火墻軟件ip_fw. c和X/OS Experts的ipfwadm. c的基礎(chǔ)上進(jìn)行的改進(jìn),增加了檢查數(shù)據(jù)包路由的功能。
本例中所用器材:
一臺(tái)主機(jī),配置兩個(gè)網(wǎng)卡(需要兩個(gè)網(wǎng)卡才能配置路由功能),實(shí)現(xiàn)路由兼作防火墻功能。
一條外部連線(1 OBase-T)可連到校園網(wǎng),從而連入Internet。
一個(gè)l OM/l00M自適應(yīng)8口的以太網(wǎng)集線器HUB,帶有一批Windows95/98/XP/Linux臺(tái)式機(jī)。
構(gòu)建的具體過(guò)程:
1) 修改Linux系統(tǒng)并沒(méi)有支持IP數(shù)據(jù)包路由記錄功能,因此首先必須修改Linux系統(tǒng)的TCP/IP內(nèi)核源程序,再重新編譯內(nèi)核。
實(shí)現(xiàn)這一功能的程序是IF程序中的選項(xiàng)控制模塊buildee options,所以應(yīng)該修改/usr/src/linux/net/inet/ip. c,使其支持路由記錄。
修改部分程序如下:
static int build options(stuct iphdr *iph,stuct options *opt){ unsigned char *ptr;
int aa;
ptr=(unsigned char )(iph+1); /*使指針ptr指向II'數(shù)據(jù)包選項(xiàng)區(qū)*/
*ptr=7/*設(shè)置路由記錄選項(xiàng),對(duì)于RR來(lái)講指針ptr內(nèi)容為7*/
ptr++/*指針ptr指向IP數(shù)據(jù)包路由選項(xiàng)的長(zhǎng)度字段*/
*pti--4*9+3 /*設(shè)路由記錄選項(xiàng)總長(zhǎng)度為39個(gè)字節(jié)(最大長(zhǎng)度)。地址空間長(zhǎng)度為9,可以記錄9個(gè)>P地址。*/
ptr++;/*使指針ptr指向IP數(shù)據(jù)包選項(xiàng)區(qū)的指針字段*/
*pt-4;/*設(shè)為4,即存放第一個(gè)IP地址的字段位置*/
ptr++; /*使指針ptr指向第一個(gè)>P地址存放字段*/
*ptr=0; /*清零*/
for(aa=l;aa<=24;aa+十) /*將IP數(shù)據(jù)包選項(xiàng)的數(shù)據(jù)區(qū)清零*/
{ptr++;
*ptr=0;
}
return 9;
2) 在Linux系統(tǒng)中安裝雙網(wǎng)卡,設(shè)置路由。
在Linux主機(jī)上配置路由功能要求在該主機(jī)內(nèi)至少有兩個(gè)以上的網(wǎng)絡(luò)接口。因此,首先在Linux系統(tǒng)中安裝好兩個(gè)網(wǎng)卡。在具體操作時(shí)可能存在一個(gè)問(wèn)題,就是在Linux系統(tǒng)中只有一塊以太網(wǎng)卡會(huì)被缺省自動(dòng)檢測(cè),這就需要對(duì)Linux系統(tǒng)進(jìn)行一些修改。
有兩種方法可以Linux實(shí)現(xiàn)系統(tǒng)自動(dòng)檢測(cè)多個(gè)網(wǎng)卡:
第一,在Linux加載程序配置文件etc/lilo. conf文件中設(shè)置:append= “ether=irq0,,io-port0,ethO ether= irql,io-portl,ethl”;
第二種方法修改Linux系統(tǒng)的內(nèi)核源程序,修usr/src/Linux/drivers/net/Space. c的eth I控制結(jié)構(gòu),用0代替OxffeO .然后,用make config重新配置Linux的基本內(nèi)核,主要選擇如下:TCP/IP networking(CONFIG INET)[Y]IP forwarding/gatewaying(CONFIG IPJORWARD)[N]IP firewalling(CONFIG IP FIREWALL)[Y]IP accounting(CONFIG IP ACCT)[Y]對(duì)于 Linux系統(tǒng),它支持路由信息協(xié)議(RIP),由in. routed路由服務(wù)程序?qū)崿F(xiàn)。
系統(tǒng)性能分析:
安全性能:系統(tǒng)由于不具備IP地址,所以能夠很好的抵御來(lái)自各方面的入侵活動(dòng),使那些黑客根本沒(méi)有辦法破壞我們的系統(tǒng)。因此,大大提高了系統(tǒng)的安全性。
網(wǎng)絡(luò)性能:包過(guò)濾防火墻系統(tǒng)在網(wǎng)絡(luò)中起著網(wǎng)橋的作用,其運(yùn)行機(jī)制和以太網(wǎng)網(wǎng)橋基本一致,包過(guò)濾操作也僅僅是對(duì)數(shù)據(jù)指針的移動(dòng)并做比較的操作,對(duì)系統(tǒng)的性能沒(méi)有影響。
使用的方便性:無(wú)論是對(duì)系統(tǒng)管理人員還是普通內(nèi)部網(wǎng)絡(luò)用戶,本系統(tǒng)的使用都是非常簡(jiǎn)單的。對(duì)于普通擁護(hù),他們根本不會(huì)感覺(jué)到我們的包過(guò)濾系統(tǒng)的存在。上面的透明包過(guò)濾防火墻對(duì)網(wǎng)絡(luò)用戶是真正的透明,安裝設(shè)置本系統(tǒng)不需要更改任何設(shè)置,放置在合適的位置上,將網(wǎng)絡(luò)聯(lián)起來(lái)就可以使用本系統(tǒng)。
4 總結(jié)
隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,人們的工作和生活越來(lái)越離不開(kāi)網(wǎng)絡(luò),網(wǎng)絡(luò)的安全問(wèn)題也就變得日趨嚴(yán)峻。隨著網(wǎng)絡(luò)的開(kāi)放,因?yàn)榘踩珕?wèn)題而產(chǎn)生的數(shù)據(jù)丟失,網(wǎng)絡(luò)癱瘓等事件時(shí)有發(fā)生;再加上INTERNET所采用的TCP/IP協(xié)議自身的一些缺陷,安全問(wèn)題就更加突出。在考慮了多種防護(hù)手段后,應(yīng)該來(lái)說(shuō)防火墻是最簡(jiǎn)單也是最有效的解決方案。但是防火墻是死的,影響網(wǎng)絡(luò)安全的問(wèn)題卻是在不斷的變化的,如何能夠用防火墻真正合理的解決網(wǎng)絡(luò)問(wèn)題,不是一個(gè)產(chǎn)品的簡(jiǎn)單選擇問(wèn)題,更為重要的是如何把產(chǎn)品的功能發(fā)揮出來(lái),以適應(yīng)不斷變化的網(wǎng)絡(luò)安全題。總之, 應(yīng)該注意的是防火墻不是解決所有網(wǎng)絡(luò)安全問(wèn)題的萬(wàn)能藥方! 而只是網(wǎng)絡(luò)安全政策和策略中的一個(gè)組成部分。 計(jì)算機(jī)網(wǎng)絡(luò)安全問(wèn)題是伴隨計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展不可忽視的問(wèn)題!不論從功能還是從性能來(lái)講,防火墻技術(shù)的演進(jìn)并不會(huì)放慢速度,反而產(chǎn)品的豐富程度和推出速度會(huì)不斷的加快,這也反映了安全需求不斷上升的一種趨勢(shì),但是,更值得我們關(guān)注的還是防火墻體系結(jié)構(gòu)的發(fā)展以及安全產(chǎn)品標(biāo)準(zhǔn)的發(fā)布,這些變化不僅僅關(guān)系到某個(gè)環(huán)境
的某個(gè)產(chǎn)品的應(yīng)用情況,更關(guān)系到信息安全領(lǐng)域的未來(lái)。
參考文獻(xiàn):
[1] (美) Keith E.Strassberg.火墻技術(shù)大全[M].北京:機(jī)械工業(yè)出版社,2003.
[2] (美)ANDRESS Mandy.計(jì)算機(jī)安全原理[M].北京:機(jī)械工業(yè)出版社,2002.
[3] 江榮安,趙銘偉.網(wǎng)絡(luò)安全教程[M].大連:大連理工大學(xué)出版社,2003.
[4] 魏利華.防火墻技術(shù)及其性能研究[J].能源研究與信息,2004,(1):60-65.
[5] (美)斯特拉斯伯格.防火墻技術(shù)大全[M].機(jī)械工業(yè)出版社,2003.
[6] 楊晨光,李海霞.計(jì)算機(jī)網(wǎng)絡(luò)安全[M].西安:西安電子科技大學(xué)出版社,2002.
[7] 黃發(fā)文,徐濟(jì)任,陳家松.計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)初探[J].計(jì)算機(jī)應(yīng)用研究,2002,(5):46-48.
[8] 陳兵,王立松.網(wǎng)絡(luò)安全體系結(jié)構(gòu)研究[J].計(jì)算機(jī)工程與應(yīng)用,2002,(7):138-140.