(文章來源:百家號)
WAF是英文"Web Application Firewall"的縮寫,中文意思是"Web應用防火墻",也稱為"網站應用級入侵防御系統(tǒng)"。WAF是集WEB防護、網頁保護、負載均衡、應用交付于一體的WEB整體安全防護設備。
WAF需要部署在Web服務器的前面,串行接入,不僅在硬件性能上要求高,而且不能影響Web服務,所以HA功能、Bypass功能都是必須的,而且還要與負載均衡、Web Cache等Web服務器前的常見的產品協調部署。WAF的主要技術是對入侵的檢測能力,尤其是對Web服務入侵的檢測能力。常見的實現形式包括代理服務、特征識別、算法識別、模式匹配。
代理方式本身是一種安全網關,基于會話的雙向代理,中斷了用戶與服務器的直接連接,適用于各種加密協議,這也是Web的Cache應用中最常用的技術。代理方式有效防止入侵者的直接進入,對DDOS攻擊可以抑制,對非預料的“特別”行為也有所抑制。
識別出入侵者是防護它的前提。特征就是攻擊者的“指紋”,如緩沖區(qū)溢出時的Shellcode,SQL注入中常見的“真表達(1=1)”。應用信息沒有“標準”,但每個軟件、行為都有自己的特有屬性,病毒與蠕蟲的識別就采用此方式,麻煩的就是每種攻擊都自己的特征,數量比較龐大,多了也容易相象,誤報的可能性也大。雖然目前惡意代碼的特征指數型地增長,安全界聲言要淘汰此項技術,但目前應用層的識別還沒有特別好的方式。
特征識別有缺點,人們在尋求新的方式。對攻擊類型進行歸類,相同類的特征進行模式化,不再是單個特征的比較,算法識別有些類似模式識別,但對攻擊方式依賴性很強,如SQL注入、DDOS、XSS等都開發(fā)了相應的識別算法。算法識別是進行語義理解,而不是靠“長相”識別。IDS中“古老”的技術,把攻擊行為歸納成一定模式,匹配后能確定是入侵行為。協議模式是其中簡單的,是按標準協議的規(guī)程來定義模式,行為模式就復雜一些。
WAF最大的挑戰(zhàn)是識別率,這并不是一個容易測量的指標,因為漏網進去的入侵者,并非都大肆張揚,比如給網頁掛馬,很難察覺進來的是哪一個,不知道當然也無法統(tǒng)計。對于已知的攻擊方式,可以談識別率;對未知的攻擊方式,你也只好等他自己“跳”出來才知道。
WAF從形態(tài)上可分為硬件WAF、WAF防護軟件和云WAF。硬件WAF,通常串行部署在Web服務器前端,用于檢測、阻斷異常流量。通過代理技術代理來自外部的流量,并對請求包進行解析,通過安全規(guī)則庫的攻擊規(guī)則進行匹配,如成功匹配規(guī)則庫中的規(guī)則,則識別為異常并進行請求阻斷。
軟件WAF,通常部署在需要防護的服務器上,通過監(jiān)聽端口或以Web容器擴展方式進行請求檢測和阻斷。
云WAF,也稱WEB應用防火墻的云模式,這種模式讓用戶不需要在自己的網絡中安裝軟件程序或部署硬件設備,就可以對網站實施安全防護,它的主要實現方式是利用DNS技術,通過移交域名解析權來實現安全防護。用戶的請求首先發(fā)送到云端節(jié)點進行檢測,如存在異常請求則進行攔截否則將請求轉發(fā)至真實服務器。





