網絡層(包過濾)防火墻[編輯]
運行在TCP/IP協議棧上。管理者首先會根據企業/組織的策略,預先設置數據包通過的規則或者采用內置規則,只有符合規則的數據包才會被允許通過。
壹般來說,由於源IP不易阻塞,通常會阻塞80/443以外的端口,以阻塞來自80/443以外端口的不必要流量。
網絡層的防火墻可以分為有狀態的和無狀態的。
狀態感知(有狀態)
狀態感知防火墻維護活動連接前後的傳輸上下文,並使用此狀態信息來加速包過濾過程。
根據需求,當前網絡連接由各種屬性描述,包括:源IP位置、目的IP位置、UDP或TCP端口號、連接的狀態階段(連接初始化、切換、數據傳輸或連接完成)。
如果數據包與現有連接不匹配,防火墻將根據規則評估該數據包是否屬於另壹個新連接。如果數據包與現有連接匹配,防火墻會根據自己建立的狀態表完成比較,這樣數據包就可以通過兩端的網絡,而不需要額外的處理。
無狀態感知(無狀態)
無狀態感知防火墻需要更少的內存,並且簡單快速地過濾通過的數據包。這樣,與查詢會話相比,無狀態感知防火墻消耗的時間更少。
這種防火墻可以處理沒有會話概念的無狀態網絡通信協議。
相反,這種防火墻無法根據通信兩端的狀態階段做出復雜的決策。
我們還可以用更寬松的方式制定防火墻規則,只要數據包不符合任何“負面規則”,就會被釋放。目前大多數操作系統和網絡設備都內置了防火墻功能。
較新的防火墻可以使用各種屬性過濾數據包,如源IP地址、源端口號、目的IP地址或端口號以及服務類型(如HTTP或FTP)。也可以通過通信協議、TTL值、域名或來源的網段等進行過濾。
應用層防火墻[編輯]
防火墻的檢查軟件界面的壹個例子記錄了IP訪問和相應的事件。
應用層防火墻運行在TCP/IP協議棧的“應用層”,使用瀏覽器或FTP時產生的數據流屬於這壹層。應用層防火墻可以攔截進出某個應用的所有數據包,攔截其他數據包(通常直接丟棄數據包)。理論上,這種防火墻可以完全阻止外部數據流入受保護的機器。
防火墻可以通過監控所有數據包並找出不符合規則的內容來阻止計算機蠕蟲或特洛伊病毒的快速傳播。其實這種方法比較復雜(因為軟件種類很多),所以大部分防火墻不會考慮這樣設計。
截至2012,所謂的下壹代防火墻(NGFW)只是“拓寬”和“深化”了檢查應用程序堆棧的能力。例如,現有的支持深度包檢測的現代防火墻可以擴展到入侵防禦系統(IPS)、用戶身份集成(用戶ID綁定到IP或MAC地址)、Web應用防火墻(WAF)。