我可以使用 UFW 限制某些 UserAgent 的每秒连接数吗?

我可以使用 UFW 限制某些 UserAgent 的每秒连接数吗?

GoogleBot 正在严重攻击我的服务器 - 尽管我已在网站管理员工具中设置了 CrawlRate,但它仍然会增加我服务器上的负载并减慢 Apache 的正常网络流量的其余部分。

是否可以使用基于用户代理字符串的 UFW 来限制/限制每秒/分钟的连接数?

如果不是,我该如何为 GoogleBot 的 IP 范围做到这一点?

答案1

您不能直接使用 ufw 执行此操作,但需要将正确的 iptables 规则添加到/etc/ufw/before.rules.

我建议你学习iptables。作为(未优化的)起点,例如

-A ufw-before-input -p tcp --syn -dport 80 -m recent --name LIMIT_BOTS --update --seconds 60 --hitcount 4 --rcheck -j DROP
-A ufw-before-input -p tcp -dport 80 -m string --algo bm --string "NotWantedUserAgent" -m recent --name LIMIT_BOTS --set ACCEPT

可以工作,当然你需要NotWantedUserAgent用正确的替换。此规则应限制特定机器人每分钟的新连接数 - 我没有测试过它们,也不知道它们是否真的能减少特定机器人的工作量。

相关内容