【介紹】開源的WAF(應用防火牆)軟件有哪些?

Web應用防火牆(Web Application Firewall, WAF),通過對HTTP(S)請求進行檢測,識別並阻斷SQL注入、跨站腳本攻擊(Cross Site Scripting  xss)、網頁木馬上傳、命令/代碼注入、文件包含、敏感文件訪問、第三方應用漏洞攻擊、CC(挑戰黑洞)攻擊、惡意爬蟲掃描、跨站請求僞造等攻擊,保護Web服務安全穩定。

        2020年全球爆發新冠疫情重創經濟,5G和物聯網等新基建可能會快速崛起拉動經濟,HTTPS加密已經普及,傳統的防火牆檢測功能失效,所以對於服務器來說,部署一個WEB應用防火牆十分重要,這方面開源waf的不少,但優秀的不多,這裏筆者經過大量搜索,整理出十大開源waf供大家學習。(可以幫企業節約現金成本,但實際學習和採坑成本很大)

感興趣的可以推薦折騰:開源框架openresty+nginx 實現web應用防火牆 lua防護規則動態更新(WAF)

                                                                  (通常情況下的WAF應用防護示意圖)

1、ModSecurity
ModSecurity已經有10多年的歷史,最開始是一個Apache的安全模塊,後來發展成爲開源的、跨平臺的WEB應用防火牆。它可以通過檢查WEB服務接收到的數據,以及發送出去的數據來對網站進行安全防護。
最厲害的是著名安全社區OWASP,開發和維護着一套免費的應用程序保護規則,這就是所謂OWASP的ModSecurity的核心規則集(即CRS),幾乎覆蓋瞭如SQL注入、XSS跨站***腳本、DOS等幾十種常見WEB***方法。
項目地址:https://github.com/SpiderLabs/ModSecurity   (完美兼容nginx,是nginx官方推薦的WAF)

2、HiHTTPS

hihttps是一款少有完整源碼的高性能WEB應用 + MQTT物聯網防火牆,兼容ModSecurity規則並開源。特點是使用超級簡單,就一個約10M的可執行文件,但防護功能一應俱全,包括:漏洞掃描、CC &DDOS、密碼破解、SQL注入、XSS***等。
更重要的是hihttps基於機器學習的商業版本,也是免費的,由機器自動採集樣本無監督學習,自動生成對抗規則。衆所周知,阿里雲/騰訊雲等WAF非常貴,很多中小企業買不起,可以下載一個免費的hihttps試試。
項目地址:https://github.com/qq4108863/ 官網:http://www.hihttps.com

3、 Naxsi
Naxsi 是一款基於Nginx模塊的防火牆,有自己規則定義,崇尚低規則。項目由C語言編寫,需要熟練掌握Nginx源碼的才能看懂。
項目地址:https://github.com/nbs-system/naxsi

4、OpenWAF

OpenWAF是基於Nginx_lua?API分析HTTP請求信息,由行爲分析引擎和規則引擎兩大功能引擎構成,其中規則引擎主要對單個請求進行分析,行爲分析引擎主要負責跨請求信息追蹤。
規則引擎的啓發來自modsecurity及freewaf(lua-resty-waf),將ModSecurity的規則機制用lua實現。
基於規則引擎可以進行協議規範,自動工具,SQL注入,跨站***,信息泄露,異常請求等安全防護,支持動態添加規則,及時修補漏洞。缺點是複雜,不適合不熟悉Nginx和lua語言的開發者。
項目地址:https://github.com/titansec/OpenWAF

5、FreeWAF
FeeWAF是一款開源的WEB應用防火牆產品,其命名爲FreeWAF,它工作在應用層,對HTTP進行雙向深層次檢測:對 Internet進行實時防護,避免***利用應用層漏洞非法獲取或破壞網站數據,可以有效地抵禦***的各種***,如SQL注入、XSS、CSRF***、緩衝區 溢出、應用層DOS/DDOS***等;同時,對WEB服務器側響應的出錯信息、惡意內容及不合規格內容進行實時過濾,避免敏感信息泄露,確保網站信息的可靠性。但項目已經很久沒更新了。

6、ESAPI WAF
這是OWASP?ESAPI 項目提供的一個開源WAF,基於J2EE實現,其主要利用XML的配置方式驅動防火牆。安裝時,在WEB.xml中將ESAPIWEBApplicationFirewallFilter配置爲filter,在應用程序之前和之後處理輸入和輸入。

7、unixhot
unixhot是使用Nginx+Lua實現自定義WAF,一句話描述,就是解析HTTP請求(協議解析模塊),規則檢測(規則模塊),做不同的防禦動作(動作模塊),並將防禦過程(日誌模塊)記錄下來,非常簡單。
項目地址:https://github.com/unixhot/waf   類似的還有LuaWAF(社區正在建設中)

8、Java WAF
用Java開發的WAF很少,我們發現一個使用Java開發的API Gateway,由於WAF構建在開源代理LittleProxy之上,所以說WAF底層使用的是Netty。功能上支持安全攔截、各種分析檢測、腳本(沙箱)、流控/CC防護等。不會C語言,是Java愛好者的福音。
項目地址:https://github.com/chengdedeng/waf

9、X-WAF
X-WAF是一款適用中、小企業的雲WAF系統,讓中、小企業也可以非常方便地擁有自己的免費雲WAF。核心基於openresty + lua開發,waf管理後臺:採用golang + xorm + macrom開發的,支持二進制的形式部署。
項目地址:https://github.com/xsec-lab/x-waf

10、VeryNginx 
VeryNginx 也是基於?lua_Nginx_module(openrestry)?開發,實現了高級的防火牆、訪問統計和其他的一些功能。 集成在 Nginx 中運行,擴展了 Nginx 本身的功能,並提供了友好的 WEB 交互界面。
項目地址:https://github.com/alexazhou/VeryNginx/

【其他免費免安裝的WAF】

GoodWAF、CloudFlare和ShareWAF(都需要實名認證)。商業WAF國內雲廠商和第三方中立廠商很多在此就不一一列舉。

小結:hihttps和modsecurity 是最好的開源waf,github搜索。 好的可視化的沒有,因爲涉及到定製開發。
傳統的WAF規則已經很難對付未知漏洞和未知***,商業waf已經從傳統特徵工程轉向機器學習自動防禦,這方面的開源waf幾乎沒有,hihttps是唯一一個免費並且支持機器學習的waf,未來WEB安全必然是AI的天下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章