盤點(diǎn) 2023 十大免費(fèi)開源 WAF
WAF 是 Web Application Firewall 的縮寫,也被稱為 Web 應(yīng)用防火墻。區(qū)別于傳統(tǒng)防火墻,WAF 工作在應(yīng)用層,對基于 HTTP/HTTPS 協(xié)議的 Web 系統(tǒng)有著更好的防護(hù)效果,使其免于受到黑客的攻擊。
近幾年經(jīng)濟(jì)增速開始放緩,科技企業(yè)的成本意識有所增強(qiáng),安全支出更加理性,這使得國內(nèi)的開源安全項(xiàng)目得到了一定發(fā)展,從 github waf 相關(guān) topic 的活躍度來看,排名靠前的國產(chǎn)項(xiàng)目超過了海外項(xiàng)目。
在互聯(lián)網(wǎng)上公開能找到資料的 WAF 項(xiàng)目少說也有幾千個,但其中絕大部分偏實(shí)驗(yàn) Demo 的性質(zhì),工程性不足,缺少部署案例,沒有經(jīng)歷過大規(guī)模流量的驗(yàn)證,實(shí)際能稱得上產(chǎn)品的項(xiàng)目不到百分之一。翻閱了大量資料,對這幾十款 WAF 產(chǎn)品進(jìn)行實(shí)際部署測試后,我選取了其中十個具有代表意義的項(xiàng)目,下文將逐一進(jìn)行介紹。
評價(jià) WAF 的常用指標(biāo)
作為網(wǎng)站管理員,應(yīng)該如何選擇一款適合自己的 WAF,以下是幾個最常關(guān)注的指標(biāo)
- 防護(hù)效果:主要是兩個維度,能不能防住攻擊,會不會影響普通用戶
- 技術(shù)先進(jìn)性:防護(hù)引擎的技術(shù)競爭力,是否具備對抗高級攻擊的能力
- 項(xiàng)目質(zhì)量:本文將以功能完整性、開源代碼質(zhì)量、文檔完整性等角度作為評價(jià)依據(jù)
- 社區(qū)認(rèn)可度:反映了項(xiàng)目在用戶社區(qū)中的聲譽(yù)和影響力,本文將以 GitHub Star 數(shù)作為評價(jià)依據(jù)
- 社區(qū)活躍度:是潛力的體現(xiàn),活躍度越高發(fā)展越快,本文將以社區(qū)用戶的參與度和作者維護(hù)項(xiàng)目的積極性作為評價(jià)依據(jù)
項(xiàng)目清單
先來看綜合評分表
項(xiàng)目名稱 | 開發(fā)者 | 綜合評分 |
ModSecurity | SpiderLabs | ?????????? |
雷池社區(qū)版 | 長亭科技 | ???????? |
coraza | coraza | ???????? |
南墻 | 友安科技 | ?????? |
JANUSEC | JANUSEC | ?????? |
VeryNginx | loveshell | ???? |
httpwaf | 閑人 | ???? |
錦衣盾 | jx-sec | ?? |
NGX_WAF | ADD-SP | ?? |
NAXSI | NBS SYSTEM | ?? |
ModSecurity
主頁:https://www.modsecurity.org/
ModSecurity 是老牌開源 WAF 引擎,使用群體廣,早年只適用于 Apache,在 2.X 重構(gòu)后目前也可以支持 IIS 和 Nginx。作為 WAF 引擎,相比一體化的 WAF 項(xiàng)目,需要二次開發(fā)才能試用,對使用者來說成本略高。ModSecurity 被不少其他開源 WAF 作為核心引擎所集成,在開源社區(qū)認(rèn)可度高,實(shí)際防護(hù)以正則規(guī)則為主,覆蓋相對全面,但容易被繞過,前段時間被母公司拋棄了,未來是否會繼續(xù)維護(hù)下去暫未可知。
image
- 防護(hù)效果:基礎(chǔ)檢測效果不錯,但是規(guī)則對國內(nèi)的環(huán)境不友好,容易誤報(bào)
- 技術(shù)先進(jìn)性:雖然沒有高級對抗能力,但在技術(shù)圈認(rèn)可度高,被眾多開源項(xiàng)目集成,生態(tài)即技術(shù)壁壘
- 項(xiàng)目質(zhì)量:無控制臺,項(xiàng)目完全開源,文檔豐富
- 社區(qū)認(rèn)可度:6400 star,是目前全球 star 數(shù)最高的 WAF 項(xiàng)目
- 社區(qū)活躍度:持續(xù)有更新,近一年更新過 3 個版本
雷池社區(qū)版
雷池社區(qū)版是長亭科技根據(jù)企業(yè)版雷池 Web 應(yīng)用防護(hù)系統(tǒng)提煉而來,核心檢測能力由長亭首創(chuàng)的智能語義分析算法驅(qū)動。項(xiàng)目開源了語義分析算法的核心引擎和相關(guān)安全插件,控制臺未開源。優(yōu)點(diǎn)在于防護(hù)效果好,項(xiàng)目迭代快,界面清爽好用,缺點(diǎn)在于社區(qū)版相比企業(yè)版功能較少,但能滿足 WAF 的基本需求。
image
- 防護(hù)效果:對通用漏洞和非通用漏洞的防護(hù)效果都不錯,誤報(bào)少
- 技術(shù)先進(jìn)性:核心技術(shù)是語義分析算法,相比正則規(guī)則的可對抗性更高、性能更好
- 項(xiàng)目質(zhì)量:具備 WAF 各項(xiàng)基礎(chǔ)能力,項(xiàng)目未完全開源,文檔相對完善
- 社區(qū)認(rèn)可度:1500 star,裝機(jī)量 4000+
- 社區(qū)活躍度:持續(xù)有更新,近一年更新過 15 個版本
Coraza
Coraza 是一個開源、高性能的 WAF 引擎,使用 Go 語言編寫,支持 ModSecurity SecLang 規(guī)則集,并且與 OWASP 核心規(guī)則集完全兼容,與 ModSecurity 一樣不提供界面,只作為檢測引擎,需要二次開發(fā)才能試用,有機(jī)會成為 ModSecurity 的替代品。
image
- 防護(hù)效果:基礎(chǔ)檢測能力尚可,缺少對于非通用漏洞的防護(hù)規(guī)則,容易誤報(bào)
- 技術(shù)先進(jìn)性:檢測規(guī)則依賴 LibInjection、ModSecurity、OWASP 項(xiàng)目
- 項(xiàng)目質(zhì)量:無控制臺,項(xiàng)目完全開源,文檔豐富
- 社區(qū)認(rèn)可度:1200 Star
- 社區(qū)活躍度:持續(xù)有更新,近一年更新過 4 個版本
VeryNginx
主頁:https://github.com/alexazhou/VeryNginx
VeryNginx 是一款與 Nginx 深度集成的 WAF 擴(kuò)展程序,相比其他 Nginx 擴(kuò)展,VeryNginx 是為數(shù)不多提供了控制臺的 WAF 項(xiàng)目。VeryNginx 沒有提供核心檢測引擎,規(guī)則部分依賴第三方庫。VeryNginx 在 github 有 5900 star,是國產(chǎn) WAF 項(xiàng)目中 star 數(shù)最高的項(xiàng)目,最大的問題是該項(xiàng)目年久失修,規(guī)則庫也多年不更新,項(xiàng)目基本停止維護(hù),非常可惜。
image
- 防護(hù)效果:規(guī)則簡單,具備基礎(chǔ)防護(hù)能力,但有點(diǎn)過時,規(guī)則庫 7 年未更新過
- 技術(shù)先進(jìn)性:檢測規(guī)則以來第三方的 ngx_lua_waf 項(xiàng)目
- 項(xiàng)目質(zhì)量:具備 WAF 各項(xiàng)基礎(chǔ)能力,項(xiàng)目完全開源,文檔相對完善
- 社區(qū)認(rèn)可度:5900 Star
- 社區(qū)活躍度:4 年未更新
NAXSI
主頁:[https://github.com/nbs-system/naxsi](https://github.com/nbs-system/naxsi)
NAXSI 是一款專為 Nginx 而生的 WAF 引擎,輸出形態(tài)是 Nginx 動態(tài)擴(kuò)展,編譯后修改 Nginx 配置文件即可生效。NAXSI 不提供控制臺,作為 WAF 引擎,用起來沒有 ModSecurity 那么麻煩,但相比一體化的 WAF 項(xiàng)目使用成本任然較高。檢測能力依賴 LibInjection 項(xiàng)目,只支持 SQL 注入和 XSS 檢測,不推薦在線上使用。
image
- 防護(hù)效果:對通用漏洞的檢出率比較高,但誤報(bào)也高的離譜,僅支持 SQL 注入和 XSS 檢測
- 技術(shù)先進(jìn)性:核心能力依賴了 LibInjection 項(xiàng)目
- 項(xiàng)目質(zhì)量:無控制臺,項(xiàng)目完全開源,文檔豐富
- 社區(qū)認(rèn)可度:4300 Star
- 社區(qū)活躍度:偶爾有更新,基本不維護(hù)
NGX_WAF
主頁:https://github.com/ADD-SPngx_waf
NGX_WAF 是一款國產(chǎn)的 Nginx 擴(kuò)展類型的 WAF 引擎項(xiàng)目(這類的項(xiàng)目真多)。NGX_WAF 不提供控制臺,作為 WAF 引擎,用起來沒有 ModSecurity 那么麻煩,但相比一體化的 WAF 項(xiàng)目使用成本任然較高。NGX_WAF 的核心能力基于 LibInjection 和 ModSecurity,和其他引用了第三方開源規(guī)則庫的 WAF 項(xiàng)目相同,海外規(guī)則庫對國內(nèi)互聯(lián)網(wǎng)環(huán)境適配性不太好,容易誤報(bào),缺少針對非通用性漏洞的規(guī)則。
image
- 防護(hù)效果:基礎(chǔ)檢測能力尚可,缺少對于非通用漏洞的防護(hù)規(guī)則,容易誤報(bào)
- 技術(shù)先進(jìn)性:檢測規(guī)則依賴 LibInjection 和 ModSecurity 項(xiàng)目
- 項(xiàng)目質(zhì)量:無控制臺,項(xiàng)目完全開源,文檔較少
- 社區(qū)認(rèn)可度:1300 Star
- 社區(qū)活躍度:偶爾有更新,近一年更新過 2 個版本
南墻
主頁:[https://waf.uusec.com/](https://waf.uusec.com/)
南墻 WEB 應(yīng)用防火墻(簡稱:uuWAF)是有安科技推出的一款全方位網(wǎng)站防護(hù)產(chǎn)品。通過有安科技專有的WEB入侵異常檢測等技術(shù),結(jié)合有安科技團(tuán)隊(duì)多年應(yīng)用安全的攻防理論和應(yīng)急響應(yīng)實(shí)踐經(jīng)驗(yàn)積累的基礎(chǔ)上自主研發(fā)而成,缺點(diǎn)在于不能升級,有新版本要鏟掉重裝。
image
- 防護(hù)效果:對 SQL、XSS、RCE、LFI 這四種攻擊檢測效果不錯,缺少對于非通用漏洞的防護(hù)規(guī)則
- 技術(shù)先進(jìn)性:具備基礎(chǔ)的語義檢測能力,支持通過機(jī)器學(xué)習(xí)對流量建模
- 項(xiàng)目質(zhì)量:具備 WAF 各項(xiàng)基礎(chǔ)能力,項(xiàng)目不開源,文檔相對完善
- 社區(qū)認(rèn)可度:198 Star
- 社區(qū)活躍度:迭代較快,近一年更新過 7 個版本
JANUSEC
JANUSEC 是一個開源的 Web 應(yīng)用安全網(wǎng)關(guān)軟件,優(yōu)勢在于功能豐富,同時具備負(fù)載均衡、WAF、身份認(rèn)證、證書管理、堡壘機(jī)等功能,缺點(diǎn)是 WAF 的安全防護(hù)能力比較弱,只能防護(hù)一些簡單的攻擊,適合對安全防護(hù)要求不高的站長。
image
- 防護(hù)效果:WAF 防護(hù)功能比較弱,只有一些簡單的正則規(guī)則
- 技術(shù)先進(jìn)性:以正則表達(dá)式為主,無其他防護(hù)引擎,對抗高強(qiáng)度攻擊的能力不足
- 項(xiàng)目質(zhì)量:功能豐富,項(xiàng)目開源,文檔豐富
- 社區(qū)認(rèn)可度:1000 Star
- 社區(qū)活躍度:持續(xù)有更新,近一年更新過 4 個版本
HTTPWAF
主頁:https://github.com/httpwaf/httpwaf2.0
HTTPWAF 官方號稱是一款真正有 web 管理后臺,并且永久免費(fèi)的 web 應(yīng)用防火墻,既支持直接部署在 WEB 服務(wù)器上,又可以獨(dú)立部署保護(hù)后端服務(wù)器。在免費(fèi) WAF 界算是功能很豐富的項(xiàng)目,基礎(chǔ)檢測能力還可以,缺乏對抗高強(qiáng)度攻擊的能力。作為免費(fèi)產(chǎn)品,源碼、文檔、安裝包均沒有公開提供,要加微信獲取。
image
- 防護(hù)效果:基礎(chǔ)防護(hù)能力還可以,缺少對非通用漏洞的檢測規(guī)則
- 技術(shù)先進(jìn)性:資料很少,做不出判斷
- 項(xiàng)目質(zhì)量:功能豐富,交互還不錯,但是代碼和文檔都沒有開放
- 社區(qū)認(rèn)可度:65 Star
- 社區(qū)活躍度:沒有太多社區(qū)化的內(nèi)容
錦衣盾
錦衣盾(JXWAF)是一款基于 OpenResty 開發(fā)的下一代 Web 應(yīng)用防火墻,獨(dú)創(chuàng)的業(yè)務(wù)邏輯防護(hù)引擎和機(jī)器學(xué)習(xí)引擎可以有效對業(yè)務(wù)安全風(fēng)險(xiǎn)進(jìn)行防護(hù),解決傳統(tǒng) WAF 無法對業(yè)務(wù)安全進(jìn)行防護(hù)的痛點(diǎn)。
image
- 防護(hù)效果:基礎(chǔ)防護(hù)能力較弱,對非通用漏洞的檢測效果不太好,誤報(bào)有點(diǎn)嚴(yán)重
- 技術(shù)先進(jìn)性:規(guī)則簡單,對抗高強(qiáng)度攻擊的能力不足
- 項(xiàng)目質(zhì)量:功能比較少,交互不太好用,項(xiàng)目開源,代碼質(zhì)量不高,文檔基本完善
- 社區(qū)認(rèn)可度:965 Star
- 社區(qū)活躍度:持續(xù)有更新,近一年更新過 1 個版本
原文地址:https://stack.chaitin.com/techblog/detail?id=115