傳統防火墻與Web應用程序防火墻(WAF)的區別
前言
由于WEB應用防火墻(WAF)的名字中有“防火墻”三個字,因此很多人都會將它與傳統防火墻混淆。實際上,二者之間的有著很大的差別。傳統防火墻專注在網絡層面,提供IP、端口防護。而WAF是專門為保護基于Web的應用程序而設計的,它不像傳統的防火墻基于互聯網地址和端口號來監控和阻止數據包。WAF檢查每一個傳入的數據包的內容來檢測SQL注入、跨站點腳本、會話劫持、篡改參數或URL等類型的攻擊。
傳統防火墻與WAF之間的區別
一、直觀差異

WAF和傳統防火墻位于網絡上的不同位置。傳統防火墻位于網絡邊緣,而WAF直接位于用戶和Web服務器之間。
二、功能差異
傳統防火墻保護網絡外圍并使用協議信息過濾流量。你可以根據IP范圍、端口、ICMP(Internet控制消息協議)類型等設置允許通信的規則。它從打開連接到關閉都會監視活動。
- 優點:阻止未經授權的協議、端口和IP地址,提供VPN支持。
- 缺點:只有接受/拒絕規則,無法解密流量,在單獨部署SSL、IDS和IPS時檢查速度變慢,不擅長阻止“客戶端”攻擊,只能看到數據包頭,從而容易受到SQL注入攻擊。
WAF保護網站和API。它被配置為反向代理,并在所有HTTP(s)請求到達Web服務器之前檢查它們。它通過驗證碼測試攔截或測試不規則流量,以確保流量來自人類而不是機器人。
- 優點:可定制的規則、條件過濾、限制上傳大小、可以解密和檢查SSL流量、可以集成IDS和IPS、可以查看數據包數據。
- 缺點:誤報和漏報,不能很好地阻止零日攻擊,對公開訪問的網站沒有足夠的保護。共享服務器可能導致再次感染。
三、操作差異
WAF和傳統防火墻用于解決不同的威脅。
傳統防火墻防御用于抵御下類威脅:
- 未經授權的網絡訪問
- 中間人攻擊
- 權限提升
- 網絡層面的 DDoS 攻擊
WAF用于抵御下類威脅:
- SQL注入
- 跨站腳本(XSS)
- 跨站偽造
- 網站級別的 DDoS 攻擊
- 目錄遍歷
四、算法差異
傳統防火墻運行無狀態/有狀態檢查算法、數據包過濾算法和代理算法。WAF運行基于簽名的算法、啟發式算法和異常檢測算法。
總結
傳統防火墻的功能,主要是及時提醒和處理計算機運行中可能存在的安全風險和數據傳輸等問題,所以傳統防火墻在應用層不起作用,它主要針對的是OIS模型的第三、四層,即網絡層和傳輸層。因此,傳統防火墻自然無法理解web應用程序的編程語言,比如HTML、SQL等等,也就無法理解http會話,從而無法應對SQL注入、跨站腳本、網頁篡改等應用層的攻擊。
而Web應用防火墻是專門為保護基于WEB的應用程序而設計的,主要作用于OSI模型第七層的應用層,旨在填補傳統防火墻無法解決的安全漏洞。因此,傳統防火墻和WAF相互之間互補,往往能搭配使用。