Назад | Перейти на главную страницу

Фильтрация трафика для веб-сокетов

У нас есть сервер websocket, который принимает соединения. К сожалению, по причине, которую нам еще предстоит определить, некоторые клиенты становятся мошенниками и подключаются / отключаются / подключаются ... в цикле с очень высокой частотой. Это беспорядок, с которым нужно иметь дело, и это наказывает других законных клиентов.

Я добавил записи IPTABLE, чтобы пропустить их трафик, но довольно скоро другой клиент начинает портить. В то же время клиент, который раньше вел себя плохо, может снова начать вести себя нормально. Редактировать IPTABLE вручную в течение всего дня не очень хорошо.

Есть ли способ динамически блокировать трафик от этих клиентов, которые пытаются подключиться слишком часто? Я бы предпочел избегать делать это на сервере websocket, потому что при этом, конечно, это забирает ресурсы у других законных клиентов.

Да, вы можете настроить iptables, чтобы блокировать определенную частоту запросов на подключение от клиента:

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

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m latest --set

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

В основном ограничивает пользователей подключением только 10 раз в минуту.