O que é o quê e quem é quem no mercado de proteção contra DDoS

Estou no mercado digital desde 2008 e, durante esse período, vi a transição de sites no Joomla (lembra-se disso?) Para a Internet de hoje com seus aplicativos móveis e centenas de milhões de dispositivos IoT conectados à rede.
Ataques na Internet também se desenvolveram bem durante esse período :)
Mas o mercado de proteção contra DDoS e as tecnologias usadas pelas operadoras para proteger contra ataques ainda estão bastante fechadas.
Vou contar o que aprendi sobre ele, oferecendo suporte a sites e serviços de Internet que estão sob constante ataque nos últimos anos.

imagem
Ataques regulares. Total de 350k req, legível de 52k req

Os primeiros ataques apareceram quase simultaneamente com a Internet. O DDoS como um fenômeno se espalhou desde o final dos anos 2000 ( consulte www.cloudflare.com/learning/ddos/famous-ddos-attacks ).

Entre 2015 e 2016, quase todos os provedores de hospedagem ficaram protegidos contra ataques DDoS, como a maioria dos sites de destaque em áreas competitivas (faça whois nos sites de IP eldorado.ru, leroymerlin.ru, tilda.ws, consulte a rede de operadores de proteção).

Se há 10 a 20 anos, a maioria dos ataques poderia ser repelida no próprio servidor (avalie as recomendações do administrador de sistema Lenta.ru, Maxim Moshkov, dos anos 90 ), agora tudo é mais complicado.

Primeiro, brevemente sobre os tipos de ataques.

Tipos de ataques DDoS em termos de escolha de um operador de proteção


Ataques L3 / L4 (modelo OSI)


  • Inundação de UDP da botnet (muitas solicitações são enviadas diretamente de dispositivos infectados para o serviço atacado, o canal é bloqueado por servidores);
  • Amplificação de DNS / NTP / etc (muitas solicitações de DNS / NTP / etc vulnerável são enviadas de dispositivos infectados, o endereço do remetente é falsificado, uma nuvem de pacotes que responde a solicitações inunda o canal do invasor; é assim que os ataques mais maciços na Internet moderna são realizados);
  • Inundação SYN / ACK (muitas solicitações de conexão são enviadas aos servidores atacados, a fila de conexão transborda);
  • ataques com fragmentação de pacotes, ping da morte, ping flood (google plz);
  • etc.

Esses ataques visam "encher" o canal com o servidor ou "matar" sua capacidade de receber novo tráfego.
Embora a inundação e a amplificação SYN / ACK sejam muito diferentes, muitas empresas lidam com elas igualmente bem. Problemas surgem com ataques do grupo a seguir.

Ataques em L7 (nível de aplicação)


  • inundação http (se um site ou alguma API http estiver sendo atacada);
  • ataque a partes vulneráveis ​​do site (sem cache, carga muito pesada no site etc.).

O objetivo é fazer com que o servidor "trabalhe duro", processe muitos "como se fossem solicitações reais" e fique sem recursos para solicitações reais.
Embora existam outros ataques, estes são os mais comuns.
Ataques sérios no nível L7 são criados de uma maneira única para cada projeto atacado.

Por que 2 grupos?

Porque muitos sabem como combater bem os ataques no nível L3 / L4, mas não adotam a proteção no nível do aplicativo (L7), ou até agora lidam com eles mais fracos do que as alternativas.

Quem é quem no mercado para proteção contra DDoS


(meu olhar pessoal)

Proteção L3 / L4


Para combater ataques com amplificação ("bloqueando" o canal do servidor), existem canais amplos o suficiente (muitos dos serviços de proteção se conectam à maioria dos principais provedores de backbone da Rússia e possuem canais com capacidade teórica de mais de 1 Tbit). Não esqueça que ataques muito raros com amplificação duram mais de uma hora. Se você é Spamhaus e todo mundo não gosta de você - sim, você pode tentar desligar os canais por vários dias, mesmo correndo o risco de sobreviver ainda mais com a botnet mundial usada. Se você apenas tem uma loja on-line, mesmo que seja mvideo.ru - 1 Tbit por vários dias, verá em breve (espero).

Para repelir ataques com inundação SYN / ACK, fragmentação de pacotes, é necessário que os equipamentos ou sistemas de software detectem e bloqueiem esses ataques.

Esse equipamento é produzido por muitos (Arbor, existem soluções da Cisco, Huawei, implementações de software da Wanguard etc.), muitos operadores de backbone já o instalaram e vendem serviços de proteção DDoS (conheço as instalações da Rostelecom, Megafon, TTK, MTS de fato, para todos os grandes fornecedores, os hosters fazem o mesmo com a proteção a-la OVH.com, Hetzner.de, enfrentou a proteção no próprio ihor.ru). Algumas empresas estão desenvolvendo suas soluções de software (tecnologias como DPDK permitem lidar com dezenas de gigabits de tráfego em uma máquina física x86).

Dos jogadores conhecidos, o L3 / L4 DDoS é mais ou menos eficaz em repelir a todos. Não vou dizer quem tem a capacidade máxima do canal (são informações privilegiadas), mas geralmente não é tão importante, e a única diferença é a rapidez com que a proteção funciona (instantaneamente ou após alguns minutos do tempo de inatividade do projeto, como em Hetzner).

A questão é como isso é feito qualitativamente: um ataque com amplificação pode ser repelido bloqueando o tráfego de países com tráfego mais prejudicial ou você pode descartar apenas tráfego realmente desnecessário.

Mas, ao mesmo tempo, com base na minha experiência, todos os participantes sérios no mercado russo podem lidar com isso sem problemas: Qrator, DDoS-Guard, Kaspersky, G-Core Labs (anteriormente SkyParkCDN), ServicePipe, Stormwall, Voxility, etc.

As empresas na Rússia raramente trabalham com operadores de segurança estrangeiros, com exceção do Cloudflare. Escreverei sobre o Cloudflare separadamente.

Não encontrei proteção contra operadores como Rostelecom, Megafon, TTK, Beeline, segundo os colegas, eles fornecem esses serviços com alta qualidade, mas, por enquanto, a falta de experiência afeta periodicamente: às vezes você precisa apertar algo com o apoio do operador de proteção.
Algumas operadoras possuem um serviço separado “proteção contra ataques no nível L3 / L4” ou “proteção de canais”, que custa muito mais barato que a proteção em todos os níveis.

E se o provedor de backbone não repelir ataques de centenas de Gbps, ele não possui canais próprios?
O operador de proteção pode se conectar a qualquer um dos principais fornecedores e repelir ataques "às suas custas". Você terá que pagar pelo canal, mas nem sempre essas centenas de Gbps serão utilizadas; nesse caso, há opções para uma redução significativa no custo dos canais, para que o esquema permaneça operacional.


Estes são os relatórios da proteção L3 / L4 superior que eu recebia regularmente, suportando o sistema do provedor de hospedagem.

Proteção L7 (nível de aplicação)


Ataques no nível L7 (nível de aplicação) são capazes de vencer as unidades de forma constante e eficiente.
Eu tenho uma experiência bastante grande com

  • Qrator.net;
  • DDoS-Guard;
  • Laboratórios G-Core;
  • Kaspersky

Eles cobram por cada megabit de tráfego líquido, um megabit custa cerca de vários milhares de rublos. Se você tem pelo menos 100 Mbps de tráfego puro - oh. A proteção será muito cara. Nos artigos a seguir, posso dizer como projetar aplicativos para economizar muito bem a capacidade dos canais de proteção.

O verdadeiro "rei da colina" é o Qrator.net, o resto está um pouco atrás deles. O Qrator é o único na minha clínica que fornece uma porcentagem próxima de zero de falsos positivos, mas ao mesmo tempo eles são várias vezes mais caros do que outros participantes do mercado.

Outros operadores têm proteção estável e de alta qualidade. Muitos dos serviços que apoiamos (incluindo os mais famosos do país!) São protegidos pelo DDoS-Guard, G-Core Labs e estão muito satisfeitos com o resultado, posso recomendá-los.


Ataques repelidos pelo Qrator

Ainda existe experiência com pequenos operadores de proteção, como cloud-shield.ru, ddosa.net etc. Definitivamente, não posso recomendar, porque a experiência não é muito grande, vou falar sobre os princípios do seu trabalho. O custo da proteção geralmente é de 1 a 2 ordens de magnitude menor do que o dos grandes players. Como regra, eles compram um serviço de defesa parcial (L3 / L4) de um dos maiores jogadores + fazem sua própria defesa contra ataques em níveis mais altos. Pode ser bastante eficaz + você pode obter um bom serviço por menos dinheiro, mas ainda são pequenas empresas com uma equipe pequena, por favor, considere.

Cloudflare


CloudFlare é um fenômeno separado. Esta já é uma empresa enorme que custa vários bilhões de dólares, seus clientes são metade dos geradores de tráfego no mundo e o serviço de proteção contra DDoS é simplesmente o mais famoso entre seus serviços. Também os usamos constantemente para hospedagem de DNS, CDN, como um serviço de proxy de tráfego.

Para um site / serviço que não possui ataques complexos, o Cloudflare está bem, mas com ataques sérios (quando eles não apenas “enchem” o canal, mas combinam muitos tipos de ataques), o plano de negócios deles por US $ 200 nunca nos salvou, mas falou sobre eles A proteção corporativa para a Rússia não faz sentido, é mais barato e mais eficaz recorrer a outros participantes.
Porque Eu acho que é difícil criar um serviço massivo, quase gratuito, de altíssima qualidade.
A propósito, muitos engenheiros de língua russa trabalham em CF :)

Operadores de segurança estrangeira


Certa vez, tive uma experiência real com o Dragonara.net (antes o maior operador de segurança do mundo), que não existe mais agora.
Já existem muitos artigos sobre Habré sobre operadores modernos, apenas darei um link para a revisão mais recente : habr.com/en/post/350384
Certamente muitos deles são muito bons se o projeto não se destina ao mercado russo, mas na Rússia há problemas com eles.
A primeira - proteção efetiva deve ser o mais próxima possível do defensor e deve levar em consideração as características locais (somente na Rússia, na China, na segunda, na América do Sul, na terceira).
A segunda razão: uma tarefa verdadeiramente difícil e cara é a proteção no nível L7. E sim, é caro para todos, em princípio, poucas empresas no mundo fazem uma boa proteção L7, e os serviços russos geralmente vencem a concorrência.

Qual é a dificuldade de repelir ataques no nível L7?


Todos os aplicativos são exclusivos e você precisa permitir o tráfego útil para eles e bloquear o tráfego prejudicial. Nem sempre é possível eliminar os bots de maneira inequívoca; portanto, é necessário usar MUITOS MUITOS graus de purificação do tráfego.

Uma vez que o módulo nginx-testcookie foi suficiente, agora é suficiente para repelir um grande número de ataques. Quando trabalhei no setor de hospedagem, minha proteção L7 foi criada apenas no nginx-testcookie. A propósito, Beget.ru, Netangels.ru, FastVPS.ru tinham um sistema semelhante.

Infelizmente, os ataques se tornaram mais difíceis. O testcookie usa verificações para bots baseados em JS, e muitos bots modernos podem passar com êxito.

Atacar botnets também são únicos, e você precisa considerar os recursos de cada botnet grande.
Amplificação, inundação direta de uma botnet, filtragem de tráfego de diferentes países (filtragem diferente para diferentes países), inundação SYN / ACK, fragmentação de pacotes, ICMP, inundação http, enquanto no nível de aplicativo / http você pode obter um número ilimitado de ataques diferentes.

No total, no nível de proteção de canais, equipamentos especializados para limpeza de tráfego, software especial, configurações de filtragem adicionais para cada cliente, pode haver dezenas e centenas de níveis de filtragem.

Para gerenciar isso corretamente e ajustar as configurações de filtragem para diferentes usuários, você precisa de muita experiência e pessoal qualificado. Mesmo um grande operador que decidiu fornecer serviços de proteção não pode "estupidamente arriscar um problema": será necessário obter experiência em locais de mentira e falsos positivos no tráfego legítimo.

Para o operador de proteção, não há um botão "hit DDoS", há um grande número de ferramentas, você precisa poder usá-las.

E mais um exemplo de bônus.


O servidor sem proteção foi bloqueado pelo hoster durante um ataque com capacidade de 600 Mbps
(A "perda" de tráfego não é perceptível, pois apenas um site foi atacado, foi removido do servidor por um tempo e o bloqueio foi liberado em uma hora).

O mesmo servidor está protegido. Os atacantes "renderam-se" após um dia de ataques repelidos. O ataque em si não foi o mais forte.

Os ataques L3 / L4 e a proteção contra eles são mais triviais, principalmente eles dependem da espessura do canal, algoritmos para detectar e filtrar ataques.

Os ataques L7 são mais complexos e originais, dependem da aplicação atacada, das capacidades e da imaginação dos atacantes. A proteção deles exige grande conhecimento e experiência, e o resultado pode não ser imediato e nem cem por cento. Até o Google criar outra rede neural para proteção.

Source: https://habr.com/ru/post/pt450092/


All Articles