談防火墻及防火墻的滲透技術(shù)
傳統(tǒng)的防火墻工作原理及優(yōu)缺點(diǎn):
1.(傳統(tǒng)的)包過濾防火墻的工作原理
包過濾是在IP層實(shí)現(xiàn)的,因此,它可以只用路由器完成。包過濾根據(jù)包的源IP地址、目的IP地址、源端口、目的端口及包傳遞方向等報頭信息來判斷是否允許包通過。過濾用戶定義的內(nèi)容,如IP地址。其工作原理是系統(tǒng)在網(wǎng)絡(luò)層檢查數(shù)據(jù)包,與應(yīng)用層無關(guān),包過濾器的應(yīng)用非常廣泛,因?yàn)?a target="_blank">CPU用來處理包過濾的時間可以忽略不計(jì)。而且這種防護(hù)措施對用戶透明,合法用戶在進(jìn)出網(wǎng)絡(luò)時,根本感覺不到它的存在,使用起來很方便。這樣系統(tǒng)就具有很好的傳輸性能,易擴(kuò)展。但是這種防火墻不太安全,因?yàn)橄到y(tǒng)對應(yīng)用層信息無感知——也就是說,它們不理解通信的內(nèi)容,不能在用戶級別上進(jìn)行過濾,即不能識別不同的用戶和防止IP地址的盜用。如果攻擊者把自己主機(jī)的IP地址設(shè)成一個合法主機(jī)的IP地址,就可以很輕易地通過包過濾器,這樣更容易被黑客攻破。 基于這種工作機(jī)制,包過濾防火墻有以下缺陷:
通信信息:包過濾防火墻只能訪問部分?jǐn)?shù)據(jù)包的頭信息;
通信和應(yīng)用狀態(tài)信息:包過濾防火墻是無狀態(tài)的,所以它不可能保存來自于通信和應(yīng)用的狀態(tài)信息;
信息處理:包過濾防火墻處理信息的能力是有限的。
比如針對微軟IIS漏洞的Unicode攻擊,因?yàn)檫@種攻擊是走的防火墻所允許的80端口,而包過濾的防火墻無法對數(shù)據(jù)包內(nèi)容進(jìn)行核查,因此此時防火墻等同于虛設(shè),未打相應(yīng)patch的提供web服務(wù)的系統(tǒng),即使在防火墻的屏障之后,也會被攻擊者輕松拿下超級用戶的權(quán)限。
包過濾防火墻的缺點(diǎn)和不足,可以在應(yīng)用層解決。下面我們來看看應(yīng)用層網(wǎng)關(guān)
2.應(yīng)用網(wǎng)關(guān)
1、應(yīng)用代理服務(wù)器(Application Gateway Proxy)
在網(wǎng)絡(luò)應(yīng)用層提供授權(quán)檢查及代理服務(wù)。當(dāng)外部某臺主機(jī)試圖訪問受保護(hù)網(wǎng)絡(luò)時,必須先在防火墻上經(jīng)過身份認(rèn)證。通過身份認(rèn)證后,防火墻運(yùn)行一個專門為該網(wǎng)絡(luò)設(shè)計(jì)的程序,把外部主機(jī)與內(nèi)部主機(jī)連接。在這個過程中,防火墻可以限制用戶訪問的主機(jī)、訪問時間及訪問的方式。同樣,受保護(hù)網(wǎng)絡(luò)內(nèi)部用戶訪問外部網(wǎng)時也需先登錄到防火墻上,通過驗(yàn)證后,才可訪問。
應(yīng)用網(wǎng)關(guān)代理的優(yōu)點(diǎn)是既可以隱藏內(nèi)部IP地址,也可以給單個用戶授權(quán),即使攻擊者盜用了一個合法的IP地址,也通不過嚴(yán)格的身份認(rèn)證。因此應(yīng)用網(wǎng)關(guān)比報文過濾具有更高的安全性。但是這種認(rèn)證使得應(yīng)用網(wǎng)關(guān)不透明,用戶每次連接都要受到認(rèn)證,這給用戶帶來許多不便。這種代理技術(shù)需要為每個應(yīng)用寫專門的程序。
2、回路級代理服務(wù)器
即通常意義的代理服務(wù)器,它適用于多個協(xié)議,但不能解釋應(yīng)用協(xié)議,需要通過其他方式來獲得信息,所以,回路級代理服務(wù)器通常要求修改過的用戶程序。
套接字服務(wù)器(Sockets Server)就是回路級代理服務(wù)器。套接字(Sockets)是一種網(wǎng)絡(luò)應(yīng)用層的國際標(biāo)準(zhǔn)。當(dāng)受保護(hù)網(wǎng)絡(luò)客戶機(jī)需要與外部網(wǎng)交互信息時,在防火墻上的套服務(wù)器檢查客戶的User ID、IP源地址和IP目的地址,經(jīng)過確認(rèn)后,套服務(wù)器才與外部的服務(wù)器建立連接。對用戶來說,受保護(hù)網(wǎng)與外部網(wǎng)的信息交換是透明的,感覺不到防火墻的存在,那是因?yàn)榫W(wǎng)絡(luò)用戶不需要登錄到防火墻上。但是客戶端的應(yīng)用軟件必須支持 “Socketsified API”,受保護(hù)網(wǎng)絡(luò)用戶訪問公共網(wǎng)所使用的IP地址也都是防火墻的IP地址。
3、代管服務(wù)器
代管服務(wù)器技術(shù)是把不安全的服務(wù)如FTP、Telnet等放到防火墻上,使它同時充當(dāng)服務(wù)器,對外部的請求作出回答。與應(yīng)用層代理實(shí)現(xiàn)相比,代管服務(wù)器技術(shù)不必為每種服務(wù)專門寫程序。而且,受保護(hù)網(wǎng)內(nèi)部用戶想對外部網(wǎng)訪問時,也需先登錄到防火墻上,再向外提出請求,這樣從外部網(wǎng)向內(nèi)就只能看到防火墻,從而隱藏了內(nèi)部地址,提高了安全性。
4、IP通道(IP Tunnels)
如果一個大公司的兩個子公司相隔較遠(yuǎn),通過Internet通信。這種情況下,可以采用IP Tunnels來防止Internet上的黑客截取信息,從而在Internet上形成一個虛擬的企業(yè)網(wǎng)。
5、網(wǎng)絡(luò)地址轉(zhuǎn)換器(NAT Network Address Translate)
當(dāng)受保護(hù)網(wǎng)連到Internet上時,受保護(hù)網(wǎng)用戶若要訪問Internet,必須使用一個合法的IP地址。但由于合法Internet IP地址有限,而且受保護(hù)網(wǎng)絡(luò)往往有自己的一套IP地址規(guī)劃(非正式IP地址)。網(wǎng)絡(luò)地址轉(zhuǎn)換器就是在防火墻上裝一個合法IP地址集。當(dāng)內(nèi)部某一用戶要訪問Internet時,防火墻動態(tài)地從地址集中選一個未分配的地址分配給該用戶,該用戶即可使用這個合法地址進(jìn)行通信。同時,對于內(nèi)部的某些服務(wù)器如Web服務(wù)器,網(wǎng)絡(luò)地址轉(zhuǎn)換器允許為其分配一個固定的合法地址。外部網(wǎng)絡(luò)的用戶就可通過防火墻來訪問內(nèi)部的服務(wù)器。這種技術(shù)既緩解了少量的IP地址和大量的主機(jī)之間的矛盾,又對外隱藏了內(nèi)部主機(jī)的IP地址,提高了安全性。
6、隔離域名服務(wù)器(Split Domain Name Server )
這種技術(shù)是通過防火墻將受保護(hù)網(wǎng)絡(luò)的域名服務(wù)器與外部網(wǎng)的域名服務(wù)器隔離,使外部網(wǎng)的域名服務(wù)器只能看到防火墻的IP地址,無法了解受保護(hù)網(wǎng)絡(luò)的具體情況,這樣可以保證受保護(hù)網(wǎng)絡(luò)的IP地址不被外部網(wǎng)絡(luò)知悉。
7、郵件技術(shù)(Mail Forwarding)
當(dāng)防火墻采用上面所提到的幾種技術(shù)使得外部網(wǎng)絡(luò)只知道防火墻的IP地址和域名時,從外部網(wǎng)絡(luò)發(fā)來的郵件,就只能送到防火墻上。這時防火墻對郵件進(jìn)行檢查,只有當(dāng)發(fā)送郵件的源主機(jī)是被允許通過的,防火墻才對郵件的目的地址進(jìn)行轉(zhuǎn)換,送到內(nèi)部的郵件服務(wù)器,由其進(jìn)行轉(zhuǎn)發(fā)。
應(yīng)用網(wǎng)關(guān)是檢查所有應(yīng)用層的信息包,并將檢查的內(nèi)容信息放入決策過程,這樣安全性有所提高。然而,它們是通過打破客戶機(jī)/服務(wù)器模式實(shí)現(xiàn)的,每一個客戶機(jī)/服務(wù)器通信需要兩個連接:一個是從客戶端到防火墻,另一個是從防火墻到服務(wù)器。另外,每一個代理需要一個不同的應(yīng)用進(jìn)程,或一個后臺運(yùn)行的服務(wù)程序,這樣如果有一個新的應(yīng)用就必須添加對此應(yīng)用的服務(wù)程序,否則不能使用該種服務(wù),可伸縮性差。 基于這種工作機(jī)制,應(yīng)用網(wǎng)關(guān)防火墻有以下缺陷:
連接限制:每一個服務(wù)需要自己的代理,所以可提供的服務(wù)數(shù)和伸縮性受到限制;
技術(shù)限制:應(yīng)用網(wǎng)關(guān)不能為UDP、RPC及普通協(xié)議族的其他服務(wù)提供代理;
性能:實(shí)現(xiàn)應(yīng)用網(wǎng)關(guān)防火墻犧牲了一些系統(tǒng)性能。
防火墻基礎(chǔ)知識介紹
防火墻是一種功能,它使得內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)或Internet互相隔離,以此來保護(hù)內(nèi)部網(wǎng)絡(luò)或主機(jī)。簡單的防火墻可以由Router,3 Layer Switch的ACL(access control list)來充當(dāng),也可以用一臺主機(jī),甚至是一個子網(wǎng)來實(shí)現(xiàn)。復(fù)雜的可以購買專門的硬件防火墻或軟件防火墻來實(shí)現(xiàn)。
防火墻的功能有:
1、過濾掉不安全服務(wù)和非法用戶
2、控制對特殊站點(diǎn)的訪問
3、提供監(jiān)視Internet安全和預(yù)警的方便端點(diǎn)
防火墻并不是萬能的,也有很多防火墻無能為力的地方:
1、防火墻防不住繞過防火墻的攻擊。比如,防火墻不限制從內(nèi)部網(wǎng)絡(luò)到外部網(wǎng)絡(luò)的連接,那么,一些內(nèi)部用戶可能形成一個直接通往Internet的連接,從而繞過防火墻,造成一個潛在的backdoor.惡意的外部用戶直接連接到內(nèi)部用戶的機(jī)器上,以這個內(nèi)部用戶的機(jī)器為跳板,發(fā)起繞過防火墻的不受限制的攻擊。
2、防火墻不是防毒墻,不能攔截帶病毒的數(shù)據(jù)在網(wǎng)絡(luò)之間傳播。
3、防火墻對數(shù)據(jù)驅(qū)動式攻擊也無能為力。
因此,我們不能過分依賴防火墻。網(wǎng)絡(luò)的安全是一個整體,并不是有某一樣特別出色的配置。網(wǎng)絡(luò)安全遵循的是“木桶原則”。
一般防火墻具備以下特點(diǎn):
1、廣泛的服務(wù)支持:通過將動態(tài)的、應(yīng)用層的過濾能力和認(rèn)證相結(jié)合,可實(shí)現(xiàn)WWW瀏覽器、HTTP服務(wù)器、 FTP等;
2、對私有數(shù)據(jù)的加密支持:保證通過Internet進(jìn)行虛擬私人網(wǎng)絡(luò)和商務(wù)活動不受損壞;
3、客戶端認(rèn)證只允許指定的用戶訪問內(nèi)部網(wǎng)絡(luò)或選擇服務(wù):企業(yè)本地網(wǎng)與分支機(jī)構(gòu)、商業(yè)伙伴和移動用戶間安全通信的附加部分;
4、反欺騙:欺騙是從外部獲取網(wǎng)絡(luò)訪問權(quán)的常用手段,它使數(shù)據(jù)包好似來自網(wǎng)絡(luò)內(nèi)部。防火墻能監(jiān)視這樣的數(shù)據(jù)包并能扔掉它們;
5、C/S模式和跨平臺支持:能使運(yùn)行在一平臺的管理模塊控制運(yùn)行在另一平臺的監(jiān)視模塊。
防火墻的體系結(jié)構(gòu)及組合形式
1、屏蔽路由器(Screening Router)
這是防火墻最基本的構(gòu)件。它可以由廠家專門生產(chǎn)的路由器實(shí)現(xiàn),也可以用主機(jī)來實(shí)現(xiàn)。屏蔽路由器作為內(nèi)外連接的唯一通道,要求所有的報文都必須在此通過檢查。路由器上可以裝基于IP層的報文過濾軟件,實(shí)現(xiàn)報文過濾功能。許多路由器本身帶有報文過濾配置選項(xiàng),但一般比較簡單。
單純由屏蔽路由器構(gòu)成的防火墻的危險帶包括路由器本身及路由器允許訪問的主機(jī)。它的缺點(diǎn)是一旦被攻陷后很難發(fā)現(xiàn),而且不能識別不同的用戶。
2、雙宿主機(jī)網(wǎng)關(guān)(Dual Homed Gateway)
任何擁有多個接口卡的系統(tǒng)都被稱為多宿的,雙宿主機(jī)網(wǎng)關(guān)是用一臺裝有兩塊網(wǎng)卡的主機(jī)做防火墻。兩塊網(wǎng)卡各自與受保護(hù)網(wǎng)和外部網(wǎng)相連。主機(jī)上運(yùn)行著防火墻軟件,可以轉(zhuǎn)發(fā)應(yīng)用程序,提供服務(wù)等。
雙宿主機(jī)網(wǎng)關(guān)優(yōu)于屏蔽路由器的地方是:堡壘主機(jī)的系統(tǒng)軟件可用于維護(hù)系統(tǒng)日志、硬件拷貝日志或遠(yuǎn)程日志。這對于日后的檢查很有用。但這不能幫助網(wǎng)絡(luò)管理者確認(rèn)內(nèi)網(wǎng)中哪些主機(jī)可能已被黑客入侵。
雙宿主機(jī)網(wǎng)關(guān)的一個致命弱點(diǎn)是:一旦入侵者侵入堡壘主機(jī)并使其只具有路由功能,則任何網(wǎng)上用戶均可以隨便訪問內(nèi)網(wǎng)。
3、被屏蔽主機(jī)網(wǎng)關(guān)(Screened Host Gateway)
屏蔽主機(jī)網(wǎng)關(guān)易于實(shí)現(xiàn)也很安全,因此應(yīng)用廣泛。例如,一個分組過濾路由器連接外部網(wǎng)絡(luò),同時一個堡壘主機(jī)安裝在內(nèi)部網(wǎng)絡(luò)上,通常在路由器上設(shè)立過濾規(guī)則,并使這個堡壘主機(jī)成為從外部網(wǎng)絡(luò)唯一可直接到達(dá)的主機(jī),這確保了內(nèi)部網(wǎng)絡(luò)不受未被授權(quán)的外部用戶的攻擊。
如果受保護(hù)網(wǎng)是一個虛擬擴(kuò)展的本地網(wǎng),即沒有子網(wǎng)和路由器,那么內(nèi)網(wǎng)的變化不影響堡壘主機(jī)和屏蔽路由器的配置。危險帶限制在堡壘主機(jī)和屏蔽路由器。網(wǎng)關(guān)的基本控制策略由安裝在上面的軟件決定。如果攻擊者設(shè)法登錄到它上面,內(nèi)網(wǎng)中的其余主機(jī)就會受到很大威脅。這與雙穴主機(jī)網(wǎng)關(guān)受攻擊時的情形差不多。
4、被屏蔽子網(wǎng) (Screened Subnet)
這種方法是在內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間建立一個被隔離的子網(wǎng),用兩臺分組過濾路由器將這一子網(wǎng)分別與內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)分開。在很多實(shí)現(xiàn)中,兩個分組過濾路由器放在子網(wǎng)的兩端,在子網(wǎng)內(nèi)構(gòu)成一個“非軍事區(qū)”DMZ。有的屏蔽子網(wǎng)中還設(shè)有一堡壘主機(jī)作為唯一可訪問點(diǎn),支持終端交互或作為應(yīng)用網(wǎng)關(guān)代理。這種配置的危險帶僅包括堡壘主機(jī)、子網(wǎng)主機(jī)及所有連接內(nèi)網(wǎng)、外網(wǎng)和屏蔽子網(wǎng)的路由器。
如果攻擊者試圖完全破壞防火墻,他必須重新配置連接三個網(wǎng)的路由器,既不切斷連接又不要把自己鎖在外面,同時又不使自己被發(fā)現(xiàn),這樣也還是可能的。但若禁止網(wǎng)絡(luò)訪問路由器或只允許內(nèi)網(wǎng)中的某些主機(jī)訪問它,則攻擊會變得很困難。在這種情況下,攻擊者得先侵入堡壘主機(jī),然后進(jìn)入內(nèi)網(wǎng)主機(jī),再返回來破壞屏蔽路由器,整個過程中不能引發(fā)警報。
建造防火墻時,一般很少采用單一的技術(shù),通常是多種解決不同問題的技術(shù)的組合。這種組合主要取決于網(wǎng)管中心向用戶提供什么樣的服務(wù),以及網(wǎng)管中心能接受什么等級風(fēng)險。采用哪種技術(shù)主要取決于經(jīng)費(fèi),投資的大小或技術(shù)人員的技術(shù)、時間等因素。一般有以下幾種形式:
1、使用多堡壘主機(jī);
2、合并內(nèi)部路由器與外部路由器;
3、合并堡壘主機(jī)與外部路由器;
4、合并堡壘主機(jī)與內(nèi)部路由器;
5、使用多臺內(nèi)部路由器;
6、使用多臺外部路由器;
7、使用多個周邊網(wǎng)絡(luò);
8、使用雙重宿主主機(jī)與屏蔽子網(wǎng)。
隨著人們對網(wǎng)絡(luò)安全意識的提高,防火墻的應(yīng)用越來越廣泛。有錢的用高級硬件防火墻,沒錢的用免費(fèi)的軟件防火墻。那么,硬件防火墻和軟件防火墻相比,有哪些優(yōu)點(diǎn)呢?
硬件防火墻采用專用的硬件設(shè)備,然后集成生產(chǎn)廠商的專用防火墻軟件。從功能上看,硬件防火墻內(nèi)建安全軟件,使用專屬或強(qiáng)化的操作系統(tǒng),管理方便,更換容易,軟硬件搭配較固定。硬件防火墻效率高,解決了防火墻效率、性能之間的矛盾,可以達(dá)到線性。
軟件防火墻一般基于某個操作系統(tǒng)平臺開發(fā),直接在計(jì)算機(jī)上進(jìn)行軟件的安裝和配置。由于客戶平臺的多樣性,軟件防火墻需支持多操作系統(tǒng),如Unix、Linux、SCO-Unix、Windows等,代碼龐大、安裝成本高、售后支持成本高、效率低。
1、性能優(yōu)勢。防火墻的性能對防火墻來說是至關(guān)重要的。它決定了每秒鐘通過防火墻的數(shù)據(jù)流量。單位是Bps,從幾十M到幾百M(fèi)不等,還有千兆防火墻甚至達(dá)到幾G的防火墻。而軟件防火墻則不可能達(dá)到如此高的速率。
2、CPU占用率的優(yōu)勢。硬件防火墻的CPU占用率當(dāng)然是0了,而軟件防火墻就不同了,如果處于節(jié)約成本的考慮將防火墻軟件安裝在提供服務(wù)的主機(jī)上,當(dāng)數(shù)據(jù)流量較大時,CPU占用率將是主機(jī)的殺手,將拖跨主機(jī)。
3、售后支持。硬件防火墻廠家會對防火墻產(chǎn)品有跟蹤的服務(wù)支持,而軟件防火墻的用戶能得到這種機(jī)會的相對較少,而且廠家也不會在軟件防火墻上下太大的功夫和研發(fā)經(jīng)費(fèi)。
防火墻滲透技術(shù)簡介
防火墻滲透
以上我們簡單的介紹了防火墻的原理,分類,優(yōu)缺點(diǎn)等。下面,我們將對防火墻的滲透技術(shù)做一下簡單的介紹。
精心配置過的防火墻固然將讓絕大多數(shù)crackers擋在外圍,掌握網(wǎng)絡(luò)控制的主動權(quán),但是,防火墻并不是萬能的,我們也在上一節(jié)的內(nèi)容中簡單的講了防火墻的缺點(diǎn)。沒有任何一樣網(wǎng)絡(luò)產(chǎn)品可以說是絕對安全的。綠盟的san的一篇的文章介紹了滲透防火墻的shellcode,有興趣的朋友可以參考一下。 說到通道技術(shù),我想再提一下“端口復(fù)用”,很多朋友以為通道技術(shù)就是端口復(fù)用技術(shù)。那么,錯了,端口復(fù)用是指一個端口上建立了多個連接,而不是在一個端口上面開放了多個服務(wù)而互不干擾。假如你想在已經(jīng)開放了WWW服務(wù)的主機(jī)上,在80端口再添加一項(xiàng)服務(wù),只有2種可能:1.添加服務(wù)失敗 2.WWW服務(wù)出錯。那么什么是通道呢?這里所謂的通道,是指一種繞過防火墻端口屏蔽的通訊方式。防火墻兩端的數(shù)據(jù)包封裝在防火墻所允許通過的數(shù)據(jù)包類型或是端口上,然后穿過防火墻與處在防火墻后面的主機(jī)通訊,當(dāng)封裝的數(shù)據(jù)包到達(dá)目的地時,再將數(shù)據(jù)包還原,并將還原后的數(shù)據(jù)包交送到相應(yīng)的服務(wù)上,是在一個端口上面開放了多個服務(wù)而互不干擾的。
為了通信,不論是什么防火墻,都不可能把所有的服務(wù),所有的端口都封閉。(如果有那樣的防火墻,還不如拔網(wǎng)線來的直接,呵呵)大多數(shù)的防火墻或多或少都要開放一個端口或服務(wù)(比如HTTP),只要開放了端口和服務(wù),就給了我們滲透的可能。HTTP是一種比較簡單而常用的互交式協(xié)議,你給服務(wù)器發(fā)送一個請求,服務(wù)器就返回給你一個回應(yīng)。幾乎所有的主機(jī)都被允許發(fā)送HTTP請求。網(wǎng)絡(luò)上HTTP協(xié)議使用的是如此廣泛,這也決定了我們可以通過使用通道技術(shù)而輕松的通過防火墻或其他類似設(shè)備而將我們需要的數(shù)據(jù)發(fā)送至目標(biāo)。一個很典型的例子就是http-tunnel.
在http-tunnel的官方網(wǎng)站http://www.http-tunnel.com
上有這么一句話:“http-tunnel在HTTP請求中建立了一個雙向的虛擬數(shù)據(jù)連接。HTTP請求可以經(jīng)過代理而被發(fā)送,這就可以被那些處在限制了端口的防火墻背后的用戶使用。如果通過HTTP代理的WWW瀏覽是被允許的,那么http-tunnel也就可以成立,也就是說,可以在防火墻外telnet或者PPP到防火墻的內(nèi)部?!边@樣看來,攻擊者可以使用這種技術(shù)來實(shí)現(xiàn)遠(yuǎn)程控制。我們來看看http-tunnel的設(shè)計(jì)思路:
A主機(jī)在防火墻的外面,沒有做任何限制。B主機(jī)在防火墻內(nèi)部,受到防火墻保護(hù),防火墻配置的訪問控制原則是只允許80端口的數(shù)據(jù)進(jìn)出,但主機(jī)開放了telnet服務(wù)。現(xiàn)在假設(shè)需要從A系統(tǒng)Telnet到B系統(tǒng)上去,怎么辦?使用正常的telnet肯定是不可能了,因?yàn)閠elnet使用的23端口被防火墻屏蔽,防火墻收到這個telnet的包后,發(fā)現(xiàn)不符合只允許80端口的數(shù)據(jù)通過的過濾原則,就丟棄了。但我們知道可用的有80端口,那么這個時候使用Httptunnel通道,就是一個好的辦法,思路如下:
在A機(jī)器上運(yùn)行tunnel的客戶端,讓它偵聽本機(jī)的一個不被使用的任意指定端口(最好是1024以上65535以下),如,8888。同時將來自8888端口上的數(shù)據(jù)指引到B機(jī)的80端口上,因?yàn)槭?0端口,防火墻是允許通過的。然后在B機(jī)上起一個服務(wù)端,(在只有80端口對外開放的情況下,只能先得到一個WEBSHELL,想辦法提升自己的權(quán)限,并運(yùn)行服務(wù)端)同樣掛接在80端口上,同時指引80端口的來自客戶端的轉(zhuǎn)發(fā)到本機(jī)的telnet服務(wù)端口23,這樣就OK了?,F(xiàn)在在A機(jī)上telnet本機(jī)端口8888,根據(jù)剛才的設(shè)置數(shù)據(jù)包會被轉(zhuǎn)發(fā)到目標(biāo)端口為80的B機(jī),因?yàn)榉阑饓υ试S通過80端口的數(shù)據(jù),因此數(shù)據(jù)包暢通的穿過防火墻,到達(dá)B機(jī)。此時B機(jī)在80端口偵聽的進(jìn)程收到來自A的數(shù)據(jù)包,會將數(shù)據(jù)包還原,再交還給telnet進(jìn)程。當(dāng)數(shù)據(jù)包需要由B到A返回時,將由80端口再回送,同樣可以順利的通過防火墻。
上述功能似乎用端口映射也能做的到,把A主機(jī)上的23端口重定向到80端口,再把B主機(jī)上的80端口重定向到23端口就行了。但如果B主機(jī)已經(jīng)開啟了WWW服務(wù)了呢?要使用上述功能,使用端口映射必須犧牲B主機(jī)的80端口,這是得不償失的。試想在一次滲透防火墻的對某臺主機(jī)的攻擊中,把別人本來已經(jīng)開啟的WWW服務(wù)DOWN了,你還能在這臺主機(jī)上呆多久?但是,使用http-tunnel就可以完美實(shí)現(xiàn),即使B主機(jī)已經(jīng)開放80,提供WWW,我們也照樣可以發(fā)送telnet到其80端口上,享受到“正版”的telnet服務(wù)。
對于通道技術(shù),我們的解決方案是采用應(yīng)用層的數(shù)據(jù)包檢測技術(shù),因?yàn)樵谡5腍TTP請求中,GET、POST等行為是必不可少的,如果來自一個連接的HTTP請求中,總是沒有GET、POST,那么這個連接肯定有問題。從而終止此連接?,F(xiàn)在已經(jīng)有公司的IDS產(chǎn)品能夠查出隱藏在80中的tunnel,但是這些IDS產(chǎn)品的費(fèi)用恐怕也不是中小型企業(yè)能承受的了的。
對于防火墻的滲透,還有一些方法,比如找防火墻本身的設(shè)計(jì)缺陷等等,但那些難度太大??峙虏皇俏覀儜?yīng)該考慮的了。
總結(jié)
我們又把防火墻和防火墻的滲透深入淺出的復(fù)習(xí)了一遍?,F(xiàn)在我們應(yīng)該更清楚的知道,防火墻不是萬能的,即使是經(jīng)過精心配置的防火墻也抵擋不住隱藏在看似正常數(shù)據(jù)下的通道程序。那么,對于一個網(wǎng)絡(luò)來說,我們應(yīng)該怎么做才能夠保證它的最大安全呢?
1.根據(jù)需要合適的配置防火墻,盡量少開端口。
2.采用過濾嚴(yán)格的WEB程序。
3.采用加密的HTTP協(xié)議(HTTPS)。
4.如果條件允許,購買一臺功能較強(qiáng)大的NIDS。
5.管理好你的內(nèi)網(wǎng)用戶,防止攻擊者和內(nèi)網(wǎng)用戶直接連接繞過防火墻。
6.經(jīng)常升級你的firewall產(chǎn)品。
參考資料:
http://www.http-tunnel.com
評論
查看更多