如果我想阻止每秒连接服务器超过 5 次的任何 IP,该怎么做?
我目前正在使用 CloudFlare 防火墙手动阻止此类 IP,但如果能在 Apache2 服务器中自动执行该操作就更好了。
我知道有一个 .htaccess,但不确定是否可以设置它来阻止此类 IP。
答案1
第一步是在日志文件中恢复正确的用户 IP所以他们显示您的用户的 IP 地址而不是 CloudFlare。
为了做到这一点,你可以安装Mod_CloudFlare。
完成此操作后,您就可以安装 Fail2Ban。然后可以将 Fail2Ban 配置为速率限制来自您选择的 IP 地址的请求。
然后,Fail2Ban 会监视您的 Apache 日志文件,一旦发现过多的请求,就会使用防火墙工具(例如 IPTables)禁止这些 IP。Digital Ocean 社区有一个很棒的教程使用 Fail2Ban 保护 Apache。