Websockets 流量过滤

Websockets 流量过滤

我们有一个接受连接的 websocket 服务器。不幸的是,由于我们尚未确定的原因,一些客户端变得异常,并以非常高的频率循环连接/断开连接/连接……。这很难处理,并惩罚了其他合法客户端。

我添加了 IPTABLE 记录来减少流量,但很快,另一个客户端开始出现问题。与此同时,以前行为不良的客户端可能会再次开始正常行为。整天手动编辑 IPTABLE 并不具有很好的可扩展性。

有没有办法动态阻止这些尝试过于频繁连接的客户端的流量?我宁愿避免在 websocket 服务器上执行此操作,因为这样做当然会占用其他合法客户端的资源。

答案1

是的,您可以配置 iptables 来阻止来自客户端的一定频率的连接请求:

http://www.debian-administration.org/articles/187

iptables -I 输入 -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

基本上限制用户每分钟只能连接 10 次。

相关内容