JXWAFJXWAF
首页
JXWAF标准版
JXWAF专业版
WebTDS
安全模型服务
GitHub
首页
JXWAF标准版
JXWAF专业版
WebTDS
安全模型服务
GitHub
  • JXWAF标准版文档

    • 产品介绍
    • 部署教程
    • 操作指南
    • API 调用
    • 性能测试报告
    • 防护能力测试报告

操作指南

规则引擎配置

规则引擎是底层通用的请求匹配机制,Web防护规则、流量防护规则、网页防篡改、名单防护等功能模块均基于此机制定义规则的触发条件。

请求内容例子

POST /waf/waf_get_domain_list?test=a&test2=b HTTP/1.1
Host: demo.jxwaf.com:8000
Content-Length: 10
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
Content-Type: application/json;charset=UTF-8
Origin: http://demo.jxwaf.com:8000
Referer: http://demo.jxwaf.com:8000/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: sessionid=ie7l7u89zeqf93syv4jvolhr0ljgngn5
Connection: close

{"page":1}

匹配参数

匹配参数选项获取数据说明
http_args:path/waf/waf_get_domain_list
http_args:query_stringtest=a&test2=b
http_args:methodPOST
http_args:src_ip1.1.1.1
http_args:raw_body{"page":1}
http_args:version1.1
http_args:schemeHTTP
http_args:raw_header获取原始 header 内容
header_args:hostdemo.jxwaf.com:8000
header_args:cookiesessionid=ie7l7u89zeqf93syv4jvolhr0ljgngn5
header_args:refererhttp://demo.jxwaf.com:8000/
header_args:user_agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
header_args:获取指定的 header 值,例如这里输入 header_args:Accept-Encoding,则返回 "gzip, deflate, br"
cookie_args:获取指定的 cookie 值,例如这里输入 cookie_args:sessionid,则返回"ie7l7u89zeqf93syv4jvolhr0ljgngn5"
uri_args:获取指定的查询字符串参数的值,例如输入 uri_args:test ,则返回 "a"
post_args:获取指定的请求体参数的值,假如请求体的内容为 page=1&number=2,则输入 post_args:number,则返回 "2"
json_post_args:获取指定的请求体参数的值,例如输入 json_post_args:page ,则返回 "1"
ctx_args:获取防护组件中用户自定义参数值
global_name_list_result:获取名单防护功能中名单的匹配结果

参数处理

参数处理选项处理说明
不处理不进行处理,获取数据为 "a",则返回"a"
小写处理获取数据为"AbcdEf",则返回"abcdef"
BASE64 解码获取数据为"QWJjZEVm",则返回"AbcdEf",如果解码失败,则返回 nil
长度计算获取数据为"AbcdEf",则返回"6"
URL 解码获取数据为"test%3Da%26test2%3Db",则返回"test=a&test2=b"
UNICODE 解码获取数据为"\u0073\u0073\u0073\u0061\u0061",则返回"sssaa"
十六进制解码获取数据为"\x61\x61\x61\x62\x62\x62",则返回"aaabbb"

匹配方式

匹配方式选项匹配说明
后缀匹配获取数据为"AbcdEf",后缀匹配"cdEf"成功,后缀匹配"aaaa"失败
包括获取数据为"AbcdEf", 包括匹配"cdE"成功,包括匹配"aaaa"失败
不包括获取数据为"AbcdEf", 不包括匹配"aaaa"成功,不包括匹配"dEf"失败
等于获取数据为"AbcdEf", 等于匹配"AbcdEf"成功,等于匹配"dEf"失败
不等于获取数据为"AbcdEf", 不等于匹配"dEf"成功,不等于匹配"AbcdEf"失败
数字大于获取数据为"6", 数字大于匹配"10"成功,数字大于匹配"4"失败。获取数据为"qqq",数字大于匹配"10"失败
数字小于获取数据为"6", 数字小于匹配"4"成功,数字小于匹配"10"失败。获取数据为"qqq",数字小于匹配"10"失败
数字等于获取数据为"6", 数字等于匹配"6"成功,数字等于匹配"10"失败。获取数据为"qqq",数字等于匹配"10"失败
数字不等于获取数据为"6", 数字不等于匹配"5"成功,数字不等于匹配"6"失败。获取数据为"qqq",数字不等于匹配"10"失败
参数存在判断判断参数是否存在,只有两个选项,参数存在 和 参数不存在

执行动作说明

以下为各模块通用的执行动作,具体可用动作因模块而异(详见各模块说明):

  • 阻断请求

拦截请求,返回默认拦截页面。

  • 拒绝响应

服务器不返回任何数据给客户端。适合 CC 防护场景,可以避免出口带宽被打满的情况。

  • 观察模式

仅记录日志不拦截,日志可以在 运营中心 -> 日志查询 中查看详情。

  • 人机识别

无交互认证:无需用户交互,通过人机识别算法快速识别当前环境是否为正常浏览器环境(可理解为 5 秒盾)。

滑块认证:在无交互认证的基础上,增加滑块验证,通过后继续无交互认证。

拼图认证:在无交互认证的基础上,增加拼图验证,通过后继续无交互认证。

选字认证:在无交互认证的基础上,增加选字验证,通过后继续无交互认证。

  • 安全防护全加白

跳过所有安全防护模块(Web 和流量),不进行检测和处置。

  • Web安全防护加白

仅跳过 Web 安全防护模块的检测。

  • 流量安全防护加白

仅跳过流量安全防护模块的检测。

  • 网络封禁

在网络层封禁攻击 IP,需设置封禁持续时间(秒)。封禁 IP 可通过 运营中心 -> 网络封禁IP名单 查看。

网站接入

进入「网站接入」页面,可查看和管理所有已接入的网站。

新增网站

域名/IP格式示例:
1.1.1.1
1.1.1.1:8000
demo.jxwaf.com
*.jxwaf.com:8000
配置项说明
域名/IP请输入IP或域名,域名支持通配符,例如 *.jxwaf.com
描述选填,网站描述信息
协议类型HTTP/HTTPS(HTTPS需提前配置SSL证书,详见证书管理)
回源地址支持IP和域名,域名需要省略 https:// 或 http://
HTTP回源端口默认 80
HTTPS回源端口默认 443
回源协议需与源站端口匹配(80→http,443→https),支持 http、https、协议跟随
负载均衡轮询或 IP_HASH(会话保持)
WAF前存在代理开启后从X-Real-IP或X-Forwarded-For获取真实IP
新建连接超时时间源站新建连接超时时间(秒),默认 5
读连接超时时间读取源站响应的超时时间(秒),默认 60
写连接超时时间发送请求到源站的超时时间(秒),默认 60

证书管理

进入「证书管理」页面,可上传和管理 SSL 证书,用于网站 HTTPS 接入。

配置项说明
证书域名必填,证书对应的域名,例如 *.jxwaf.com
证书内容必填,SSL 证书(公钥)内容
私钥内容必填,SSL 证书私钥内容

证书上传后,在「网站接入」新增或编辑网站时,选择 HTTPS 协议后即可关联已上传的证书。

防护配置

从左侧导航「防护配置」菜单进入,包含 Web安全防护 和 流量安全防护 两大类:

Web安全防护流量安全防护
Web防护引擎流量防护引擎
Web防护规则流量防护规则
网页防篡改IP区域封禁
Web白名单规则流量白名单规则

以下各章节分别介绍每个功能模块的详细配置。

Web 防护引擎

  • Web防护引擎状态:开启/关闭 AI 模型防护总开关

开启后可选择以下防护模式:

  • 模型训练:纯学习模式。通过在线蒸馏技术将 AI 大模型的检测能力继承至本地推理引擎,仅训练不处置。适用于业务上线初期的学习阶段
  • 日常防护:业务优先策略。遇到未知请求先放行,同时可结合语义分析引擎进行检测;待模型通过在线蒸馏训练完成后,以模型训练结果为准进行防护
  • 重保防护:安全优先策略。遇到未知请求先拦截,同时通过在线蒸馏实时更新本地模型,后续同类请求精准放行。适用于重保期间或高安全要求场景
  • 离线防护:仅使用本地已训练的模型进行防护,不与 AI 模型服务通信。适用于无法连接外网的隔离环境

四种防护模式的处理流程:

请求到达
  │
  ├── 模型训练 ──→ 在线蒸馏训练 ──→ 放行
  │
  ├── 日常防护 ──→ 模型已识别? ──是──→ 按模型结果处置
  │                    │
  │                   否
  │                    │
  │                   放行 → 语义分析引擎检测 → 在线蒸馏更新模型
  │
  ├── 重保防护 ──→ 模型已识别? ──是──→ 按模型结果处置
  │                    │
  │                   否
  │                    │
  │                   拦截 → 在线蒸馏更新模型
  │
  └── 离线防护 ──→ 本地推理引擎检测 ──→ 按本地模型结果处置

语义分析防护(日常防护模式下可选):

  • 开启:检测到攻击后拦截
  • 观察:仅记录日志不拦截
  • 关闭:不使用语义分析防护

AI服务提供商:

  • JXWAF:由JXWAF提供AI模型服务,用户可免费使用

防护状态说明:

开启状态下,检测到攻击会返回默认拦截页面。观察状态下,仅记录日志不拦截,日志可以在 运营中心 -> 日志查询 中查看详情

Web 防护规则

通过自定义规则匹配请求,实现对特定 URL、参数、请求头的精准防护。

规则支持以下元素:

  • 规则名称:规则唯一标识
  • 规则描述:描述规则用途
  • 规则匹配:规则匹配条件
  • 执行动作:阻断请求、观察模式

配置示例:禁止访问 /admin 目录,执行动作为阻断请求。

网页防篡改

  • 规则名称:规则唯一标识
  • 规则描述:描述规则用途
  • 规则匹配:规则匹配条件
  • 页面地址:输入需要防篡改防护的页面地址,例如 https://www.jxwaf.com,点击获取按钮即可获取页面内容
  • 页面内容:通过页面地址获取到的页面内容,可以人工进行调整,后续请求直接返回该内容,不进行回源获取
  • 内容类型:设置返回内容的 Content-Type

当规则匹配成功后,WAF 会直接返回已缓存的页面内容,不会回源获取,从而防止页面被篡改。

Web 白名单规则

对特定请求跳过Web安全防护检测

  • 规则名称:规则唯一标识
  • 规则描述:描述规则用途
  • 规则匹配:规则匹配条件
  • 执行动作:Web安全防护加白(仅跳过 Web 安全防护模块)、观察模式

配置示例:对公司内网 IP 192.168.1.0/24 的请求执行 Web安全防护加白,跳过检测。

流量防护引擎

  • 流量防护引擎状态:开启/关闭流量防护引擎总开关
  • 防护预案:日常观察 / 日常防护 / 攻击防护 / 紧急防护

防护预案说明:

  • 日常观察:仅记录日志不处置,适用于观察阶段的业务
  • 日常防护:对明显攻击进行处置,平衡安全与业务可用性
  • 攻击防护:严格处置,适用于正在遭受攻击的场景
  • 紧急防护:最严格策略,适用于业务已被攻击且不可用的紧急情况

以下各防护子模块可独立开启/关闭:

IP访问限制

  • IP访问限制:开启/关闭
  • 触发条件:统计时间 xx 秒内,同一 IP 请求次数 > xx 次
  • 执行动作:对该 IP 执行处置,持续时间 xx 秒

IP数量限制

  • IP数量限制:开启/关闭
  • 触发条件:统计时间 xx 秒内,访问的独立 IP 数 > xx 个
  • 执行动作:对超出限制的新访问 IP 执行处置

域名访问限制

  • 域名访问限制:开启/关闭
  • 触发条件:统计时间 xx 秒内,对同一域名的请求次数 > xx 次
  • 执行动作:对超出限制的请求执行处置

SSL指纹防护

  • SSL指纹防护:开启/关闭
  • 触发条件:检测到非浏览器 SSL 指纹(脚本、爬虫或自动化工具等)
  • 执行动作:对非浏览器 SSL 指纹的访问执行处置

仅对 HTTPS 请求生效。

无差别紧急防护

  • 无差别紧急防护:开启/关闭
  • 触发条件:所有请求生效
  • 执行动作:对所有请求执行处置

各子模块中可选的执行动作类型,详见 执行动作说明。

流量防护规则

自定义流量防护规则,支持通过匹配条件筛选请求,并按统计实体进行频率控制。

  • 规则名称:规则唯一标识
  • 规则描述:描述规则用途
  • 规则匹配:设置匹配条件,不开启则对所有请求生效
  • 统计对象:统计攻击实体,如 IP、Cookie 中的 session 等
  • 统计时间(秒):统计时间窗口
  • 请求次数超过:触发处罚的阈值
  • IP处罚方式:阻断请求 / 拒绝响应 / 人机识别 / 网络封禁 / 观察模式
  • IP处罚持续时间:处罚持续时间(秒)

配置例子:

规则匹配      关闭
统计对象      http_args:src_ip + http_args:path
统计时间(秒) 60
请求次数超过   100
IP处罚方式     阻断请求
IP处罚持续时间 3600

同一 IP 地址针对同一个 URI,在 60 秒内发起超过 100 次请求后,将被阻断 3600 秒。

如果同一 IP 访问不同的 URI,在 60 秒内发起超过 100 次请求,则不符合规则匹配条件,不会触发处罚。

IP 区域封禁

  • IP区域封禁状态:开启/关闭
  • 匹配模式:白名单模式(仅允许列表内区域访问)/ 黑名单模式(禁止列表内区域访问)
  • 名单区域:选择对应的国家或地区
  • 执行动作:阻断请求 / 拒绝响应 / 观察模式 / 人机识别

例如开启白名单模式并选择「中国大陆」,则非中国大陆的 IP 访问将被处置。

流量白名单规则

对特定请求跳过流量安全防护检测:

  • 规则名称:规则唯一标识
  • 规则描述:描述规则用途
  • 规则匹配:设置匹配条件
  • 执行动作:流量安全防护加白(仅跳过流量安全防护模块)、观察模式

配置示例:对搜索引擎爬虫 IP 段 66.249.0.0/16 的请求执行流量安全防护加白,避免误限速。

名单防护

名单防护可创建自定义名单,用于在防护规则中作为匹配条件使用。

名单管理

  • 名单名称:名单的唯一标识
  • 名单描述:名单用途说明
  • 过期时间:默认永久生效,可自定义过期时间(秒)

名单内容

进入名单后,可添加名单内容项:

配置项说明
名单值名单中的匹配值,如 IP 地址 192.168.1.1 或路径 /admin
过期时间该项的过期时间(秒),默认跟随名单的过期时间

名单创建后,可在防护规则中使用 global_name_list_result 匹配参数引用名单匹配结果。

防护组件

防护组件是 JXWAF 的可扩展功能模块,支持用户自定义防护逻辑。

组件管理

配置项说明
组件名称必填,组件的唯一标识
组件描述选填,描述组件功能
组件代码必填,组件的 Lua 代码,定义自定义防护逻辑
组件配置必填,组件配置(JSON 格式),定义组件的规则和参数

组件操作

  • 新建组件:创建自定义防护组件
  • 编辑组件:修改组件的代码和配置
  • 启用/禁用:控制组件是否生效
  • 优先级调整:调整组件执行顺序(置顶、上移、下移)
  • 导入组件:通过 JSON 配置批量导入组件
  • 导出组件:将选中组件导出为 JSON 配置文件
  • 导入远程组件:从远程仓库导入公开组件

组件中的自定义参数可通过 ctx_args 匹配参数在防护规则中引用。

运营中心

数据统计

展示 WAF 的整体防护数据概览,包括:

  • 攻击趋势:按时间维度展示攻击请求的变化趋势
  • 攻击类型分布:展示各类 Web 攻击(SQL注入、XSS、命令执行等)的占比
  • 攻击来源分布:按国家/地区展示攻击 IP 的地理分布
  • 防护总览:请求总数、拦截数、观察数等核心指标

攻击事件

展示检测到的攻击事件列表,每条事件包含:

字段说明
时间攻击发生的时间
攻击类型如 SQL注入、XSS、命令执行、代码执行等
攻击IP发起攻击的源 IP
目标域名被攻击的网站域名
目标URL被攻击的 URL 路径
处置动作阻断 / 观察
详情点击可查看攻击的详细请求内容和规则匹配信息

AI模型蒸馏记录

展示 AI 大模型在线蒸馏的训练记录,帮助用户了解模型的训练状态。

字段说明
时间蒸馏任务执行时间
目标域名训练数据来源的域名
请求内容触发蒸馏的请求详情
训练结果蒸馏后的模型识别结果

网络封禁IP名单

展示所有被网络层封禁的 IP 列表:

字段说明
IP地址被封禁的 IP 地址
封禁时间IP 被封禁的时间
解封时间IP 自动解封的时间
封禁原因触发封禁的规则说明

可手动对已封禁的 IP 进行解封操作。

日志查询

查询所有经过 WAF 的请求日志,支持按时间范围、域名、攻击类型等条件筛选。

字段说明
时间请求时间
源IP请求来源 IP
域名请求的目标域名
URL请求的 URL 路径
请求方法GET / POST 等
状态码WAF 返回的 HTTP 状态码
处置动作放行 / 阻断 / 观察 等
攻击类型如为攻击请求,展示攻击类型
详情点击可查看完整请求和响应内容

节点状态

展示 WAF 节点的运行状态:

字段说明
节点状态在线 / 离线
运行时长节点已持续运行的时间
内存使用当前内存使用量
连接数当前活跃连接数
请求数节点处理的请求总数
Prev
部署教程
Next
API 调用