外观
日志管理
GinWAF 提供多维度的日志查看与黑名单管理能力。
攻击日志
进入「攻击防护」,可查看攻击事件:
- 攻击事件统计与攻击类型分布
- 攻击源 IP 排行
- 攻击明细日志(含来源 IP、请求路径、攻击类型、规则、评分、处置结果)
支持按站点与时间范围筛选,并可开启自动刷新。
该页面由「攻击事件」与「攻击日志」两个入口组成。
攻击事件
「攻击事件」汇总全局攻击态势:
- 攻击总数、封禁数
- 攻击类型分布环形图
- Top 攻击 IP(含归属地与攻击次数)
- Top 命中规则(含规则 ID、命中次数与最近命中时间)

攻击日志
「攻击日志」为明细列表,逐条记录被拦截的请求,支持按攻击 IP 与攻击类型检索:
| 字段 | 说明 |
|---|---|
| 时间 | 攻击发生的具体时间 |
| 攻击 IP | 发起攻击的客户端 IP |
| 方法 | HTTP 请求方法,如 GET、POST、PUT、PATCH |
| 请求地址 | 被攻击的具体 URL 路径 |
| 攻击类型 | 命中的攻击类型,如 SQL 注入、XSS 跨站脚本、命令注入、文件包含等 15 类 |
| 规则 ID | 命中的检测规则编号,如 SQL_INJ_000 |
| 攻击分数 | 本次命中的风险评分,分数越高风险越大 |
| 防护模式 | 触发本次检测的模式(观察 / 标准 / 严格) |
| 动作 | 处置结果,如拦截、已封禁 |
展开任一条记录可查看引擎写入的原始 JSON,包含 attack_name、attack_type、rule_id、score、client_ip、request_uri、matched_rule 等字段:

日志来源
攻击日志由 WAF 引擎在拦截时实时写入 /opt/ginwaf/waf/logs/attack.log,每条为一行 JSON,采用异步写入,不影响请求处理性能。页面通过 Lua 直接读取该文件解析展示,不依赖数据库。
常见用途:
- 安全态势感知:通过攻击总数与类型分布判断当前面临的宏观威胁。
- 攻击溯源:按攻击 IP 查询其全部攻击记录,还原攻击路径。
- 误报排查:查看被拦截请求的完整信息,判断正常业务是否被误判。
- 规则优化:结合 Top 命中规则,针对性调整检测模式。
访问日志
进入站点详情,可查看站点的访问日志,包括请求时间、来源 IP、请求方法、路径、状态码、耗时等。
操作步骤:
- 在「Web 应用站点管理」列表点击目标站点的「修改」。
- 切换到「访问日志」标签页,列表按时间倒序展示该站点的 HTTP 请求记录。
- 按「请求路径」等条件检索,或点击「刷新日志」获取最新记录。
- 点击任一记录左侧的展开箭头,可查看该请求对应的原始日志 JSON。
字段说明:
| 字段 | 说明 |
|---|---|
| 时间 | 请求发生的具体时间 |
| 站点 IP | 站点所属服务器地址 |
| IP | 访客的真实 IP 地址 |
| 方法 | HTTP 请求方法,如 GET、POST、PUT |
| 路径 | 请求的具体资源路径 |
| HTTP 版本 | 请求使用的协议版本,如 HTTP/2.0 |
| 状态码 | HTTP 响应状态码,2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误,界面以不同颜色标签区分 |
| 字节 | 返回给客户端的数据大小 |
| 缓存 | 缓存命中状态 |
| 来源 | 请求的来源页面(Referer) |
| UA | 客户端的 User-Agent 标识 |

使用场景
排查站点访问异常并确认是否被 WAF 拦截、分析热门 URL、定位恶意请求来源 IP、配合攻击日志做安全事件溯源。
站点拦截日志
「拦截日志」标签页展示该站点被拦截的请求记录,按时间倒序排列,可按攻击 IP 与攻击类型检索:
| 字段 | 说明 |
|---|---|
| 时间 | 拦截发生的具体时间 |
| 攻击 IP | 发起攻击的客户端 IP |
| 方法 | HTTP 请求方法 |
| 请求地址 | 被拦截请求的 URL |
| 攻击类型 | 命中的攻击类型 |
| 规则 ID | 命中的检测规则编号 |
| 攻击分数 | 风险评分 |
| 防护模式 | 观察 / 标准 / 严格(观察模式下动作为「拦截」,不会出现「已封禁」) |
| 动作 | 拦截或已封禁 |

状态码统计
按站点查看 HTTP 状态码分布,快速识别:
- 大量 4xx:可能存在扫描、爬取或前端调用错误
- 大量 5xx:源站服务异常,需排查后端
黑名单管理
进入「黑名单管理」,可查看与处理被拦截的来源 IP:
| 统计项 | 说明 |
|---|---|
| 拉黑总数 | 当前被拉黑的 IP 总量 |
| 攻击拉黑 | 由攻击检测自动封禁的数量 |
| CC 拉黑 | 由 CC 防护拉黑的数量 |
支持按站点与 IP 查询拦截记录,并可对指定 IP 一键解封。
全站「黑名单管理」页面可跨站点查询,支持按站点 ID、被拉黑 IP、类型与来源筛选:

列表字段:
| 字段 | 说明 |
|---|---|
| 站点 ID | 该 IP 所属站点 |
| 被拉黑 IP | 被封禁的客户端 IP |
| 类型 | 攻击拉黑或 CC 拉黑 |
| 原因 | 触发封禁的具体原因,如 SQL 注入、验证失败、命中自定义规则 |
| 规则 ID | 命中的规则编号(由 CC 验证失败触发时为空) |
| 分数 | 命中时的风险评分 |
| 拉黑时间 | 该 IP 被加入黑名单的时间 |
| 解封时间 | 封禁自动解除的时间 |
| 操作 | 「解禁」按钮,立即解除该 IP 封禁 |
站点级黑名单在站点编辑页的「黑名单」标签页中,仅显示当前站点的记录:

解封方式:
| 方式 | 操作 |
|---|---|
| 单 IP 解封 | 点击对应记录右侧的「解禁」按钮 |
| 批量解封 | 勾选多条记录后点击「批量解禁」 |
| 站点全部解封 | 点击「全部解禁」,一次解除当前站点所有封禁记录 |
解封生效
解封后该 IP 可立即恢复访问,无需重启服务。系统会删除 Redis 中对应的封禁记录,键格式为 GinWAF:site:black:{site_id}:{ip},值为包含封禁原因、类型、规则 ID、评分等信息的 JSON。
通知日志
进入「通知日志」,可查看系统发送的监控通知记录:
- 源站健康检测告警
- CC 自动切换通知
支持按通知类型与发送成功状态筛选,便于确认告警是否送达。字段说明与排查方法见 监控通知配置。
日志清理
日志长期累积会占用磁盘空间,建议开启自动清理,详见 日志清理。
