先了解什麼是WAF,再來了解NAXSI可以做到哪些事?
WAF的全名是Web Application Firewall(簡稱:WAF),是一種網頁應用程式防火牆,主要是針對Layer 7應用層的封包進行處理。
大多數企業一般都會採用防火牆作為網路安全的第一道防線,然而在現實中,Web伺服器和應用存在各種各樣的安全問題,並隨着資安滲透技術的進步而變得更加難以預防,因為這些資安問題是普通防火牆難以檢測和阻斷的,由此才有了WAF的出現。
WAF代表了新一代的網路安全技術,用以解決諸如傳統防火牆設備束手無策的Web應用安全問題。與傳統防火牆不同,WAF工作在應用層,因此對Web應用防護具有先天的技術優勢。基於對Web應用業務和邏輯的深刻理解,WAF對來自Web應用程序客户端的各類請求進行內容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,從而對各類網站站點進行有效防護。
WAF雖然可以有效阻擋一些攻擊,然而,該設備所費不貲,並非一般企業所能負擔,因此一般企業可以考慮採用Open Source的WAF方案:NAXSI
NAXSI可以搭配Apache和Nginx來建置簡易的WAF系統,阻擋一些常見的XSS及SQL Injection攻擊。NAXSI不需要依賴類似防毒軟體的病毒碼資料庫,因此不會被未知攻集模式忽略。NAXSI模組和其他WAF之間的另一个主要差異就是只偵測GET 、PUT和 POST。
在次世代防火牆中就可以啟用NAXSI的WAF防護機制!
這裡我沒有要說明如何安裝,而是把今天練習實作的心得分享出來,讓更多企業知道除了購買昂貴的WAF設備、租用昂貴的雲端WAF服務之外,也能自己動手架一個!
目前我已經在攻擊機使用OWASP ZAP來針對NAXSI防護下的靶機進行深入掃描測試,預計掃描會需要很多天才會結束,在此先放一些相關的圖片做為參考,之後應該還會多測試幾次,若有新的心得再和大家分享~
測試時的網路架構示意圖
攻擊機使用OWASP ZAP攻擊位在次世代防火牆(啟用NAXSI WAF)後方的靶機
在次世代防火牆的Nginx流量參考
有特別設定Nginx + NAXSI的WAF機制,並使用OWASP ZAP來進行攻擊測試