作為一個(gè)防火墻管理員,你可能主要考慮的是如何控制外部用戶訪問你的內(nèi)部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)中用戶訪問外部網(wǎng)絡(luò),你花了大量的時(shí)間來配置防火墻策略,讓用戶只能訪問你想讓他們?cè)L問的、連接到你想讓他們連接到的服務(wù)器、下載你允許他們下載的內(nèi)容,并且只是你在想讓他們進(jìn)行訪問的時(shí)間內(nèi)進(jìn)行訪問。
訪問控制是防火墻的實(shí)質(zhì),也是最重要的東西。如果你沒有訪問控制,你將不會(huì)有任何控制的權(quán)力。你必須具有允許或拒絕VPN連接、允許或拒絕遠(yuǎn)程桌面連接、允許或拒絕訪問Web服務(wù)器、允許或拒絕傳輸文件的能力等等。你同樣需要控制用戶/用戶組的權(quán)力,這樣可以只是讓你允許的用戶進(jìn)行訪問。
你的防火墻具有增強(qiáng)你的訪問控制的能力,因?yàn)樗哂腥客ㄟ^它建立連接的信息。ISA防火墻可以識(shí)別網(wǎng)絡(luò)層、傳輸層和應(yīng)用層的信息,然后基于你創(chuàng)建的防火墻策略來允許或者拒絕他們;但是常規(guī)的硬件防火墻只是可以識(shí)別網(wǎng)絡(luò)層和傳輸層的信息,不能對(duì)應(yīng)用層的信息進(jìn)行識(shí)別。
SSL隧道的威脅
但是,當(dāng)你的防火墻遇到加密的通信時(shí),它們會(huì)怎么樣呢?我們以遠(yuǎn)程客戶訪問內(nèi)部網(wǎng)絡(luò)中的OWA站點(diǎn)為例:一個(gè)常規(guī)的硬件防火墻(如PIX或者Netscreen),接受到一個(gè)進(jìn)入TCP端口443的連接,此硬件防火墻上的一個(gè)ACL允許進(jìn)入的連接,然后將其轉(zhuǎn)發(fā)到內(nèi)部網(wǎng)絡(luò)中的OWA站點(diǎn)。
發(fā)起遠(yuǎn)程訪問的OWA客戶端和OWA站點(diǎn)之間協(xié)商建立一個(gè)加密的SSL連接。此時(shí),通過硬件防火墻的所有數(shù)據(jù)現(xiàn)在都是加密的,硬件防火墻不能監(jiān)視到SSL隧道中的內(nèi)容。
當(dāng)OWA上的黑客或者蠕蟲病毒通過加密的SSL隧道對(duì)OWA服務(wù)器執(zhí)行注入攻擊時(shí),常規(guī)的狀態(tài)過濾硬件防火墻將不會(huì)阻止,只是認(rèn)為“這是一個(gè)訪問內(nèi)部OWA服務(wù)器的SSL連接,我已經(jīng)允許了它,祝它好運(yùn)”。呵呵,接下來,你可能需要花一個(gè)星期的時(shí)間來修復(fù)你的Exchange服務(wù)。
這明顯的不是好的安全情況,但是事實(shí)上確實(shí)如此。在這種情況下,你失去了對(duì)訪問的控制,因?yàn)槟愕脑L問策略對(duì)加密隧道的內(nèi)容無效,你的硬件防火墻無法控制進(jìn)入的加密連接的內(nèi)容。
任何人都可以使用HTTP(S)隧道
可能OWA的例子讓你很擔(dān)心,但是實(shí)際情況比你想像的還要嚴(yán)重。許多程序設(shè)計(jì)人員都使用HTTP隧道來封裝他們的程序,使他們的程序可以突破“限制性防火墻”的限制。所謂“限制性的防火墻”,就是只允許HTTP或者HTTPS出入。為了突破這個(gè)限制,他們將他們的程序使用的協(xié)議配置為使用HTTP頭。只要他們使用了HTTP頭,允許了HTTP/HTTPS的防火墻就會(huì)允許他們出入。
這些程序有很多,例如包含RPC over HTTP(S)的非Web應(yīng)用程序HTTP隧道、GoToMyPC程序和大量明顯設(shè)計(jì)為暗中破壞防火墻策略的HTTP隧道程序(可以用GOOGLE搜索一下,http://www.google.com/search?hl=en&ie=UTF-8&q=HTTP+tunnel)。稱之為“SSL VPNs”的程序也屬于同類,它們同樣可以使用加密的SSL隧道來越過防火墻的安全策略。所有的這些應(yīng)用程序,無論它們使用設(shè)計(jì)為增強(qiáng)活動(dòng)性,如RPC over HTTP或者暗中破壞防火墻策略(使用SSL隧道的木馬等),都具有共同的特性:為了達(dá)到越過防火墻的控制和安全性的目的,將本身的應(yīng)用協(xié)議隱藏在加密的SSL隧道之中。
就算對(duì)于沒有加密的HTTP隧道應(yīng)用程序,在阻止它們使用出站的TCP 80通道時(shí),常規(guī)的狀態(tài)過濾硬件防火墻都是無助的。與之對(duì)比的是,ISA防火墻的HTTP安全過濾器可以檢查HTTP頭的信息,然后阻止HTTP隧道連接。這是ISA防火墻對(duì)于網(wǎng)絡(luò)保護(hù)的一個(gè)主要安全性增強(qiáng)。
ISA防火墻解決了隱藏SSL加密注入的問題
在常規(guī)的狀態(tài)過濾硬件防火墻不能識(shí)別SSL隧道的內(nèi)容,因此不能阻止隱藏在SSL隧道中的應(yīng)用協(xié)議時(shí),ISA防火墻卻具有這種能力。ISA防火墻作為第三代的狀態(tài)過濾和應(yīng)用層識(shí)別防火墻,比簡(jiǎn)單的包過濾防火墻具有更高級(jí)別的應(yīng)用層安全特性。ISA防火墻可以中斷SSL連接,對(duì)SSL連接的內(nèi)容進(jìn)行檢查,然后對(duì)SSL的會(huì)話重新進(jìn)行加密,然后轉(zhuǎn)發(fā)這個(gè)連接到內(nèi)部網(wǎng)絡(luò)中對(duì)應(yīng)的SSL站點(diǎn)中。
在遠(yuǎn)程客戶訪問內(nèi)部網(wǎng)絡(luò)的OWA站點(diǎn)的例子中,我們看到常規(guī)的狀態(tài)過濾硬件防火墻對(duì)注入攻擊進(jìn)行了允許。對(duì)于我個(gè)人來說,如果采用的是常規(guī)的狀態(tài)過濾硬件防火墻,我絕不會(huì)允許遠(yuǎn)程客戶訪問內(nèi)部網(wǎng)絡(luò)中的任何資源。我個(gè)人意見是在防火墻不能對(duì)發(fā)布的OWA站點(diǎn)進(jìn)行SSL隧道注入的保護(hù)時(shí),我將不會(huì)使用OWA發(fā)布。
與常規(guī)的狀態(tài)過濾硬件防火墻對(duì)比的是,當(dāng)ISA防火墻從遠(yuǎn)程OWA客戶接受遠(yuǎn)程訪問連接時(shí),它將解密SSL隧道的通信,然后對(duì)數(shù)據(jù)包的內(nèi)容執(zhí)行應(yīng)用層狀態(tài)識(shí)別。這由HTTP安全過濾器執(zhí)行,它可以阻止許多HTTP注入攻擊(如病毒、蠕蟲和混合的攻擊)和允許你阻止SSL通信中未經(jīng)過你同意的應(yīng)用層協(xié)議。如果ISA防火墻從數(shù)據(jù)包中發(fā)現(xiàn)了可疑的或者危險(xiǎn)的信息,那么連接將被丟棄。如果連接是干凈的和無害的,那么ISA防火墻將數(shù)據(jù)重新加密,然后在它自己和內(nèi)部網(wǎng)絡(luò)中的目的OWA服務(wù)器間建立第二個(gè)SSL連接,再將SSL數(shù)據(jù)包轉(zhuǎn)發(fā)給內(nèi)部的OWA服務(wù)器。
注意:OWA在此只是作為舉例,任何安全Web服務(wù)器(HTTPS)都是可以保護(hù)的。
很清楚的,ISA防火墻比傳統(tǒng)的常規(guī)狀態(tài)過濾硬件防火墻提供了更高級(jí)別的安全保護(hù)。現(xiàn)在大部分攻擊都是基于應(yīng)用層的,針對(duì)網(wǎng)絡(luò)中的常見的服務(wù)或者服務(wù)器進(jìn)行。ISA防火墻作為第三代防火墻,它獨(dú)一無二的設(shè)計(jì),使它成為現(xiàn)代的應(yīng)用程序安全識(shí)別過濾的旗手,具有通用的對(duì)于安全威脅的保護(hù)能力。
我們?nèi)匀皇艿匠稣維SL連接的威脅
盡管ISA防火墻具有那么多的優(yōu)點(diǎn),也不是說ISA防火墻的管理員生活就是完美的。盡管ISA防火墻對(duì)進(jìn)入的SSL連接提供了應(yīng)用層過濾識(shí)別保護(hù),但是我們?nèi)匀粨?dān)心從內(nèi)部網(wǎng)絡(luò)中到Internet站點(diǎn)的SSL隧道連接。在這種情況中,ISA防火墻和常規(guī)狀態(tài)過濾硬件防火墻提供同等級(jí)別的保護(hù)。
ISA防火墻執(zhí)行入站的SSL橋接和應(yīng)用層狀態(tài)識(shí)別,但是它不執(zhí)行出站的SSL橋接。不過,當(dāng)ISA防火墻開發(fā)團(tuán)隊(duì)發(fā)布出站的SSL橋接的解決方案時(shí),你就可以阻止內(nèi)部用戶在加密的出站SSL連接中隱藏應(yīng)用程序,這樣就是一個(gè)完整的SSL隧道安全解決方案了。
后記
最后,我想再提醒大家,提防“SSL VPNs”,其他任何程序都可以在SSL加密連接中隱藏它們的本質(zhì)。強(qiáng)烈建議你在內(nèi)部用戶需要訪問出站的SSL站點(diǎn)時(shí),嚴(yán)格限制能夠訪問SSL站點(diǎn)的用戶/組,并且使用明確的域名來限制用戶可以使用SSL連接到的站點(diǎn)。絕不要允許使用“All Open”來允許用戶使用SSL協(xié)議訪問所有站點(diǎn),否則,用戶可以通過SSL隧道來使用所有協(xié)議,而不僅僅是HTTPS,這可能是你不想看到的。