SQL 防火墙与攻击识别
DBNginx 的 SQL 防火墙用于在数据库访问入口前识别和处置高风险 SQL。建议采用规则、启发式 SQL 攻击识别和模型自动识别组合,提升对变形攻击和未知风险的覆盖。
识别对象
- SQL 注入。
- 越权访问。
- 异常批量查询。
- 高危 DDL 或 DML。
- 变形绕过、注释混淆和条件拼接。
- 低频但高影响的数据导出。
处理动作
| 风险等级 | 建议动作 |
|---|---|
| 低 | 只审计、打标签、观察 |
| 中 | 告警、限流、审批 |
| 高 | 拒绝、隔离、进入事件处置 |
| 未知 | 先审计和灰度验证,再进入规则固化 |
试点建议
第一轮不要直接把所有可疑 SQL 拦截。更稳妥的路径是:
- 开启只审计模式。
- 观察真实业务 SQL 和误报。
- 按业务系统和资源分组建立白名单或低风险基线。
- 对明确高危动作启用拒绝。
- 对异常批量查询启用限流或审批。
- 每次命中都保留主体、SQL 语义、风险标签和处置动作。
验收用例
- 典型注入语句能被识别。
- 越权访问能被拒绝或审批。
- 批量导出能被限流、加水印或告警。
- 误报能通过策略解释定位原因。
- 命中事件能进入审计和安全运营流程。