複製鏈接
請複製以下鏈接發送給好友

WAF

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

WAF產生背景

WEB應用越來越為豐富的同時,WEB 服務器以其強大的計算能力、處理性能及藴含的較高價值逐漸成為主要攻擊目標。SQL注入、網頁篡改、網頁掛馬安全事件,頻繁發生。2007年,國家計算機網絡應急技術處理協調中心(簡稱CNCERT/CC)監測到中國大陸被篡改網站總數累積達61228個,比2006年增加了1.5倍。其中,中國大陸政府網站被篡改各月累計達4234個。
企業等用户一般採用防火牆作為安全保障體系的第一道防線。但是在現實中,Web服務器和應用存在各種各樣的安全問題,並隨着黑客技術的進步也變得更加難以預防,因為這些問題是普通防火牆難以檢測和阻斷的,由此產生了WAF(Web應用防護系統)。Web應用防護系統(Web Application Firewall, 簡稱:WAF)代表了一類新興的信息安全技術,用以解決諸如防火牆一類傳統設備束手無策的Web應用安全問題。與傳統防火牆不同,WAF工作在應用層,因此對Web應用防護具有先天的技術優勢。基於對Web應用業務和邏輯的深刻理解,WAF對來自Web應用程序客户端的各類請求進行內容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,從而對各類網站站點進行有效防護。

WAF應用功能

審計設備
對於系統自身安全相關的下列事件產生審計記錄:
(1)管理員登錄後進行的操作行為;
(2) 對安全策略進行添加、修改、刪除等操作行為;
(3) 對管理角色進行增加、刪除和屬性修改等操作行為;
(4) 對其他安全功能配置參數的設置或更新等行為。
用來控制對Web應用的訪問,既包括主動安全模式也包括被動安全模式。
架構及網絡設計工具
當運行在反向代理模式,他們被用來分配職能,集中控制,虛擬基礎結構等。
WEB應用加固工具
這些功能增強被保護Web應用的安全性,它不僅能夠屏蔽WEB應用固有弱點,而且 能夠保護WEB應用編程錯誤導致的安全隱患。
需要指出的是,並非每種被稱為Web應用防火牆的設備都同時具有以上四種功能。
同時WEB應用防火牆還具有多面性的特點。比如從網絡入侵檢測的角度來看可以把WAF看成運行在HTTP層上的IDS設備;從防火牆角度來看,WAF是一種防火牆的功能模塊;還有人把WAF看作“深度檢測防火牆”的增強。(深度檢測防火牆通常工作在的網絡的第三層以及更高的層次,而Web應用防火牆則在第七層處理HTTP服務並且更好地支持它。)

WAF應用特點

異常檢測協議
Web應用防火牆會對HTTP的請求進行異常檢測,拒絕不符合HTTP標準的請求。並且,它也可以只允許HTTP協議的部分選項通過,從而減少攻擊的影響範圍。甚至,一些Web應用防火牆還可以嚴格限定HTTP協議中那些過於鬆散或未被完全制定的選項。
黑客攻擊網絡或服務器的各種方法和手段 黑客攻擊網絡或服務器的各種方法和手段
增強的輸入驗證
增強輸入驗證,可以有效防止網頁篡改信息泄露、木馬植入等惡意網絡入侵行為。從而減小Web服務器被攻擊的可能性。
環境部署結構圖 TecNova-WAF部署拓撲 環境部署結構圖 TecNova-WAF部署拓撲
及時補丁
修補Web安全漏洞,是Web應用開發者最頭痛的問題,沒人會知道下一秒有什麼樣的漏洞出現,會為Web應用帶來什麼樣的危害。WAF可以為我們做這項工作了——只要有全面的漏洞信息WAF能在不到一個小時的時間內屏蔽掉這個漏洞。當然,這種屏蔽掉漏洞的方式不是萬無一失的,並且沒有安裝對應的補丁本身就是一種安全威脅,但我們在沒有選擇的情況下,任何保護措施都比沒有保護措施更好。
(附註:及時補丁的原理可以更好的適用於基於XML的應用中,因為這些應用的通信協議都具規範性。)
基於規則的保護和基於異常的保護
基於規則的保護可以提供各種Web應用的安全規則,WAF生產商會維護這個規則庫,並時時為其更新。用户可以按照這些規則對應用進行全方面檢測。還有的產品可以基於合法應用數據建立模型,並以此為依據判斷應用數據的異常。但這需要對用户企業的應用具有十分透徹的瞭解才可能做到,可現實中這是十分困難的一件事情。
狀態管理
WAF能夠判斷用户是否是第一次訪問並且將請求重定向到默認登錄頁面並且記錄事件。通過檢測用户的整個操作行為我們可以更容易識別攻擊。狀態管理模式還能檢測出異常事件(比如登陸失敗),並且在達到極限值時進行處理。這對暴力攻擊的識別和響應是十分有利的。
其他防護技術
WAF還有一些安全增強的功能,可以用來解決WEB程序員過分信任輸入數據帶來的問題。比如:隱藏表單域保護、抗入侵規避技術、響應監視和信息泄露保護。
配置規則
打開 /www/server/nginx/waf 目錄,裏面的 config.lua 文件就是waf防火牆的配置文件 [1]  。每一項的具體含義如下所示:
RulePath=”/www/server/panel/vhost/wafconf/”–waf 詳細規則存放目錄(一般無需修改)
attacklog =“on”–是否開啓攻擊日誌記錄(on 代表開啓,off 代表關閉。下同)
logdir =”/www/wwwlogs/waf/”–攻擊日誌文件存放目錄(一般無需修改)
UrlDeny=“on”–是否開啓惡意 url 攔截
Redirect=“on”–攔截後是否重定向
CookieMatch=“off”–是否開啓惡意Cookie攔截
postMatch=“off”–是否開啓 POST 攻擊攔截
whiteModule=“on”–是否開啓 url 白名單
black_fileExt={“php”,“jsp”}–文件後綴名上傳黑名單,如有多個則用英文逗號分隔。如:{“後綴名1”,“後綴名2”,“後綴名3”……}
ipWhitelist={“127.0.0.1”}–白名單 IP,如有多個則用英文逗號分隔。如:
{“127.0.0.1”,“127.0.0.2”,“127.0.0.3”……}下同
ipBlocklist={“1.0.0.1”}–黑名單 IP
CCDeny=“off”–是否開啓 CC 攻擊攔截
CCrate=“300/60”–CC 攻擊攔截閾值,單位為秒。”300/60″代表60秒內如果同一個 IP 訪問了300次則拉黑
配置文件中,RulePath 項對應的文件夾裏存放的是具體的攔截規則。文件夾下有着相關的規則文件。作用解析如下:
args –GET 參數攔截規則
blockip –無作用
cookie –Cookie攔截規則
denycc –無作用
post –POST 參數攔截規則
returnhtml –被攔截後的提示頁面(HTML
url –url 攔截規則
user-agent –UA 攔截規則
whiteip –無作用
whiteurl –白名單網址

WAF編譯系統

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.
參考資料