我有这个针对 apache 日志的 fail2ban 监狱(目前有一些小值,所以我可以试验):
enabled = true
maxretry = 3
bantime = 10
findtime = 5
action = 429-ban
我使用ab
(并发:10,请求:10000)对其进行压力测试,我的自定义过滤器几乎立即捕获“高”流量并禁止 IP。
问题是 10 秒后,禁令到期,如果我继续运行ab
,fail2ban 日志现在充满:
Ignore 192.168.XX.XX, expired bantime
Ignore 192.168.XX.XX, expired bantime
Ignore 192.168.XX.XX, expired bantime
从那时起,很长一段时间内,没有出现任何禁令。同时fail2ban日志显示处理,即使我停止ab
。如果我等待足够长的时间并确认 fail2ban 日志活动停止,那么重新启动压力测试会有效地禁止 IP。
我的问题是:
- 这
expired bantime
到底是什么意思? - 即使压力测试
ab
很久以前就停止了,fail2ban 似乎仍会继续处理内容。是否有可能在fail2ban上存在某种我可以减少的缓冲区,这可能也可以解决我的第一个问题?