WAF

WAF

Web套用防護系統(也稱為:網站套用級入侵防禦系統。英文:Web Application Firewall,簡稱: WAF)。利用國際上公認的一種說法:Web套用防火牆是通過執行一系列針對HTTP/HTTPS的安全策略來專門為Web套用提供保護的一款產品。

產生背景

當WEB套用越來越為豐富的同時,WEB 伺服器以其強大的計算能力、處理性能及蘊含的較高價值逐漸成為主要攻擊目標。SQL注入、網頁篡改、網頁掛馬等安全事件,頻繁發生。2007年,國家計算機網路應急技術處理協調中心(簡稱CNCERT/CC)監測到中國大陸被篡改網站總數累積達61228個,比2006年增加了1.5倍。其中,中國大陸政府網站被篡改各月累計達4234個。

企業等用戶一般採用防火牆作為安全保障體系的第一道防線。但是,在現實中,他們存在這樣那樣的問題,由此產生了WAF(Web套用防護系統)。Web套用防護系統(Web Application Firewall, 簡稱:WAF)代表了一類新興的信息安全技術,用以解決諸如防火牆一類傳統設備束手無策的Web套用安全問題。與傳統防火牆不同,WAF工作在套用層,因此對Web套用防護具有先天的技術優勢。基於對Web套用業務和邏輯的深刻理解,WAF對來自Web應用程式客戶端的各類請求進行內容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,從而對各類網站站點進行有效防護。

套用功能

審計設備

對於系統自身安全相關的下列事件產生審計記錄:

(1)管理員登入後進行的操作行為;

(2) 對安全策略進行添加、修改、刪除等操作行為;

(3) 對管理角色進行增加、刪除和屬性修改等操作行為;

(4) 對其他安全功能配置參數的設定或更新等行為。

訪問控制設備

用來控制對Web套用的訪問,既包括主動安全模式也包括被動安全模式。

架構/網路設計工具

當運行在反向代理模式,他們被用來分配職能,集中控制,虛擬基礎結構等。

WEB套用加固工具

這些功能增強被保護Web套用的安全性,它不僅能夠禁止WEB套用固有弱點,而且 能夠保護WEB套用編程錯誤導致的安全隱患。

需要指出的是,並非每種被稱為Web套用防火牆的設備都同時具有以上四種功能。

同時WEB套用防火牆還具有多面性的特點。比如從網路入侵檢測的角度來看可以把WAF看成運行在HTTP層上的IDS設備;從防火牆角度來看,WAF是一種防火牆的功能模組;還有人把WAF看作“深度檢測防火牆”的增強。(深度檢測防火牆通常工作在的網路的第三層以及更高的層次,而Web套用防火牆則在第七層處理HTTP服務並且更好地支持它。)

特點

異常檢測協定

WAF WAF

Web套用防火牆會對HTTP的請求進行異常檢測,拒絕不符合HTTP標準的請求。並且,它也可以只允許HTTP協定的部分選項通過,從而減少攻擊的影響範圍。甚至,一些Web套用防火牆還可以嚴格限定HTTP協定中那些過於鬆散或未被完全制定的選項。

增強的輸入驗證

環境部署結構圖 TecNova-WAF部署拓撲 環境部署結構圖 TecNova-WAF部署拓撲

增強輸入驗證,可以有效防止網頁篡改、信息泄露、木馬植入等惡意網路入侵行為。從而減小Web伺服器被攻擊的可能性。

及時補丁

修補Web安全漏洞,是Web套用開發者最頭痛的問題,沒人會知道下一秒有什麼樣的漏洞出現,會為Web套用帶來什麼樣的危害。WAF可以為我們做這項工作了——只要有全面的漏洞信息WAF能在不到一個小時的時間內禁止掉這個漏洞。當然,這種禁止掉漏洞的方式不是非常完美的,並且沒有安裝對應的補丁本身就是一種安全威脅,但我們在沒有選擇的情況下,任何保護措施都比沒有保護措施更好。

(附註:及時補丁的原理可以更好的適用於基於XML的套用中,因為這些套用的通信協定都具規範性。)

基於規則的保護和基於異常的保護

基於規則的保護可以提供各種Web套用的安全規則,WAF生產商會維護這個規則庫,並時時為其更新。用戶可以按照這些規則對套用進行全方面檢測。還有的產品可以基於合法套用數據建立模型,並以此為依據判斷套用數據的異常。但這需要對用戶企業的套用具有十分透徹的了解才可能做到,可現實中這是十分困難的一件事情。

狀態管理

WAF能夠判斷用戶是否是第一次訪問並且將請求重定向到默認登錄頁面並且記錄事件。通過檢測用戶的整個操作行為我們可以更容易識別攻擊。狀態管理模式還能檢測出異常事件(比如登入失敗),並且在達到極限值時進行處理。這對暴力攻擊的識別和回響是十分有利的。

其他防護技術

WAF還有一些安全增強的功能,可以用來解決WEB程式設計師過分信任輸入數據帶來的問題。比如:隱藏表單域保護、抗入侵規避技術、回響監視和信息泄露保護。

編譯系統

Waf Build Tool

是基於python的開源編譯系統,

Waf is an open-source build system that is based on Python. It has a number of qualities that make it very attractive to use on our team: it is quite fast, has a very strong dependency model, and is flexible enough to support all of the custom tools and file formats that are used in our build process.

相關詞條

相關搜尋

熱門詞條

聯絡我們