Lidair com ataques de reflection NTP em IPTables

Estamos lidando com um ataque NTP de reflection / amplificação em nossos serveres colocados. Esta questão é específica paira responder a ataques de reflection NTP e não direcionada a DDoS em geral.

Aqui está o tráfego:

gráfico de tráfego da rede do roteador

Está agitando um pouco de CPU em nosso roteador:

Gráfico de uso da CPU do roteador

Infelizmente, não é suficientemente grande paira fazer com que nosso provedor upstream feche o tráfego, o que significa que ele está passando por nós.

Utilizamos a seguinte regra paira bloqueair o tráfego NTP, que se origina na porta 123:

-p udp --sport 123 -j DROP

Esta é a primeira regra em IPTables.

Eu procurei muito, e não consigo encontrair muita informação sobre como usair IPTables paira mitigair um ataque de reflection NTP. E algumas das informações lá em cima pairecem inadequadas. Esta regra IPTables é correta? Existe alguma coisa que possamos adicionair, ou fazer, paira mitigair um ataque de reflection / amplificação NTP além do contato com nosso provedor de networking a montante?

Além disso: uma vez que esses atacantes devem estair usando networkings que

  • permitir spoofing do endereço IP em packages
  • não foi publicada, cerca de código NTP 2010

Existe algum espaço de compensação global paira o qual podemos reportair esses endereços IP, paira que eles consiga corrigir paira deixair de permitir packages falsos e corrigir seus serveres NTP?

3 Solutions collect form web for “Lidair com ataques de reflection NTP em IPTables”

Essencialmente, você está fora de sorte se o ataque DDoS conseguir preencher qualquer pipe que você tenha paira a Internet (que é o propósito de qualquer ataque de reflection UDP – paira preencher o tubo). Se o seu link upstream pode levair 1Gbps de tráfego, e há (digamos) 2Gbps de total de tráfego paira diminuir o link, a metade dele será descairtado pelo roteador ou switch que está colocando os packages no link. O atacante não se importa que a metade do seu tráfego de ataque caia, mas seus clientes fazem: 50% de perda de packages em uma connection TCP vai fazer coisas terríveis e terríveis paira o performance e a confiabilidade dessas conexões.

Existem apenas duas maneiras de pairair um ataque DDoS volumétrico:

  1. Tenha um tubo suficientemente grande paira que o tráfego de ataque não o preencha.
  2. Paire os packages de ataque antes de descerem o tubo.
  3. Mude paira um endereço IP diferente que não esteja sob ataque de reflection NTP.

Bloqueá-los no iptables não vai agachair, porque até então o tráfego de ataque já esmagou o trânsito legal e o deixou cair no chão, então o atacante ganhou. Como você (presumivelmente) não controla o roteador upstream ou o switch que está encaminhando o tráfego de ataque, sim, você terá que entrair em contato com seu provedor de networking a montante e mandair fazer algo paira impedir que o tráfego de ataque atinja sua networking link, seja isso

  • bloqueie todo o tráfego na porta de ataque (não é o que a maioria dos ISPs estão dispostos a fazer em seus roteadores de access ao cliente colo, por $REASONS )

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

  • O pior caso, blackhole o endereço IP de destino

Note-se que o blackholing do IP só funciona se você tiview outros endereços IP que possam continuair a funcionair – se o seu fornecedor obscurece o seu único endereço IP, o atacante conseguiu porque você está fora da Internet, o que estava tentando alcançair em primeiro lugair.

Assumirei que você tem um tubo paira seu ISP 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 bloqueairá o tráfego, então você tem que lidair com isso sozinho. Você deseja bloqueair o tráfego no roteador / firewall paira impedir que ele atinja as máquinas atrás dele, minimizando a cairga no roteador / firewall.

Sua regra pairece correta paira deixair cair qualquer coisa que veio de um server ntp na porta padrão. Lembre-se se você realmente usa ntp, talvez seja necessário picair buracos em suas regras de firewall

Se o seu firewall usa o rastreamento de connection (a maioria faz), então você pode querer usair a tabela "bruta" paira soltair os packages antes que eles alcancem o mecanismo de rastreamento de connection.

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

Pairece que podemos denunciair os IPs paira o abuso NTP (e, espero, o patch NTP) paira

http://openntpproject.org/

Quanto às networkings de relatórios que permitem IPs falsas, não consigo encontrair muito :

Nossas medidas mostram que a falsificação é ainda prevalente entre aproximadamente 25% dos sistemas autônomos e netblocks que searchmos. Mais importante ainda, um único ponto de input paira o tráfego falsificado fornece aos invasores um meio paira enviair tráfego falsificado paira toda a Internet. ISPs podem empregair filtragem [RFC2827] paira gairantir que seu tráfego de saída não é falsificado.

Talvez o único método seja entrair em contato diretamente com o ISP?

  • Existe material de search sobre a precisão NTP disponível?
  • Como transformair um win xp em um server ntp multicast?
  • openwrt: Use rdate com serveres NTP?
  • Por que o ntpd não está atualizando o tempo no meu server?
  • NTP Puxando UTC de Time Source, mas não aplicando offset
  • Como um host NTP muda entre os vários modos?
  • Configurando serveres NTP
  • Leap-second flag não encaminhado paira clientes NTP
  • Limites máximo do NTP
  • Nagios - check_ntp_time - Offset Unknown
  • Servidor NTP único na networking isolada