WAF是什么?
WAF的全稱是(Web Application Firewall)即Web應用防火墻,簡稱WAF。
國際上公認的一種說法是:Web應用防火墻是通過執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。
WAF常見的部署方式:

WAF常見部署方式:WAF一般部署在Web服務器之前,用來保護Web應用。
那么WAF能做什么?
- WAF可以過濾HTTP/HTTPS協議流量,防護Web攻擊。
- WAF可以對Web應用進行安全審計
- WAF可以防止CC攻擊
- 應用交付
- CC攻擊:通過大量請求對應用程序資源消耗最大的應用,如WEB查詢數據庫應用,從而導致服務器拒絕服務 ,更詳細CC攻擊介紹:
- 應用交付:實際上就是指應用交付網絡(Application Delivery Networking,簡稱ADN),它利用相應的網絡優化/加速設備,確保用戶的業務應用能夠快速、安全、可靠地交付給內部員工和外部服務群。
從定義中可以看出應用交付的宗旨是保證企業關鍵業務的可靠性、可用性與安全性。應用交付應是多種技術的殊途同歸,比如廣域網加速、負載均衡、Web應用防火墻…針對不同的應用需求有不同的產品依托和側重。
WAF不能做什么?
- WAF不能過濾其他協議流量,如FTP、PoP3協議
- WAF不能實現傳統防護墻功能,如地址映射
- WAF不能防止網絡層的DDoS攻擊
- 防病毒
WAF與傳統安全設備的區別:
傳統安全設備特點:
- IPS:針對蠕蟲、網絡病毒、后門木馬防護,不具備WEB應用層的安全防護能力
- 傳統FW:作為內網與外網之間的一種訪問控制設備,提供3-4層的安全防護能力,不具備WEB應用層的安全防護能力
WAF特點:
WAF是專業的應用層安全防護產品。
- 具備威脅感知能力
- 具備HTTP/HTTPS深度檢測能力. 檢出率高,誤報率低/漏報率低
- 高性能
- 復雜環境下高穩定性
WAF的主要功能:
- WAF主要是通過內置的很多安全規則 來進行防御。
- 可防護常見的SQL注入、XSS、網頁篡改、中間件漏洞等OWASP TOP10攻擊性。
- 當發現攻擊后,可將IP進行鎖定,IP鎖定之后將無法訪問網站業務。
- 也支持防止CC攻擊,采用集中度和速率雙重檢測算法。
WAF的主要廠家:
- 國內:安恒,綠盟,啟明星辰
- 國外:飛塔,梭子魚,Imperva
WAF的發展歷程
WAF的發展主要經歷了IPS架構,反向代理,透明代理和流模式。

IPS架構的特點:
優勢:
- 建立在原IPS架構之上,部署簡單
- 不改變數據包內容
- 性能較好
劣勢:
- 誤報及漏報率較高
- 難以解決HTTP慢攻擊及分片攻擊
- 難以實現復雜應用,如應用交付
反向代理特點:
優勢:
- 單臂部署,不需要串接在網絡中
- 實現應用交付
- 安全防護能力好
劣勢:
- 會改變數據包內容
- 性能較差
- 需要改變網絡配置,故障恢復慢。
透明代理特點:
優勢:
- 半透明部署,不需要改變網絡配置
- 實現應用交付
- 安全防護能力好
- 故障恢復快
劣勢:
- 較少更改數據包內容
- 性能一般
流模式特點:
優勢:
- 全透明部署,不改變網絡配置/數據包內容
- 實現應用交付
- 安全防護能力好
- 故障恢復快
- 性能好
劣勢:
- 對特殊構造攻擊取決于WAF緩存大小
WAF關鍵技術
WAF的透明代理技術原理:

圖:WAF透明代理技術原理
透明代理技術基于TCP連接,網絡協議棧應用層的代理技術,實現與客戶端以及服務器雙向獨立的TCP連接建立,隔絕客戶端和服務器的直接TCP連接建立。通訊過程如下:

圖:WAF通信過程
WAF主要會更改如下數據包內容項:
- 客戶端TCP源端口
- 客戶端源MAC/服務器源MAC地址
- 長短連接協議版本
- MIME類型
Web應用安全防護策略:
基于WEB攻擊特征庫的正則表達式的匹配方式;策略規則組織成規則鏈表的方式,深度檢查請求頭部、請求提交內容,響應頭部,響應內容體等內容進行逐條匹配檢查。
主要可以防止以下攻擊:
- HTTP協議合規性
- SQL注入阻斷
- 跨站點腳本/CSRF攻擊防護
- 表單/cookie篡改防護
- DoS攻擊防護
- 敏感信息泄漏
- 目錄遍歷
- 防掃描器探測攻擊
Web應用安全審計:
WAF可以審計所有用戶訪問行為,通過對訪問記錄的深度分析,可以發掘出一些潛在的威脅情況,對于攻擊防護遺漏的請求,仍然可以起到追根索源的目的。
防CC:
CC攻擊的原理就是攻擊者控制某些主機不停地發大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。CC主要是用來消耗服務器資源的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處于100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。
防止CC攻擊的原理:
- 可定義多條DOS策略
- 可支持多個URL匹配算法
- 可支持應用層IP匹配算法
Web應交交付:
“應用交付”,實際上就是指應用交付網絡(Application Delivery Networking,簡稱ADN),它利用相應的網絡優化/加速設備,確保用戶的業務應用能夠快速、安全、可靠地交付給內部員工和外部服務群。
從定義中可以看出應用交付的宗旨是保證企業關鍵業務的可靠性、可用性與安全性。應用交付應是多種技術的殊途同歸,比如廣域網加速、負載均衡、Web應用防火墻…針對不同的應用需求有不同的產品依托和側重。
WAF一般可做的應用交付主要是通過:
- web加速與數據壓縮 優化服務器性能。
WAF的多種部署模式
WAF一般支持透明代理,反向代理,旁路監控,橋模式部署模式。
透明代理串接模式:

圖:WAF部署場景-透明代理串接模式
透明代理部署模式支持透明串接部署方式。串接在用戶網絡中,可實現即插即用,無需用戶更改網絡設備與服務器配置。部署簡單易用,應用于大部分用戶網絡中。
部署特點:
- 不需要改變用戶網絡結構,對于用戶而言是透明的
- 安全防護性能強
- 故障恢復快,可支持Bypass
透明代理串接模式是采用最多的部署模式,防御效果好。
反向代理模式:
反向代理又分為兩種模式,反向代理(代理模式)與反向代理(牽引模式)。
代理模式:

圖:WAF部署場景-反向代理(代理模式)
WAF采用反向代理模式以旁路的方式接入到網絡環境中,需要更改網絡防火墻的目的映射表,網絡防火墻映射WAF的業務口地址,將服務器的IP地址進行隱藏。
即在圖中,當外網去訪問www.test.com時,會解析到110.1.1.1。在網絡防火墻FW上,會通過nat-server技術,將110.1.1.1外網地址解析為192.168.1.1的內網地址。而192.168.1.1為WAF的業務口地址,WAF會去訪問后端服務器192.168.1.100,將包返回給WAF,WAF再返回給用戶,起到了代理作用,隱藏了真正的Web服務器地址。
部署特點:
- 可旁路部署,對于用戶網絡不透明,防護能力強
- 故障恢復時間慢,不支持Bypass,恢復時需要重新將域名或地址映射到原服務器。
- 此模式應用于復雜環境中,如設備無法直接串接的環境。
- 訪問時需要先訪問WAF配置的業務口地址。
- 支持VRRP主備
牽引模式:

圖:WAF部署場景-反向代理(牽引模式)
WAF采用反向代理模式以旁路的方式接入到網絡環境中,需要在核心交換機上做策略路由PBR,將客戶端訪問服務器的流量牽引到WAF上,策略路由的下一跳地址為WAF的業務口地址。
部署特點:
- 可旁路部署,對于用戶網絡不透明。
- 故障恢復時間慢,不支持Bypass,恢復時需要刪除路由器策略路由配置。
- 此模式應用于復雜環境中,如設備無法直接串接的環境。
- 訪問時仍訪問網站服務器
旁路監控模式:

圖:WAF部署場景-旁路監控模式
采用旁路監聽模式,在交換機做服務器端口鏡像,將流量復制一份到WAF上,部署時不影響在線業務。在旁路模式下WAF只會進行告警而不阻斷。
透明橋模式:

圖:WAF部署場景-透明橋模式
透明橋模式是真正意義上的純透明,不會改變更改數據包任何內容,比如源端口、TCP序列號,橋模式不跟蹤TCP會話,可支持路由不對稱環境。
WAF可靠性部署-透明代理下的HA主備模式:

圖:WAF部署場景-透明代理下的HA主備模式
雙機HA模式下,WAF工作于Active,Standby的模式,即其中一臺WAF處于檢測防護模式時,另一臺為備用,不進行工作。當主WAF出現故障,或者與主WAF連接的上下行鏈路出現故障時,備用的WAF將協商進入檢測防護模式。
- 流量的切換:根據流量來進行判斷,從哪邊來的流量走哪邊。
- 當兩邊同時有流量的時候,需要使用主主模式,不需要心跳線。
WAF可靠性部署-反向代理下的HA主備模式:

圖:WAF部署場景-反向代理下的HA主備模式
WAF在反向代理下通過VRRP協議來協商主備關系,正常情況下只有主機工作,備機不工作,當WAF主機出現問題時,備機自動切換為主機進行工作。