Skip to content

jx-sec/jxwaf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JXWAF

介绍

JXWAF6 标准版是一款基于 AI 大模型的 Web 应用防火墙。

功能

  • 数据统计
  • 攻击事件
  • 攻击日志
  • 网站防护
    • 网站接入
    • 证书管理
  • AI防护配置
    • Web安全防护
    • AI分析记录
  • 防护配置
    • Web防护规则
    • 流量防护规则
    • IP区域封禁
    • 白名单规则
  • 防护组件
  • 节点状态

部署

环境要求

  • 服务器系统:Debian 12.x
  • 服务器最低配置:4 核 8G

一键部署

服务器 IP 地址:

  • 公网地址:47.120.63.196
  • 内网地址:172.29.198.241
# 1. 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 2. 克隆仓库
git clone https://github.com/jx-sec/jxwaf.git

# 3. 启动容器
cd jxwaf/standard
docker compose up -d

WAF 控制台地址:http://47.120.63.196:8000

配置说明

Docker Compose 文件配置

  • JXWAF_MODEL_QUERY
    是否开启 JXWAF 大模型语义缓存服务并加入群体免疫网络,值为 truefalse

    • 大模型语义缓存服务:遇到未知请求时,会先进行缓存查询,若命中则无需通过大模型进行查询,可极大节省大模型的使用成本。
    • 群体免疫网络:当其他 WAF 检测到全新的攻击 POC 时,将通过群体免疫网络将模型参数同步到本地 WAF,实时获取最新的检测能力。
  • AI_BACKUP_WAF_URL
    当大模型服务因各种原因不可用时,可通过该配置获取其他 WAF 的检测能力。由于需要转发请求到目标 WAF,可能存在数据泄露风险,请谨慎配置。

控制台 AI 防护配置

防护模式说明

与传统 WAF 非黑即白的检测模式不同,AI WAF 采用 非白即黑 的检测模式。

  • 在线学习
    根据线上业务流量训练本地模型,不进行任何处置。

  • 在线防护 - 业务优先
    遇到已知攻击流量将进行拦截;遇到未知流量会先放行,待 AI 分析出结果后,同步更新本地模型进行处理。

  • 在线防护 - 安全优先
    遇到已知攻击流量将进行拦截;遇到未知流量会先拦截,待 AI 分析出结果后,同步更新本地模型进行处理。

  • 离线防护
    对已知攻击流量和未知流量均进行拦截,本地模型不再更新。

防护效果对比

测试方式

docker run --rm --net=host ccr.ccs.tencentyun.com/jxwaf/blazehttp:latest /app/blazehttp -t http://172.30.42.104/xxx

使用长亭 blazehttp 项目提供的样本集,效果如下:

JXWAF6 标准版 - DeepSeek

  • 总样本数量:33877,成功:33877,错误:0
  • 检出率:41.03%(恶意样本总数:658,正确拦截:270,漏报放行:388)
  • 误报率:0.14%(正常样本总数:33219,正确放行:33172,误报拦截:47)
  • 准确率:98.72%((正确拦截 + 正确放行)/ 样本总数)
  • 平均耗时:28.19 毫秒

JXWAF5 - 语义分析引擎

  • 总样本数量:33877,成功:33877,错误:0
  • 检出率:26.90%(恶意样本总数:658,正确拦截:177,漏报放行:481)
  • 误报率:0.20%(正常样本总数:33219,正确放行:33153,误报拦截:66)
  • 准确率:98.39%
  • 平均耗时:43.68 毫秒

某云 WAF - 默认配置

  • 总样本数量:33877,成功:33877,错误:0
  • 检出率:40.12%(恶意样本总数:658,正确拦截:264,漏报放行:394)
  • 误报率:0.23%(正常样本总数:33219,正确放行:33143,误报拦截:76)
  • 准确率:98.61%
  • 平均耗时:43.36 毫秒

某 WAF - 官方 DEMO 配置

  • 总样本数量:33877,成功:33877,错误:0
  • 检出率:44.38%(恶意样本总数:658,正确拦截:292,漏报放行:366)
  • 误报率:0.19%(正常样本总数:33219,正确放行:33155,误报拦截:64)
  • 准确率:98.73%
  • 平均耗时:33.02 毫秒

结论:JXWAF6 标准版相比 JXWAF5 检测效果提升明显,达到商业 WAF 的检测水平。

微信公众号

欢迎关注微信公众号,后续更新与技术分享将在公众号发布。

贡献者

BUG & 需求

  • 微信:574604532(添加请备注 jxwaf)