比較應(yīng)用層防火墻的優(yōu)缺點(diǎn)
眾所周知,應(yīng)用防火墻或代理確實(shí)有優(yōu)于包過濾型和全狀態(tài)包檢測(cè)型(stateful packet inspection)防火墻的地方。雖然這些類型的防火墻可以防止各種網(wǎng)絡(luò)層的攻擊,但它們卻無法阻擋利用大多數(shù)Web應(yīng)用程序漏洞進(jìn)行的攻擊。利用這些嚴(yán)重的漏洞,黑客們操縱URL地址就可以直接攻擊目標(biāo)網(wǎng)站。不過,這些防火墻可以通過允許或拒絕特定的應(yīng)用程序或者應(yīng)用的特定功能,實(shí)現(xiàn)很多精細(xì)化的控制。應(yīng)用防火墻還可以直接驗(yàn)證用戶身份,這意味著它允許或拒絕特定用戶發(fā)出的遠(yuǎn)程登錄命令,而其他防火墻只能控制特定主機(jī)的傳入請(qǐng)求。
應(yīng)用層防火墻可以檢測(cè)數(shù)據(jù)包的有效荷載根據(jù)這些實(shí)際內(nèi)容作出相應(yīng)決定,還能提供更好的內(nèi)容過濾能力。它們還可以審查完整的網(wǎng)絡(luò)數(shù)據(jù)包,而不僅僅是網(wǎng)絡(luò)地址和端口,這就使得它們有更強(qiáng)大的日志記錄功能,例如可以記錄某個(gè)特定程序發(fā)出的命令這樣的日志事件,這對(duì)于處理突發(fā)安全事件和實(shí)施安全策略提供了很有價(jià)值的信息。
既然應(yīng)用層防火墻有這么多明顯的安全優(yōu)點(diǎn),為什么它卻不是默認(rèn)選項(xiàng)呢?其主要原因在于成本和性能。如果所有進(jìn)站和出站的網(wǎng)絡(luò)流量都需要在應(yīng)用層上進(jìn)行檢測(cè),那么數(shù)據(jù)在檢測(cè)前就必須首先通過OSI的七層,而包過濾型和全狀態(tài)包檢測(cè)型防火墻在只網(wǎng)絡(luò)層對(duì)流量進(jìn)行檢測(cè)。由于防火墻對(duì)數(shù)據(jù)包進(jìn)行讀取和解析必然消耗CPU周期,尤其是解析過程特別耗費(fèi)CPU資源,所以很有可能形成網(wǎng)絡(luò)性能的障礙。這也意味著應(yīng)用層防火墻更容易受到分布式拒絕服務(wù)攻擊,因此不太適合高帶寬或?qū)崟r(shí)應(yīng)用程序。而它也很可能會(huì)成為操作系統(tǒng)里的安全漏洞。
應(yīng)用層防火墻的另一個(gè)缺點(diǎn)就是對(duì)每個(gè)協(xié)議(如HTTP、MTP等)都需要單獨(dú)的代理程序,因此它對(duì)新的網(wǎng)絡(luò)程序或網(wǎng)絡(luò)協(xié)議的支持很有局限性。雖然大多數(shù)防火墻廠商為了應(yīng)對(duì)未定義的網(wǎng)絡(luò)協(xié)議或應(yīng)用程序都提供了一般的代理程序,但在這種情況下,它往往會(huì)完全允許流量通過防火墻,而忽略很多應(yīng)用層防火墻應(yīng)做的操作。相比之下,狀態(tài)包檢測(cè)防火墻和包過濾防火墻一樣,只會(huì)對(duì)網(wǎng)絡(luò)性能造成很小的影響,因而可以實(shí)現(xiàn)對(duì)應(yīng)用程序的透明和獨(dú)立。隨著客戶端或代理數(shù)目的增加,可擴(kuò)充性也成為了的問題。應(yīng)用層防火墻通常需要網(wǎng)絡(luò)中的客戶端安裝專門的軟件或更改某些配置,以便能夠連接到應(yīng)用代理。這在一個(gè)大的網(wǎng)絡(luò)里會(huì)造成非常大的影響。為了減輕防火墻的負(fù)載壓力,在對(duì)那些及時(shí)性要求不高的服務(wù)(如e-mail服務(wù)以及大部分的網(wǎng)絡(luò)流量)進(jìn)行安全處理的時(shí)候,可能會(huì)需要對(duì)部署專門的代理服務(wù)器,從而也增加了全部費(fèi)用。
希望你能明白應(yīng)用層防火墻并不是任何人都會(huì)選擇的。那么,你問題里提到的主動(dòng)模型(positive model)是怎么一回事呢?一個(gè)應(yīng)用層防火墻有兩種途徑可以實(shí)現(xiàn),一是主動(dòng)采取措施的主動(dòng)安全模型(positive security model),另一種是通過與已知攻擊特征進(jìn)行比對(duì)來認(rèn)定攻擊行為的被動(dòng)安全模型(negative security model)。被動(dòng)安全模型的缺點(diǎn)是:它對(duì)新發(fā)現(xiàn)的攻擊沒有防御能力,對(duì)特征數(shù)據(jù)庫的更新也完全就是一項(xiàng)與時(shí)間賽跑的任務(wù)。在被動(dòng)安全模型里,不能被認(rèn)定為非法的行為就會(huì)被視為合法行為。而主動(dòng)安全模型則與之不同,它關(guān)注的是哪些操作是用戶允許的,也就是說,除了已被許可的操作,其它都是非法的。盡管主動(dòng)安全模型是更好的選擇,但是往往這類產(chǎn)品價(jià)格更高也更復(fù)雜。所以,歸結(jié)起來,需要對(duì)時(shí)間和費(fèi)用進(jìn)行權(quán)衡。
【編輯推薦】