Здравствуйте. Никак не могу разобраться. Столько всего читал в интернете - ничего нужного не нашел, что сильно меня удивляет.
В чем моя проблема? Есть приложение. Бот к нему устанавливает соединение и по established шлет тучу пакетов. Как их правильно ограничить, без ущерба обычным пользователям?
Пробовал tcpdump+log+iptables+ipset, но «бурст» всё равно убивает. Сервер успевает принимать тычячи пакетов от бота, пока обрабатывается лог tcpdump.
В iptables, hashlimit + limit-burst - работает очень странно. Банит случайных пользователей, когда достигается предел бурста. Мне так и не удалось в нем разобраться.
Использовать tc боюсь. Да и вообще я не уверен, что шейпинг и ограничение количества пакетов одно и то же.
Как же мне защититься от ботов? Я думаю, что единственный способ - это найти способ ограничения количества входящих пакетов за промежуток времени. Именно пакетов. Дело в том, что вес пользовательских пакетов может быть очень большими, а бот посылает всегда маленькие пакеты, но много.
Очень нужна ваша помощь. Читать тонны документаций времени нет. Жена орет сводить ребенка в зоопарк, а мне приходится сидеть целый день дома и руками банить ботов :(