jxwaf(锦衣盾)

JXWAF (锦衣盾)是一款基于 openresty(nginx+lua) 开发的下一代 web 应用防火墙。「 JXWAF is a next-generation web application firewall based on openresty (nginx+lua). 」

Github星跟踪图

JXWAF

Django
Python3

Introduction 介绍

jxwaf(锦衣盾)是一款开源WEB应用防火墙

Notice 通知

  • 正式版本发布
  • 新增离线部署功能
  • 新增阿里云日志服务接入功能
  • 新增HTTPS证书私钥AES加密

Feature 功能

  • Web应用攻击防护
  • CC攻击智能防护
  • 自定义规则防护
  • IP黑白名单
  • 地区封禁
  • 拦截页面自定义
  • 阿里云日志服务接入功能

Architecture 架构

jxwaf(锦衣盾)由jxwaf客户端与jxwaf管理中心组成:

  • [jxwaf客户端] : 基于openresty开发,由用户部署在自己的服务器上
  • [jxwaf管理中心]:https://www.jxwaf.com

Environment 环境

  • jxwaf
    • Centos 7
    • Openresty 1.13.6.2

Install 安装 (已包含openresty安装包)

将代码下载到/tmp目录,运行install_waf.sh文件,jxwaf将安装在/opt/jxwaf目录,具体如下:

  1. $ cd /tmp
  2. $ git clone https://github.com/jx-sec/jxwaf.git
  3. $ cd jxwaf
  4. $ sh install_waf.sh
  5. $ 运行后显示类似信息即安装成功:
nginx: the configuration file /opt/jxwaf/nginx/conf/nginx.conf syntax is ok

nginx: [alert] [lua] waf.lua:566: init(): jxwaf init success,waf node uuid is 99d977e8-401b-4ede-a427-94f7170638ce

nginx: configuration file /opt/jxwaf/nginx/conf/nginx.conf test is successful
  1. 访问 https://www.jxwaf.com 并注册账号,在全局配置页面获取"api key"和"api password"
  2. $ cd tools
  3. $ python jxwaf_init.py --api_key=a2dde899-96a7-40s2-88ba-31f1f75f1552 --api_password=653cbbde-1cac-11ea-978f-2e728ce88125
  4. api_key 为全局配置页面中"api key"的值,api_password为"api password"的值,运行完成后,显示类似信息即安装成功
config file:  /opt/jxwaf/nginx/conf/jxwaf/jxwaf_config.json
config result:
init success,access_id is a20be899-96a6-40b2-88ba-32f111111111,access_secret is a42ca0ca-80b5-8e4b-f250-3dc309cccccc
auth result:
try to connect jxwaf server auth api_key and api_password,result is True
  1. $ /opt/jxwaf/nginx/sbin/nginx
  2. 启动openresty,openresty会在启动或者reload的时候自动到jxwaf管理中心拉取用户配置的最新规则,之后会定期同步配置,周期可在全局配置页面设置。

Usage 使用

使用详情请参考文档
https://docs.jxwaf.com

TODO 开发计划

  • OTP防护功能发布
  • API安全防护功能发布
  • 业务安全防护功能发布

Articles 文章

更多文章请关注公众号 JXWAF

Contributor 贡献者

  • chenjc 负责WAF引擎开发
  • jiongrizi 负责管理中心前端开发,人机识别功能开发,小程序JXWAF助手开发
  • thankfly 负责日志,大数据分析平台及机器学习平台开发

BUG&Requirement BUG&需求

  • github 提交BUG或需求
  • QQ群 730947092
  • 邮箱 jx-sec@outlook.com
  • 微信/QQ 574604532 添加请备注 jxwaf

Thanks 致谢

  • P4NY(p4ny@qq.com):发现SQL语义识别引擎一处绕过漏洞
  • zhutougg(github):发现上传绕过漏洞
  • Neo(236309539): 发现SQL语义识别引擎一处绕过漏洞
  • 1249648969(QQ号):发现openresty通用绕过
  • kulozzzz(Github): 对比测试JXWAF与某厂商语义引擎,发现XSS绕过

主要指标

概览
名称与所有者jx-sec/jxwaf
主编程语言Python
编程语言Shell (语言数: 1)
平台Linux
许可证GNU General Public License v2.0
所有者活动
创建于2017-12-13 09:45:46
推送于2025-06-13 09:34:43
最后一次提交2025-06-13 17:34:42
发布数17
最新版本名称v4.5 (发布于 )
第一版名称v3.0 (发布于 )
用户参与
星数1.2k
关注者数55
派生数263
提交数459
已启用问题?
问题数57
打开的问题数0
拉请求数6
打开的拉请求数0
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?