fail2ban 禁止多个重复主机

fail2ban 禁止多个重复主机

我们在面向 Web 的服务器上使用 fail2ban 来阻止多次无法正确验证的 IP 地址。我们的正常禁令时间为 1 小时;已多次被禁止的 IP 将使用recidivefail2ban 示例配置中包含的 jail 进行一天的禁令。

选择一天的封锁时间是为了不对动态 IP 造成太大影响,尤其是考虑到监狱recursive不会封锁特定端口,而是封锁所有传入连接。但是,我们希望在更长的时间内封禁非常顽固的攻击者。目前,这是通过自定义super-recidive过滤器和监狱实现的。这个监狱会封锁每个被封禁recidive两次的主机一整周(这个 IP 显然不是动态分配的)。

但是理想情况下,我希望禁止recidive过去(比如说一周)被禁止的所有 IP 一周,这些 IP 在被解禁后又被任何监狱禁止。我知道在failregex包括反向引用的复杂情况下,这样的事情一定可以实现 - 但有没有更优雅的方式来做到这一点?

答案1

我建议研究更强大的 Web 应用程序防火墙,例如 NGINX。您可以将屡次违规者列入 NGINX 黑名单,其中可能会有一组不同的规则来规定违规者被阻止的时间。

例子: https://www.nginx.com/blog/dynamic-ip-blacklisting-with-nginx-plus-and-fail2ban/

相关内容