🚀 企业级 · 高性能 · Web应用防火墙

GinWAF 企业级Web应用防火墙

基于 OpenResty + Lua + Redis + Go 构建

15+攻击检测 · CC防护 · 实时监控大屏 · 毫秒级响应

核心特点

轻量 · 智能 · 高性能

毫秒级检测响应

基于Lua脚本的轻量级检测引擎,直接在网关层完成检测,请求处理延迟控制在5毫秒以内,单节点支撑万级QPS。

15+攻击检测

全面覆盖OWASP Top 10,支持SQL注入、XSS攻击、命令注入、文件包含、CSRF、SSRF、反序列化攻击等15+攻击类型识别。

智能攻击评分封禁

对每次攻击检测进行量化评分(0-255分),综合考虑攻击类型、攻击强度、攻击频率等多个维度,达到阈值自动封禁IP。

实时可视化监控

自主研发的监控大屏,实现攻击事件实时展示、流量趋势可视化分析、系统状态全维度监控,运维一目了然。

双引擎防护架构

攻击检测引擎与CC防护引擎深度融合,攻击检测负责识别恶意特征,CC防护负责防御高频请求,协同构建立体防护体系。

一键解封管理

提供Web管理后台,支持拉黑记录查询、单IP解封、批量解封、站点全部解封等运维操作,支持Ubuntu/Windows跨平台。

🛡️ 智能攻击检测

15+攻击类型识别,全面覆盖OWASP Top 10

SQL注入

正则匹配+语义分析

XSS攻击

输入过滤+输出编码

命令注入

命令字符检测+黑名单

文件包含

路径遍历检测

文件上传

MIME类型+后缀检测

CSRF攻击

Token验证+Referer检查

SSRF攻击

URL白名单+内网IP过滤

HTTP走私

协议合规检测

模板注入

模板语法检测

代码注入

ASP/Java/PHP检测

反序列化

Java/PHP反序列化检测

Cookie防护

加密验证+完整性检查

🧩 CC防护引擎

多重验证机制,有效防御CC攻击

无感验证

后台静默验证,用户无感知

低风险

5秒防护

等待5秒后自动放行

一般防护

点击验证

用户点击确认按钮

中风险

滑动验证

滑块拼图验证

中高风险

图片验证码

输入图片中的字符/数字

高风险

旋转图片

将图片旋转至正确角度

高风险

📊 可视化监控大屏

全方位系统运行状态监控

概览统计

总请求数、总拦截数、攻击拦截数、CC拦截数、拦截率、活跃站点数、当前QPS、总带宽

站点排行

按拦截数对各站点排序,展示请求数、拦截数、QPS、拦截率

Top拦截IP

被拦截次数最多的IP地址、归属站点、拦截来源分类

攻击类型分布

SQL注入、XSS攻击、命令注入、CC防护等各类攻击占比

拦截趋势

最近24小时拦截数量变化趋势分析

实时拦截

最近30分钟实时拦截记录滚动展示

技术架构

高性能 · 分布式 · 可扩展

🟢
OpenResty
Nginx + Lua 网关
🔵
Lua
检测引擎脚本
🔴
Redis
分布式缓存
🟣
Go + Gin
管理后台 API
🐧
Ubuntu
18.04-24.04

系统架构图

┌─────────────────────────────────────────────────────────────────────────────┐ │ 用户访问层 │ │ (HTTP/HTTPS请求) │ └─────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 接入层 (OpenResty) │ │ Nginx + Lua 高性能Web网关 │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ WAF检测引擎 (Lua) │ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ ① 白名单检查 ── 命中 ──► ✓ 直接放行 │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ 未命中 │ │ │ │ │ │ ② 黑名单检查 ── 命中 ──► ✗ 403拦截 │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ 未命中 │ │ │ │ │ │ ③ 攻击检测 ── 命中 ──► 评分+封禁 ──► 403拦截 │ │ │ │ │ │ ④ CC防护检测 ── 命中 ──► 验证/封禁 ──► 403拦截 │ │ │ │ │ │ │ │ │ │ │ │ │ ▼ 全部通过 │ │ │ │ │ │ ⑤ 转发到源站 │ │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ │ │ ▼ ▼ ┌────────────────────────────────┐ ┌────────────────────────────────────┐ │ 缓存存储层 │ │ 管理后台层 │ │ Redis (分布式缓存) │ │ Go + Gin Web框架 │ │ ┌──────────────────────────┐ │ │ ┌──────────────────────────────┐ │ │ │ 黑名单/白名单 │ │ │ │ 监控大屏 │ │ │ │ 攻击日志 │ │ │ │ 拉黑记录查询 │ │ │ │ 站点统计数据(30天) │ │ │ │ 一键解封 │ │ │ │ 流量趋势数据 │ │ │ │ 系统状态监控 │ │ │ └──────────────────────────┘ │ │ └──────────────────────────────┘ │ └────────────────────────────────┘ └────────────────────────────────────┘

请求处理流程

① 用户请求
② 白名单检查
✓ 命中 直接放行
✗ 未命中
③ 黑名单检查
✗ 命中 403拦截
✓ 未命中
④ 并行检测
攻击检测 ✗ 命中 → 评分+封禁 → 403 ✓ 通过 15+攻击类型
CC防护检测 ✗ 命中 → 验证+封禁 → 403 ✓ 通过 6种验证方式
⑤ 全部通过 → 转发到源站
✓ 检测通过 → 转发源站  |  ✗ 检测失败 → 返回403 / 验证页面

数据持久化

  • 黑名单/白名单
  • 攻击日志
  • 站点统计(30天)
  • 流量趋势(60分钟)

部署环境

  • Ubuntu 18.04-24.04
  • Redis 6.0+
  • OpenResty 1.29+
  • Go 1.25+

双引擎防护

  • 攻击检测引擎
  • CC防护引擎
  • 智能评分封禁
  • 自动白名单