产品功能

把每一层都摊开讲清楚

从请求进入到回源落地,墨守做了什么、为什么这么做、以及它拒绝做什么。

请求处理链路

八层过滤,逐层收敛

安全与体验兼顾:前置层可秒级卸下恶意流量、不占用后续资源;成本高的检测放在后面,此时流量已经很干净。

01

过载保护与来源识别

先保住自己,再谈防护。

  • 在途请求数超过阈值直接返回 503 卸载,防止过载雪崩拖垮整机
  • 基于可信代理(trusted_proxies)从转发头还原真实客户端 IP,杜绝伪造 XFF 绕过与误封
02

访问控制准入

命中即拒,不消耗后续任何资源。

  • IP 黑白名单:单 IP / CIDR / 分组,控制台动态增删并持久化
  • User-Agent 黑名单,过滤已知恶意客户端
  • 地理围栏 GeoIP:按国家 / 地区封禁或仅放行,精准挡境外扫描、扫库与批量爬虫
  • 威胁情报联动:本地情报文件 + 远程情报源定期刷新,动态阻断恶意 IP
03

接口级限速 差异化

核心差异化:单接口颗粒度管控,不一刀切。

  • 每个 API / 页面接口可单独设置窗口请求数、限速维度(按 IP / 按登录令牌 / 按 IP+路径)与路由聚合 QPS
  • 支持全站聚合 QPS 兜底;已登录用户、白名单 IP 可豁免
  • 超限动作可选:拒绝 / 转人机验证 / 进入等候室
  • 单接口被打崩时仅对该接口生效,不牵连整站业务
04

人机验证

对可疑客户端主动介入,正常用户近乎无感。

  • 下发工作量证明(PoW)挑战,过滤无头浏览器与脚本化请求
  • 主动风险评分:命中蜜罐、挑战失败、被限流、请求头异常等行为信号实时累计,评分随时间衰减,分级触发「下发挑战 → 强制验证 → 直接拦截」
  • 蜜罐诱捕:配置正常用户不会访问的隐藏陷阱路径,命中即判定为自动化爬虫
  • 自动拉黑:越过阈值或命中蜜罐自动加入封禁列表,可开启梯度升级(反复触发者封禁时长指数递增)
05

接口级智能等候室 差异化

超限流量不报错,排队匀速放行。

  • 按 QPS 自动触发 / 回落自动关闭,滞回防抖,无需人工值守
  • 超限流量进入虚拟排队机制匀速放行,平滑冲击、保护上游
  • 支持前端联动:返回标准排队 JSON 或排队页面,展示「排队中 / 预计等待」
  • 通过后签发短期通行凭证,后续免重复排队
06

多层安全检测 差异化

语义引擎 + 机器学习 + 规则互补,三层协同。

  • 语义分析引擎:强归一化(多重编码递归解码、大小写与注释规整)后做语法解析 + AST 判定,天然识别未知变种与 0day
  • 机器学习检测层:轻量化模型对语义未直接命中的可疑请求做异常概率打分,识别模拟真人的自动化流量与变异攻击
  • 规则互补层(OWASP CRS):虚拟补丁、CVE 防护、扫描器识别与出站敏感信息泄露检测
  • 多引擎打分聚合:各检测器置信度加权,按阈值决策放行 / 拦截 / 挑战
  • 灰度上线机制:每类检测可先以影子模式只记录不拦截,比对真实流量后再切换强制拦截
07

智能缓存命中加速

安全校验通过后优先匹配缓存,命中不回源。

  • 支持显式接口缓存规则,也能按访问频次自动识别热点接口并缓存
  • 自动缓存前对多个不同客户端的响应做一致性抽样,只有响应一致才缓存,从机制上杜绝把用户私有数据缓存给他人(防越权)
  • 严格遵循 Cache-Control,绝不缓存个性化 / 认证响应
08

认证网关与负载均衡回源

未登录不放行,正常流量分发到健康上游。

  • 可为站点前置一道登录认证网关,专治「未授权访问」,内置本地账户与登录暴力破解锁定
  • 所有校验、缓存、排队后的正常流量,经内置负载均衡分发至后端上游,配合健康检查与故障转移保障业务稳定
核心能力

能力清单,逐项对账

八大类能力,全部为授权范围内开放,不做套路阉割。

安全检测能力

摒弃仅靠正则匹配的老旧防护,语义 / 机器学习 / 规则三层协同。

能力说明
强归一化层URL / Unicode / HTML 实体解码、多重编码递归解码、大小写与注释规整
语义分析引擎语法解析 + AST 判定,覆盖 SQL 注入、XSS、命令注入 / RCE、路径穿越、SSRF、XXE、反序列化、模板注入、CRLF、NoSQL / LDAP / XPath 注入、代码注入、恶意文件上传等多类攻击
机器学习检测层轻量化模型对可疑请求异常打分,补语义未命中,识别模拟真人的自动化与变异流量
规则互补层OWASP CRS 提供虚拟补丁、CVE 防护、扫描器识别、出站泄露检测
未知威胁 / 0day语义定位不依赖规则库,靠攻击语法结构识别未知变种
多引擎打分聚合各检测器加权打分,阈值决策放行 / 拦截 / 挑战
灰度上线机制影子模式先观测、后强制,逐检测器数据驱动上线
自定义规则支持编写自定义安全规则,灵活扩展防护策略
大文件流式检测上传大文件时流式检测,检测窗口与体积上限解耦,不整体驻留内存
故障自保护检测引擎异常时可配置放行(fail-open),WAF 自身故障不阻断业务
性能基线

数字给全,条件也给全

我们把测试环境、并发、时长与口径一起写出来。脱离条件的 QPS 数字没有意义。

全链路并发压测0 错误
总请求 / 错误257,683 / 0
QPS~32,200
延迟 p501.2 ms
延迟 p902.8 ms
延迟 p994.8 ms
延迟 max6.7 ms
检测管线微基准(单请求成本)
ns/op~13,500 (13.5µs)
B/op~10,100
allocs/op~70

一个正常请求走完 build ctx + 归一化 + SQLi/XSS 检测的成本(含 httptest 构造开销, 检测净成本远小于此)。检测引擎对每请求的增量在十几微秒级,相对反代转发可忽略。

测试条件与口径

测试条件:开发机(Windows,16 逻辑核,Go 1.25,GOGC=200)本地回环,并发 50 持续 8s,经完整数据面(检测 + 反向代理)打到 echo 上游。绝对值随硬件、上游与配置变化,此处反映的是性能量级与回归趋势,不作为生产承诺值。生产压测建议使用 wrk / vegeta / k6,在目标硬件与真实上游下测量。

工程立场

WAF 自己,也是攻击面

它挡在你所有流量的最前面。所以它自己的可靠性,比它的功能列表更重要。

故障不阻断业务

检测引擎异常时可配置 fail-open 放行;在途请求超阈值直接 503 卸载,防止过载雪崩拖垮整机。WAF 挂了,你的站不该跟着挂。

先观测,后强制

每类检测都能以影子模式只记录不拦截,在真实流量上比对差异后再切强制。限速、缓存、等候室、人机验证同样支持试运行。

缓存不越权

自动缓存前对多个不同客户端的响应做一致性抽样,只有响应一致才缓存;严格遵循 Cache-Control,绝不缓存个性化 / 认证响应。

先用影子模式跑一遍真实流量

不必一上来就拦。让墨守只记录不拦截,看清它在你的流量上会做什么,再决定是否交给它守。

商业授权软件 · 纯私有化部署 · 数据不出服务器