Filtragem de tráfego para websockets

3

Temos um servidor websocket que aceita conexões. Infelizmente, por uma razão que ainda temos que identificar alguns clientes desonestos e conectar / desconectar / conectar ... em loop em uma freqüência muito alta. Isso é uma bagunça para lidar e penaliza outros clientes legítimos.

Eu adicionei os registros IPTABLE para diminuir o tráfego deles, mas logo, outro cliente começa a atrapalhar. Ao mesmo tempo, um cliente que costumava se comportar mal pode começar a se comportar normalmente de novo. Não escala muito para editar manualmente o IPTABLE durante todo o dia.

Existe uma maneira de bloquear dinamicamente o tráfego desses clientes que tentam se conectar com muita frequência? Eu prefiro evitar fazer isso no servidor websocket, porque é claro que, ao fazer isso, isso tira recursos de outros clientes legítimos.

    
por Julien Genestoux 02.08.2011 / 22:45

1 resposta

2

Sim, você pode configurar o iptables para bloquear uma certa frequência de solicitações de conexão de um cliente:

link

iptables -I INPUT -p tcp --dportar 80 -i eth0 -m state --state NOVO -m recente --set

iptables -I INPUT -p tcp --dportar 80 -i eth0 -m state --state NOVO -m recente --update --segundos 60 --hitcount 10 -j DROP

Basicamente, limita os usuários a se conectarem apenas 10 vezes por minuto.

    
por 28.08.2011 / 06:31