目前常用的防火墻有兩種結(jié)構(gòu):即子網(wǎng)過濾結(jié)構(gòu)的防火墻和主機(jī)過濾的防火墻。對于這兩種結(jié)構(gòu)的防火墻我們所提供的基本服務(wù)包括:終端訪問、文件傳輸、電子郵件、Usenet新聞、www(萬維網(wǎng))瀏覽以及域名服務(wù)DNS。
一、子網(wǎng)過濾結(jié)構(gòu)的防火墻
子網(wǎng)過濾結(jié)構(gòu)的防火墻有雙路由器和單路由器等不同形式的結(jié)構(gòu),也可以使用兩個雙端口的路由器或者一個三端口的路由器。對于單路由器子網(wǎng)過濾結(jié)構(gòu)與雙路由器子網(wǎng)過濾結(jié)構(gòu)的防火墻工作原理是一樣的,其效果都很好,但單路由器子網(wǎng)過濾結(jié)構(gòu)在價(jià)格上要便宜一些。我們從使用雙路由器子網(wǎng)過濾結(jié)構(gòu)為例,因?yàn)樗诟拍钌弦唵我恍?br>雙路由器結(jié)構(gòu)的子網(wǎng)過濾結(jié)構(gòu)防火墻結(jié)構(gòu)如圖1所示。這種結(jié)構(gòu)提供了良好的安全性(包括多層次冗余),而且已被大多數(shù)用戶采用。
1)參數(shù)網(wǎng)絡(luò)——將堡壘主機(jī)與內(nèi)部網(wǎng)絡(luò)隔離開來,這樣,即使堡壘主機(jī)出現(xiàn)安全缺口,也不會馬上影響內(nèi)部網(wǎng)絡(luò);
2)外部路由器——將屏蔽連接到外部世界。如有可能,外部路由器也提供對堡壘主機(jī)、內(nèi)部路由器和內(nèi)部網(wǎng)絡(luò)的某些保護(hù);
3)內(nèi)部路由器——保護(hù)內(nèi)部網(wǎng)絡(luò),使之不受來自外部世界、及來自堡壘主機(jī)(當(dāng)堡壘主機(jī)被侵襲后)的攻擊;
4)堡壘主機(jī)——作為屏蔽與外界的主要接觸點(diǎn)。除了構(gòu)成防火墻本身的機(jī)器外,假定在內(nèi)部網(wǎng)絡(luò)中的計(jì)算機(jī)(內(nèi)部主機(jī))還擔(dān)任如下角色(任意一臺內(nèi)部計(jì)算機(jī)都可能擔(dān)負(fù)如下的任意一種、甚至全部的任務(wù)):
郵件服務(wù)器;
Usenet新聞服務(wù)器;
DNS域名服務(wù)器;
各種因特網(wǎng)服務(wù)的客戶。
每一種內(nèi)部服務(wù)都可直接提供(通過包過濾)或間接提供(通過運(yùn)行在堡壘主機(jī)上的代理服務(wù)器)。
提供服務(wù)的條件:
假定系統(tǒng)中的內(nèi)部用戶是可信的,他們不會故意去試圖繞過防火墻,并且也沒有必要去監(jiān)視和記錄他們的因特網(wǎng)活動;
在屏蔽的內(nèi)部網(wǎng)和參數(shù)網(wǎng)中,使用的是被授權(quán)賦予的正確的IP地址,并且已通過恰當(dāng)?shù)穆酚蓙硪龑?dǎo)(即屏蔽被授予地址,而且被網(wǎng)絡(luò)服務(wù)供應(yīng)商恰當(dāng)?shù)芈酚珊屯ǜ娴揭蛱鼐W(wǎng)),如果沒有這樣的授權(quán)地址,那么唯一的選擇是通過代理服務(wù),因?yàn)椴荒茉试S具有未授權(quán)IP地址的包被發(fā)到因特網(wǎng)上,即使它們已被發(fā)出了,相應(yīng)的回答也沒辦法返回;
假定參數(shù)網(wǎng)和內(nèi)部網(wǎng)使用了不同的網(wǎng)絡(luò)號碼,從而可以很容易地檢測出偽造的包。
二、主機(jī)過濾結(jié)構(gòu)的防火墻
主機(jī)過濾結(jié)構(gòu)的防火墻,它沒有參數(shù)網(wǎng)絡(luò),也沒有內(nèi)部路由器,通常也沒有堡壘主機(jī),而是由一臺路由器和一臺服務(wù)主機(jī)組成的。由一臺服務(wù)主機(jī)向內(nèi)部和外部客戶提供因特網(wǎng)服務(wù),路由器則用來保護(hù)內(nèi)部網(wǎng)絡(luò)和控制對它的訪問。我們把這種結(jié)構(gòu)稱之為服務(wù)主機(jī)而不是堡壘主機(jī),是因?yàn)樗ǔ_€要擔(dān)任其它許多角色。比如,它可能是郵件服務(wù)器、Usenet新聞服務(wù)器和本站點(diǎn)的DNS服務(wù)器,它還可能是文件服務(wù)器、打印服務(wù)器等等,甚至它可能是本站點(diǎn)的唯一一臺計(jì)算機(jī)。
把主機(jī)過濾結(jié)構(gòu)的防火墻與子網(wǎng)過濾結(jié)構(gòu)的防火墻進(jìn)行比較,就不難發(fā)現(xiàn)主機(jī)過濾結(jié)構(gòu)是一種安全性能低、價(jià)格便宜的一種選擇,主機(jī)過濾結(jié)構(gòu)通常被費(fèi)用有限的比較小的站點(diǎn)采用。
服務(wù)主機(jī)也是本站點(diǎn)的郵件服務(wù)器、新聞服務(wù)器和域名服務(wù)器,但它不是本站點(diǎn)的唯一機(jī)器;
與子網(wǎng)過濾結(jié)構(gòu)的防火墻相同,內(nèi)部用戶是可信賴的,他們不會主動去試圖繞過防火墻,也沒有特別的需要去監(jiān)視或記錄他們的因特網(wǎng)活動;
本站點(diǎn)中使用的是被授權(quán)賦予的合法IP地址,并且由服務(wù)提供商正確地路由和通告到因特網(wǎng)的其余部分。
下面我們來討論主機(jī)過濾結(jié)構(gòu)的防火墻應(yīng)當(dāng)提供那些基本的因特網(wǎng)服務(wù)。
Telnet:通過包過濾可以安全、方便地提供Telnet。本例將按此方法做。在前一節(jié)里我們曾經(jīng)討論過,在較大型的配置中,通過代理服務(wù)來提供Telnet,盡管有其優(yōu)點(diǎn),但通常來講太昂貴了,在主機(jī)過濾結(jié)構(gòu)中則顯得更加笨拙。類似地,在較大配置中難于提供進(jìn)入的Telnet服務(wù),在這里還這樣做簡直等于自取滅亡,因?yàn)檫@將危及服務(wù)主機(jī),實(shí)際上就是危及了整個網(wǎng)絡(luò)系統(tǒng)。因此,我們不提供外部用戶進(jìn)入的Telnet服務(wù)。
FTP:與子網(wǎng)過濾結(jié)構(gòu)一樣,如果我們的內(nèi)部FTP客戶程序支持被動模式FTP,那么通過包過濾就可以安全、方便地提供FTP服務(wù)。如果想要支持禁止使用被動模式的FTP客戶程序,那么就需要在服務(wù)主機(jī)上建立FTP代理服務(wù)器。如果需要,可以支持被動模式和普通模式的FTP客戶程序,但對一個較小的站點(diǎn)來講就沒有必要。對較小的站點(diǎn)而言,最好只提供其中的某一種,而不是試圖兩樣都提供。在此例中,我們僅支持被動模式的FTP。
注意,為了使用在服務(wù)主機(jī)上的FTP代理服務(wù)器,用戶的過濾路由器必須允許這樣的TCP連接,它們源自外部系統(tǒng)的23號端口,目的端口是服務(wù)主機(jī)的大于1023的端口。對一個通常的堡壘主機(jī),這不成問題,因?yàn)槠渌?wù)不使用這個端口。然而,對服務(wù)主機(jī)而言就可能不是這樣,這些端口也有可能保留做其它用途。
在任何配置中,進(jìn)入的用戶FTP與進(jìn)入的Telnet走的是同樣的路,在Telnet服務(wù)中我們已經(jīng)決定禁止外部用戶進(jìn)入的Telnet,同樣也要禁止外部用戶進(jìn)入的FTP。為什么?因?yàn)樵谧泳W(wǎng)過濾結(jié)構(gòu)中,當(dāng)進(jìn)入的匿名FTP到達(dá)堡壘主機(jī)時(shí),其風(fēng)險(xiǎn)是可以承受的,然而,進(jìn)入的匿名FTP到達(dá)服務(wù)主機(jī)時(shí),這種服務(wù)所造成的危險(xiǎn)是不可估量的,因?yàn)檫@里可能有機(jī)密數(shù)據(jù)和對內(nèi)部網(wǎng)絡(luò)的安全訪問權(quán)限,所以我們也必須禁止它。
SMTP:在主機(jī)過濾結(jié)構(gòu)中,可能只有一種辦法來建立SMTP服務(wù)。進(jìn)入的郵件應(yīng)當(dāng)通過DNSMX記錄被引導(dǎo)到服務(wù)主機(jī)上,外出郵件應(yīng)當(dāng)通過服務(wù)主機(jī)發(fā)出。事實(shí)上沒有其它更合適的辦法。正如我們在上面所討論的那樣,讓進(jìn)入郵件直接到達(dá)所有的內(nèi)部機(jī)器是不適宜的。同樣,一旦已將進(jìn)入郵件通過一個單一的點(diǎn)引導(dǎo)進(jìn)來,那么要將外出郵件通過那里發(fā)出,比把郵件直接發(fā)出實(shí)際上更容易(注意不是指更安全)。
NNTP:與SMTP一樣,在主機(jī)過濾結(jié)構(gòu)中也許只有一種建立NNTP的辦法,這就是用另外一臺內(nèi)部機(jī)器作為Usenet新聞服務(wù)器,并且允許NNTP服務(wù)直接通向它。我們將把服務(wù)主機(jī)當(dāng)作新聞服務(wù)器。然而,最好是干脆放棄新聞服務(wù),當(dāng)然,這取決于新聞服務(wù)會給機(jī)器帶來多大的負(fù)載,以及服務(wù)主機(jī)的重要程度。
HTTP:正如在前面例子中所說的那樣,HTTP可以通過包過濾直接提供,或者通過代理服務(wù)器間接地提供。然而,最有意義的還是通過帶有緩沖的代理服務(wù)器,比如CERNHTTP服務(wù)器來間接地提供HTTP服務(wù)。這樣做的理由是:由于緩沖的作用,性能也就提高了。
在此例中,假定將要通過運(yùn)行在服務(wù)主機(jī)上的一個CERN代理服務(wù)器來提供HTTP服務(wù)。由于風(fēng)險(xiǎn)的原因(這種風(fēng)險(xiǎn)由于服務(wù)主機(jī)的敏感位置而進(jìn)一步復(fù)雜化了),只提供本地用戶向外的服務(wù),對外部來的客戶將關(guān)閉此項(xiàng)服務(wù)。
DNS:與其它大多數(shù)服務(wù)一樣,在主機(jī)過濾結(jié)構(gòu)中,實(shí)際上只有一個比較合適的地方可以安放DNS服務(wù)器,即放在服務(wù)主機(jī)上。