{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"首页","item":"https://www.clwaf.com/"},{"@type":"ListItem","position":2,"name":"帮助文档","item":"https://www.clwaf.com/help"},{"@type":"ListItem","position":3,"name":"规则配置","item":"https://www.clwaf.com/help/rules"}]}

6. 规则配置

6.1 内置攻击规则:9 类 114 条,开机即生效

内置规则编译在引擎二进制里,不落库、不可增删改,启动时一次性编译,运行时只匹配。装好就有,不需要你开启:

类别条数覆盖的典型攻击
SQL 注入20联合查询、堆叠注入、报错/时间盲注、文件读写、information_schema 探测
XSS12script 标签、事件属性、伪协议、data URI(含 base64 解码判定)、iframe
命令注入13分隔符 + 系统命令、$( )、反引号、${IFS}、反弹 shell
文件包含12../ 穿越编码变体、/etc/passwd、.env/.htaccess、php:// phar://
SSRF6非 HTTP 协议、内网段、回环、云元数据地址 169.254.169.254
模板注入14Jinja2 / SpEL / EL / JNDI / Smarty / Twig / FreeMarker
反序列化12Java rO0AB、PHP O:/a:、Python pickle、__proto__
WebShell13危险扩展名(仅上传目录深检)、PHP/ASP/Java 木马特征
信息泄露12.git/.svn、.env、备份文件、phpinfo.php(只判 URL 路径)

为什么它误报率可控

两个机制值得知道,排障时能解释很多现象:

  1. 匹配前先规范化:请求值会经过连续 URL 解码(最多 4 层)→ HTML 实体解码 → 去 /**/ 注释噪声 → 去 NUL → 转小写 → 压缩空白,然后才进正则。所以 sele%63t、SEL/**/ECT 这种花式绕过会被还原后命中——也意味着有些含特殊字符的正常参数会被解码后误判,这就是白名单存在的意义。
  2. 聪明的豁免:身份型参数(加密 ID 类)豁免检测,SSRF 只对 URL 型参数判定,WebShell 深检只对上传目录生效。这些是防误报设计,不是漏洞。

内置规则误伤了怎么办

内置规则没有「仅记录」开关,命中即拦。两条出路:

  1. 白名单 + 跳过规则:精确匹配被误伤的请求(URI + 参数组合),只对这个请求放行——范围最小、最可控
  2. 重写业务请求:比如富文本内容 base64 后再提交,绕开特征匹配(临时方案,不推荐长期)

误伤的具体规则名在攻击日志详情里能看到(rule_name),拿它去核对是哪一类特征。

6.2 自定义规则:你自己的业务策略

自定义规则是「条件 → 动作」的映射,用来表达内置规则覆盖不了的业务逻辑。

自定义规则列表

条件

项说明
目标源IP / URI / 路径 / 请求方法 / 请求头 / Cookie / User-Agent / Referer / Host / 请求参数 + 属于IP组
算子等于 / 不等于 / 包含 / 不包含 / 包含(忽略大小写) / 正则匹配
条件组多个条件组成一组(组内 and),多个组之间再 and / or
[Pro] 目标Content-Type / 内容长度 / X-Forwarded-For / 请求体 / 查询参数
[Pro] 算子存在 / 不存在 / 为空 / 长度等于/大于/小于 / 前缀 / 后缀 / 数值大于/小于
自定义规则新增

动作(六种)

动作行为用途
拦截 block直接拦封路径、封明显恶意 UA
人机验证 challenge强制走一次验证可疑但不想直接拒的流量
302 跳转 redirect跳指定 URL扫描器全跳到一个「你已违规」页
观察 observe只记录、放行新规则上线前的灰度,先跑几天看攻击日志里命中多少
等候室 waiting_room排队突发流量按条件分流
放行 pass放行并跳过后续规则层组合兜底场景

灰度上线的标准流程

  1. 写好规则,动作选观察,启用
  2. 跑 1-2 天,去攻击日志按规则名筛选,看命中量、看 client_ip 分布
  3. 命中的确实是该拦的 → 把动作改成拦截
  4. 命中的有正常用户 → 加条件收窄范围,重复第 2 步

observe 的请求也会写进攻击日志(动作列显示 observe),所以「观察」不等于「没效果」,它有完整数据可回看。

排序

sort 数值越小越先匹配。同一条请求可能命中多条自定义规则,按排序依次执行(pass / block 之后的规则不再生效)。

6.3 IP 组:批量 IP 的复用单元

IP 组就是一批 CIDR 网段或单 IP 的命名集合,给白名单和自定义规则用「属于IP组 / 不属于IP组」引用。

IP 组管理
要点说明
格式单 IP(203.0.113.7)或 CIDR(203.0.113.0/24),一行一个
引用规则条件的算子选「属于IP组」,值选组 ID
复用办公网出口、CDN 回源段、合作伙伴 IP 段这类多处使用的集合,建一次到处引用
删除删除前系统会检查引用,有规则在用会提示,避免规则静默失效

典型用法:把公司所有出口 IP 建成「办公网」组 → 管理后台加白名单「源IP 属于办公网组 → 跳过自定义规则」。

6.4 云规则库 [Pro]

云平台维护一套与本地自定义规则同构的规则(新爆发攻击的紧急特征、常见业务场景策略),Pro 引擎可订阅:


下一步:7. 爬虫治理

双11 首发 · 限时 5 折
5折
首发专享限量 100 份 · 定金 ¥10 锁名额
日常价 ¥2,998¥1,499首发直降 ¥1,499
距定金截止仅剩
00天00时00分00秒

* 首发价仅限本次双11预售期,明年双11恢复日常价

0.031309s