如何设置拒绝规则(例如 Apache)来阻止每秒连接次数超过 5 次的 IP?

如何设置拒绝规则(例如 Apache)来阻止每秒连接次数超过 5 次的 IP?

如果我想阻止每秒连接服务器超过 5 次的任何 IP,该怎么做?

我目前正在使用 CloudFlare 防火墙手动阻止此类 IP,但如果能在 Apache2 服务器中自动执行该操作就更好了。

我知道有一个 .htaccess,但不确定是否可以设置它来阻止此类 IP。

答案1

第一步是在日志文件中恢复正确的用户 IP所以他们显示您的用户的 IP 地址而不是 CloudFlare。

为了做到这一点,你可以安装Mod_CloudFlare

完成此操作后,您就可以安装 Fail2Ban。然后可以将 Fail2Ban 配置为速率限制来自您选择的 IP 地址的请求。

然后,Fail2Ban 会监视您的 Apache 日志文件,一旦发现过多的请求,就会使用防火墙工具(例如 IPTables)禁止这些 IP。Digital Ocean 社区有一个很棒的教程使用 Fail2Ban 保护 Apache

相关内容