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