wget https://raw.githubusercontent.com/SecAegis/SecAutoBan/main/device/alarm/riversecurity_botgate/riversecurity_botgate.pypip3 install SecAutoBan登录瑞数管理后台,在日志外发(Syslog)配置中添加服务器,日志格式选择JSON,IP填写本模块运行的主机IP,端口可自定义配置。
配置完成保存即可。
server_ip=127.0.0.1 server_port=80 sk=sk-xxx listen_port=514 python3 riversecurity_botgate.py瑞数动态安全对无动态token的请求会返回412并下发JS,正常浏览器算出token后续请求即200,因此并非所有412都是攻击(正常用户首次访问也会412一次)。本模块用两条路径区分:
- 强特征即时告警:命中瑞数明确的爬虫特征(
ua_bot)或矛盾特征(ChromeNoAcceptLanguage,声称Chrome却无Accept-Language)时,立即告警。 - 弱特征滑动窗口计数:其余412在
window_seconds秒内累计达到count_threshold次才告警。正常浏览器算出token后不再412、会被放过;算不出token持续412的爬虫会被抓出。
阈值建议上线后按实际流量观察调整。
| 变量名 | 样例 | 描述 |
|---|---|---|
| server_ip | 127.0.0.1 | 平台IP |
| server_port | 80 | 平台端口 |
| sk | sk-xxx | 连接密钥 |
| listen_port | 514 | 监听Syslog端口 |
| window_seconds | 30 | 弱特征统计窗口(秒),默认30 |
| count_threshold | 20 | 窗口内412达到几次才告警,默认20 |