Linux bloqueia o udp em baixo nível contra o DDOS

1

Meu servidor está atualmente sob ataque de DDOS com quase 500k de pacotes UDP por segundo.

O UDP está bloqueado no iptables, mas o processador ainda está sobrecarregado.

Qualquer maneira de bloquear o UDP em um nível inferior para não passar o pacote através de todas as cadeias / módulos do iptables, mas descartá-lo antes?

    
por Vilial 12.02.2017 / 11:56

1 resposta

4

O ponto mais inicial possível de descartar pacotes é a tabela iptables raw , conforme mostrado no diagrama em link

Você pode descartar pacotes na cadeia PREROUTING da seguinte forma:

iptables -t raw -A PREROUTING -p udp -j DROP

No entanto, com essa abordagem, você também está descartando respostas de DNS para as solicitações iniciadas pelo servidor, pois o processamento da tabela raw ocorre antes que o rastreamento de conexão ocorra.

Você pode adicionar hosts UDP permitidos assim:

iptables -t raw -A PREROUTING -p udp -s !nnn.nnn.nnn.nnn -j DROP

em que nnn.nnn.nnn.nnn é o endereço IP do host no qual você deseja receber o tráfego UDP.

Também pode haver outras consequências ao desativar o tráfego UDP antes do rastreamento da conexão, dependendo do servidor.

    
por 12.02.2017 / 12:15