访问控制
IP 黑白名单、UA 黑名单、可信代理(真实 IP 还原)、GeoIP 地理围栏,跑在检测之前的快门层。
「访问控制」是跑在检测之前的快门层:IP 黑白名单、UA 黑名单、可信代理(真实客户端 IP 还原)、GeoIP 地理围栏。命中即放行或拒绝,成本极低,把明显的坏流量挡在昂贵检测之前。

#可信代理:真实 IP 还原(最容易配错)
WAF 默认只认直连对端的 IP。仅当对端命中「可信代理」列表时,才信任它带的 X-Forwarded-For 头、从中取真实客户端 IP;否则完全忽略 XFF。
别乱填可信代理铁律:WAF 直接对着公网、前面没有代理时,可信代理必须留空——否则等于给了攻击者伪造 X-Forwarded-For 的口子。只填你自己可控的代理 IP,绝不要填公网 IP。
若前面有 nginx / LB 却不配,限流、IP 黑白名单、GeoIP、暴力破解锁定、攻击日志会把所有请求都算成代理那一个 IP——IP 类防护全部失效。同机 nginx 转发填 ["127.0.0.1"];异机填其内网 IP 或 CIDR。
#名单与地理围栏
| 字段 / 控件 | 默认 / 示例 | 说明 |
|---|---|---|
ip_whitelist | [] | 命中则跳过快门(仍走检测),如 ["10.0.0.0/8"]。 |
ip_blacklist | [] | 命中直接 403,支持单 IP 与 CIDR(IPv4 / IPv6)。 |
ua_blacklist | [] | User-Agent 子串黑名单,如 ["sqlmap","nikto"]。 |
geoip.mode | block | block 拦下列地区;allow 只放行下列地区(无法定位的 IP 一律放行,保可用)。 |
geoip.provider | ip2region | ip2region 随仓库自带、含省/市粒度、面向国内最实用;maxmind 需自备 GeoLite2 .mmdb,全球国家级。 |
geoip 维度 | countries / provinces / cities | 命中任一维度即算命中;省 / 市仅 ip2region 生效,支持前缀(「广东」匹配广东省)。 |
从 攻击日志 里发现的恶意 IP,可直接加进这里的黑名单。
