錦衣盾:開源WEB應用防火牆介紹

xwaf(錦衣盾)是一款基於openresty(nginx+lua)開發的下一代web應用防火牆,首創的業務邏輯防禦引擎和機器學習引擎能夠有效對業務安全風險進行防禦,解決傳統WAF沒法對業務安全進行防禦的痛點。
jxwaf

DjangoPython3

jxwaf(錦衣盾)是一款基於openresty(nginx+lua)開發的下一代web應用防火牆,首創的業務邏輯防禦引擎和機器學習引擎能夠有效對業務安全風險進行防禦,解決傳統WAF沒法對業務安全進行防禦的痛點。內置的語義分析引擎配合機器學習引擎能夠避免傳統WAF規則疊加太多致使速度變慢的問題,同時加強檢測精準性(低誤報、低漏報)。
Feature 功能

        基礎攻擊防禦
            SQL注入攻擊
            XSS攻擊
            目錄遍歷漏洞
            命令注入攻擊
            WebShell上傳防禦
            掃描器攻擊等…
        機器學習
            支持向量機(SVM)
        語義分析
            SQL注入語義分析
            XSS攻擊語義分析
        業務邏輯漏洞防禦
            註冊保護
            登錄保護
            活動防刷
            短信炸彈防禦
            越權漏洞防禦
            短信驗證碼校驗繞過防禦等…
        高級CC攻擊防禦
            可針對不一樣URL,不一樣請求參數單獨設置不一樣防禦變量
            人機識別
        Cookie安全防禦
        前端參數加密防禦
            支持AES加解密
            支持DES加解密
            支持RSA加解密
        透明部署動態口令功能
            可對後臺管理系統和網站用戶提供動態口令(OTP)功能
        檢測緩存功能
            對已通過WAF檢測請求進行MD5緩存,提升檢測效率
        支持協議
            HTTP/HTTPS
        性能&可靠性
            毫秒級響應,請求處理時間小於一毫秒
            支持主備部署,避免單點故障
            支持集羣反向代理模式部署,可處理超大數據流量
            支持嵌入式部署,無需改變原有網絡拓撲結構
            支持雲模式部署
        管理功能
            基礎配置
            規則配置
            報表展現
            告警配置

Architecture 架構

jxwaf(錦衣盾)由jxwaf與jxwaf管理中心組成:

    jxwaf : 基於openresty(nginx+lua)開發
    jxwaf管理中心:http://www.jxwaf.com

Environment 環境

    jxwaf
        Centos 7
        Openresty 1.11.2.4

Install 安裝

將代碼下載到/tmp目錄,運行jxwaf_install.sh文件,jxwaf將安裝在/opt/jxwaf目錄,具體以下:

        $ cd /tmp
        $ git clone https://github.com/jx-sec/jxwaf.git
        $ cd jxwaf
        $ sh install_waf.sh

        安裝後顯示以下即安裝成功

        nginx: the configuration file /opt/jxwaf/nginx/conf/nginx.conf syntax is ok

        nginx: configuration file /opt/jxwaf/nginx/conf/nginx.conf test is successful
        訪問 http://www.jxwaf.com 並註冊帳號,在 WAF規則管理->查看官方規則組 頁面按照自身需求加載規則,以後在 WAF規則配置->WAF全局配置 頁面獲取 「WAFAPIKEY」

        修改/opt/jxwaf/nginx/conf/jxwaf/jxwafconfig.json 中的」waf_api_key」爲你本身帳號的」WAF_API_KEY」

        $ /opt/jxwaf/nginx/sbin/nginx 啓動openresty,openresty會在啓動或者reload的時候自動到jxwaf管理中心拉取用戶配置的最新規則

Docs 文檔

    JXWAF使用說明
    基於Openresty實現業務安全防禦
    基於Openresty實現透明部署動態口令功能
    WAF開發之Cookie安全防禦

Contributor 貢獻者

    chenjc 安全工程師
    jiongrizi 前端開發工程師

BUG&Requirement BUG&需求

    github 提交BUG題或需求
    QQ羣 730947092
    郵箱 jx-sec@outlook.com

Other 其餘

目前開源版本已經能夠正常使用,基礎功能和官方基礎規則均測試完成,能夠知足中小企業基本的防禦需求。

可是功能尚未所有上線,還有一些功能沒有從線下版本遷移到開源版本,如今僅上線了基礎攻擊防禦,Cookie安全防禦功能和語義分析功能。其餘功能會陸續上線,進度取決於某前端能扣出來的時間,預計年內能所有搞完。

以上是存量的功能,下面列些To do:

    經過規則配置實現機器學習數據清洗,特徵獲取,模型訓練,簡單說就是個輕量級的機器學習訓練-應用平臺,用戶只需關注最核心的特徵獲取,其餘」髒話累活」由平臺解決,下降機器學習應用門檻。目前核心功能已開發完成,與現存其餘功能整合中。
    命令執行,代碼執行等語義分析庫開發
    官方規則完善
    第三方安全應用接口整合
    業務安全防禦場景開發
    報表報警功能完善
    雲WAF系統開發

Github地址:https://github.com/jx-sec/jxwaf

JXWAF管理中心:http://www.jxwaf.com/

這個項目從最開始的構思到如今開發得七七八八,也差很少一年了。最開始搞這個項目,是由於在深度使用Modsecurity後,發現坑太多Hold不住,沒辦法我一搞滲透的也只能轉行開發WAF了,而後由於職業病的緣由,在寫的時候特別對一些容易被繞過的地方重點關注,具體體如今代碼的方方面面,這算是這款WAF的一個優勢。

接下來談談性能這塊,目前測試的結果是在1ms之內,核心模塊處理時間大概在0.001ms,得益於luajit技術,增長規則幾乎沒影響。併發的話,單臺2G 1核虛擬機測試在5000上下,我這沒資源,有興趣能夠測試配置好的實體機的性能,達到10K以上應該沒問題。按照以前用Modsecurity的經驗,單日PV一億如下的就不用考慮啥性能問題了,沒」富人命」就不用考慮」富人病」。至於併發大流量大的狀況,能夠上集羣或者自研。

簡單總結下目標用戶:

    一我的的安所有/沒預算的安所有
    有WAF需求沒WAF預算沒安全人員的公司
    給內網/線上應用上二次驗證功能
    有機器學習防禦需求
    有業務安全防禦需求
    盒子WAF扛不住,不想上雲/沒法上雲
    有高定製規則/功能需求的公司

文章就不配圖了,須要的上www.jxwaf.com查看功能

最後感謝 jsp 在內測期間提交BUG&需求,歡迎各位提交BUG&需求,有坑必填。
專欄前端

相關文章
相關標籤/搜索