Lidando com ataques de reflexão NTP no IPTables

15

Estamos lidando com um ataque de reflexão / amplificação do NTP em nossos servidores colocated. Esta questão é específica para responder a ataques de reflexão NTP e não direcionados a DDoS em geral.

Aqui está o tráfego:

EstáproduzindoumpoucodeCPUnonossoroteador:

Infelizmente, isso não é grande o suficiente para fazer com que nosso provedor de upstream bloqueie o tráfego, o que significa que ele está passando por nós.

Usamos a seguinte regra para bloquear o tráfego NTP, que se origina na porta 123:

-p udp --sport 123 -j DROP

Esta é a regra primeiro no IPTables.

Pesquisei bastante e não consigo encontrar muita informação sobre como usar o IPTables para atenuar um ataque de reflexão do NTP. E algumas das informações lá fora parecem estar incorretas. Esta regra do IPTables está correta? Há mais alguma coisa que possamos adicionar ou atenuar um ataque de reflexão / amplificação do NTP além de entrar em contato com nosso provedor de rede upstream?

Além disso, como esses invasores precisam estar usando redes que

  • permite falsificação de endereço IP em pacotes
  • possuem código NTP sem correção, por volta de 2010

existe alguma câmara de compensação global para a qual possamos relatar esses endereços IP, para que eles sejam corrigidos para deixar de permitir pacotes falsificados e consertar seus servidores NTP?

    
por Jeff Atwood 28.06.2016 / 07:28

3 respostas

20

Essencialmente, você não terá sorte se o ataque DDoS conseguir preencher qualquer canal que você tenha na Internet (que é o propósito de qualquer ataque de reflexão UDP - para preencher o canal). Se o seu link upstream pode levar 1Gbps de tráfego, e há (digamos) 2Gbps de tráfego total para descer o link, então metade dele será descartada pelo roteador ou switch que está colocando os pacotes no link. O invasor não se importa com a metade do tráfego de ataque, mas seus clientes o fazem: 50% de perda de pacotes em uma conexão TCP vai fazer coisas horríveis, terríveis com o desempenho e a confiabilidade daqueles conexões.

Existem apenas duas três formas de impedir um ataque DDoS volumétrico:

  1. Tenha um canal grande o suficiente para que o tráfego de ataque não o preencha.
  2. Pare os pacotes de ataque antes que eles abram o tubo.
  3. Mude para um endereço IP diferente que não esteja sob ataque de reflexão NTP.

Bloqueá-los no iptables não fará o agachamento, porque até lá o tráfego de ataque já sufocou o tráfego legítimo e fez com que ele caísse no chão, então o atacante venceu. Como você (presumivelmente) não controla o roteador ou switch upstream que está encaminhando o tráfego de ataque, sim, você terá que entrar em contato com seu provedor de rede upstream e fazer com que ele algo pare o tráfego de ataque alcance seu link de rede, seja ele

  • bloqueia todo o tráfego na porta de ataque (não é algo que a maioria dos provedores de serviços de Internet está disposto a fazer nos seus roteadores de acesso ao cliente, por $REASONS )

  • filtra os endereços IP de origem do ataque (mais plausível, com S / RTBH, mas não algo que todo provedor já tem disponível)

  • no pior dos casos, blackhole o endereço IP de destino

Observe que o blackholing do IP só funciona se você tiver outros endereços IP que podem continuar operando - se o seu provedor infectar seu único endereço IP, o invasor terá sucesso porque você está fora da Internet, que é o que eles tentando alcançar em primeiro lugar.

    
por 28.06.2016 / 07:37
5

Eu assumirei que você tem um pipe para o seu provedor que termina em seu próprio roteador / firewall. Então, por trás desse roteador / firewall, você tem suas próprias máquinas. O ISP não irá bloquear o tráfego, então você tem que lidar com isso sozinho. Você deseja bloquear o tráfego no roteador / firewall para impedi-lo de atingir as máquinas por trás dele, minimizando a carga no roteador / firewall.

Sua regra parece correta para descartar tudo o que veio de um servidor ntp na porta padrão. Lembre-se, se você realmente usar o ntp, pode ser necessário fazer furos nas regras do firewall

Se o seu firewall usa rastreamento de conexão (a maioria faz isso), então você pode querer usar a tabela "bruta" para descartar os pacotes antes que eles cheguem ao controle de conexão.

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

    
por 28.06.2016 / 14:23
1

Parece que podemos denunciar os IPs por abuso de NTP (e, esperamos, patch NTP) para

link

Quanto a redes de relatórios que permitem IPs falsos, não consigo encontrar muito :

Our measurements show that spoofing is still prevalent among approximately 25% of the autonomous systems and netblocks we survey. More importantly, a single entry point for spoofed traffic provides attackers a means to send spoofed traffic to the entire Internet. ISPs can employ filtering [RFC2827] to ensure their outbound traffic is not spoofed.

Talvez o único método seja contatar o provedor diretamente?

    
por 30.06.2016 / 08:18

Tags