Como funciona

Como funciona a proteção DDoS, etapa por etapa

A maioria das explicações para em "filtramos o tráfego ruim", o que não explica nada. Então aqui vai um ataque rastreado até o fim: 7 Tbps chegando da internet, 400 Mbps de jogadores reais chegando ao servidor, e cada etapa no meio com o que ela remove e por que nada mais poderia ter removido aquilo.

Cloudflare Spectrum
Seu servidor

Por que uma etapa nunca é suficiente

Toda etapa de proteção DDoS é cega para alguma coisa. Uma rede grande o bastante para engolir uma enxurrada de 7 Tbps mede bits por segundo — ela não faz ideia do que é um handshake de Minecraft. Um filtro que lê o protocolo de Minecraft perfeitamente é inútil se a enxurrada encheu seu link antes de ele rodar. Os dois modos de falha são opostos, e é por isso que proteção de verdade é uma sequência e não um produto: cada camada remove o que a próxima não consegue ver, e passa o resto adiante.

O diagrama abaixo é essa sequência, com um ataque empurrado por ela de ponta a ponta — dimensionado pelo maior ataque volumétrico que esta rede realmente mitigou.

Um ataque, seis etapas

Um ataque de 7 Tbps rastreado da internet até um backend de Minecraft. Cada etapa remove o que a etapa seguinte não consegue enxergar.

Tamanho do ataque7Tbps
10 Gbps7 Tbps
Tipo de ataque
JogadoresAtaque
  1. Absorção anycast

    Cloudflare Spectrum

    7Tbps
    entrada
    6.6 Tbps · 94%

    A enxurrada bruta chega à malha anycast da Cloudflare e é espalhada por mais de 330 cidades. O lixo volumétrico L3/L4 — reflexão, amplificação, UDP falsificado — morre aqui, numa rede com mais de 500 Tbps de capacidade publicada.

  2. Mitigação L4

    Papyrus · AS216013

    600 Gbps

    400Gbps
    entrada
    202 Gbps · 51%

    O que sobrevive é TCP que pelo menos parece querer uma conexão. A filtragem SYN no kernel e os limites de taxa por origem descartam as enxurradas de conexão antes que cheguem ao espaço de usuário.

  3. Mitigação L7

    Papyrus · AS216013

    198Gbps
    entrada
    170 Gbps · 86%

    Conexões que completam um handshake mas nunca falam Minecraft válido — scanners, enxurradas L7 genéricas, protocolo malformado — são descartadas assim que o payload não consegue ser interpretado.

  4. Antibot ciente do protocolo

    Cryo

    28Gbps
    entrada
    27 Gbps · 96%

    Agora tudo o que restou fala Minecraft fluentemente. O Cryo interpreta o próprio handshake: hostname, versão de protocolo, ritmo de entrada, ASN de origem e histórico alimentam um veredito. O auto-UAM aperta os limites conforme a enxurrada cresce.

  5. Percurso de verificação

    CryoLimbo

    1Gbps
    entrada
    646 Mbps · 62%

    O resíduo são bots de contorno — clientes escritos especificamente para parecerem humanos a um antibot. Eles são desviados para o limbo e precisam provar isso com checagens de física e comportamento. Jogadores reais pegos aqui passam e seguem em frente.

  6. Tráfego limpo

    Seu servidor

    400Mbps
    chega

    O que chega são jogadores. Os IPs reais dos clientes são entregues via protocolo PROXY, então banimentos e plugins por IP se comportam exatamente como numa conexão direta. A origem nunca viu os outros 6,99 Tbps.

Um modelo interativo, não tráfego medido: cada número é derivado dos dois controles acima. O tráfego de jogadores permanece constante — o número de pessoas reais tentando entrar não muda com o tamanho da enxurrada — e cada nó recebe crédito apenas pelo tráfego que ele próprio descartou, nunca pelo trabalho do nó anterior. O cenário padrão é dimensionado pelo maior ataque volumétrico que esta rede mitigou.
01

Etapa 1 — Absorção, onde volume deixa de ser problema

A primeira pergunta em qualquer ataque é aritmética, não segurança: o cano é maior que a enxurrada? Se 7 Tbps chegam a um link de 10 Gbps, o link está cheio e tudo que está atrás dele está fora do ar — o servidor, seu firewall e qualquer plugin que ele rode estão todos do lado errado de uma estrada já bloqueada. Nada que você configure na máquina muda isso.

Essa é toda a razão pela qual a absorção precisa acontecer numa rede com mais capacidade do que o atacante consegue gerar. O tráfego entra pela malha anycast do Cloudflare Spectrum, onde uma única enxurrada é dividida por mais de 330 cidades e absorvida por uma rede com mais de 500 Tbps de capacidade publicada. Por volume, esta camada faz quase todo o trabalho — 94 % da enxurrada no exemplo — e por utilidade, a parte menos interessante: ela remove o tráfego que nunca fingiu ser nada.

02

Etapa 2 — Mitigação L4, conexões sem conteúdo

O que sobrevive à absorção é tráfego que pelo menos quer abrir uma conexão. Este é o nível das enxurradas SYN: quantidades enormes de tentativas de conexão, muitas vezes falsificadas, projetadas para esgotar o estado de rastreamento de conexões em vez da banda. A filtragem acontece no kernel da nossa própria rede (AS216013), antes que qualquer coisa chegue ao espaço de usuário, com limites de taxa por origem e orçamentos de conexão.

A camada 4 sabe que uma conexão chegou. Ela não sabe o que a conexão disse — não consegue distinguir um jogador de um bot, porque nesta camada nenhum dos dois disse nada ainda. O que passa por ela é uma conexão TCP de aparência legítima, e daqui em diante as perguntas deixam de ser sobre volume.

03

Etapa 3 — Mitigação L7: isso é sequer o jogo?

Agora o tráfego é lido. Boa parte do que completa um handshake não fala Minecraft de jeito nenhum: scanners de toda a internet, enxurradas HTTP genéricas mirando o que quer que responda, e lixo malformado torcendo para algo travar. Nada disso sobrevive ao contato com um parser que espera o protocolo de Minecraft e recebe outra coisa.

Esta é a primeira camada com a qual um appliance genérico de "proteção para jogos" tem dificuldade, porque exige realmente implementar o protocolo em vez de casar formatos de pacote. É também onde o volume cai o suficiente para que o tráfego restante seja genuinamente perigoso — tudo que passa deste ponto fala a língua do seu jogo.

04

Etapa 4 — O antibot ciente do protocolo, a etapa que importa

Tudo que ainda se move agora fala Minecraft fluentemente: handshakes válidos, nomes de usuário plausíveis, versões de protocolo corretas, chegando de milhares de endereços residenciais e de datacenter. Este é o ataque que realmente mata servidores de Minecraft, e ele é invisível para todas as camadas acima — cada conexão é individualmente indistinguível de um jogador real entrando.

  • Consciência de hostname — uma conexão pedindo um hostname que você não atende não é um jogador que errou de digitação, e é descartada antes que qualquer outra coisa rode.
  • Limites de ritmo de entrada com auto-UAM — orçamentos por IP e globais que apertam automaticamente conforme o ritmo combinado de pings e logins sobe, então a resposta escala com o ataque em vez de ser configurada de antemão.
  • Pontuação de risco — país de origem, ASN, faixa de datacenter, comportamento de protocolo e histórico anterior se combinam num veredito antes que a entrada tenha permissão de continuar.
  • Tratamento de pings e MOTD — enxurradas de status são respondidas do cache do edge em vez de encaminhadas ao seu servidor para responder vários milhares de vezes por segundo.

No exemplo, esta camada remove 96 % do que chega a ela — 26 Gbps de tráfego que de outra forma teria chegado ao backend como tentativas de entrada aparentemente reais. É o mesmo motor descrito em detalhe em como o Cryo mitiga um ataque.

05

Etapa 5 — Verificação, para bots feitos para passar pela etapa 4

Um bot bem escrito estuda o antibot. Ele dosa suas entradas, usa nomes plausíveis, conecta de proxies residenciais e não faz nada que pontue como anômalo — porque foi construído justamente para isso. Pontuação sozinha não consegue pegá-lo, e esse resíduo é o que as pessoas chamam de bots de contorno.

Então a última camada para de pontuar e começa a perguntar. Entradas suspeitas são desviadas para o CryoLimbo, um mundo limbo leve, e precisam demonstrar que são um cliente real — movimento que obedece à física do jogo, respostas corretas ao estado do servidor, comportamento que um bot headless tem que realmente implementar em vez de apenas imitar. Passar é barato para um jogador e caro para um atacante, e esse é todo o projeto. Jogadores reais pegos aqui passam e seguem para o seu servidor, geralmente sem perceber.

06

O que de fato chega

400 Mbps de jogadores. Seu servidor vê as conexões que teria visto num dia calmo, com os IPs reais dos clientes entregues via protocolo PROXY, então banimentos, detecção de alts e plugins por IP se comportam exatamente como numa conexão direta. De dentro do servidor, o ataque não é um problema menor — ele não é visível de jeito nenhum, e é por isso que o primeiro sinal para um operador costuma ser um alerta no Discord e não um pico de lag.

Vale a pena parar nas proporções. A camada volumétrica removeu 94 % da enxurrada e as duas últimas camadas removeram menos de 0,4 % entre elas — e ainda assim são essas duas que decidem se o servidor fica de pé, porque são as únicas capazes de distinguir um bot de um jogador. Capacidade compra o direito de ter o problema interessante. Ela não o resolve.

07

Onde as etapas ficam importa tanto quanto o que elas fazem

Toda camada acima roda antes do seu hardware, e esse é o ponto estrutural, não um detalhe de implementação. Um plugin pode fazer uma versão do trabalho da camada 5 e alguns fazem bem — mas ele roda depois que a conexão já foi aceita, alocada e interpretada pela sua máquina, então está lutando do lado errado do link. Esse trade-off é desenvolvido em antibot no edge vs antibot em plugin, e é por isso que o arranjo sensato é um edge na frente com um plugin atrás como segunda camada, não um no lugar do outro.

Perguntas frequentes

Como a proteção DDoS realmente funciona?+

Filtrando o tráfego em algum lugar com mais capacidade do que o ataque, antes que ele chegue ao alvo. Proteção é uma série de etapas, cada uma capturando o que a anterior estruturalmente não consegue ver: uma rede enorme absorve a enxurrada volumétrica bruta, a filtragem de pacotes descarta enxurradas de conexão, a filtragem de protocolo descarta tráfego que não é realmente o jogo, e a verificação comportamental pega bots que imitam jogadores de forma convincente. Nenhuma camada sozinha faz todo o trabalho.

Por que um firewall ou um plugin não conseguem parar um ataque DDoS?+

Por causa de onde eles ficam. Se 7 Tbps miram um link de 10 Gbps, o link está cheio e nada que rode do outro lado tem voz — o servidor está fora do ar por mais perfeitas que sejam suas regras de firewall. Um plugin age ainda mais tarde, depois que uma conexão já custou uma vaga, uma thread e um login. Ambos são úteis como camadas finais; nenhum dos dois pode ser a primeira.

Qual é a diferença entre proteção DDoS de camada 4 e de camada 7?+

A camada 4 trabalha com conexões: enxurradas SYN, pacotes falsificados, ritmo bruto de conexão. Ela pode dizer que um milhão de conexões TCP chegaram, mas não o que qualquer uma delas disse. A camada 7 trabalha com o que o tráfego realmente é — para Minecraft, se ele fala o protocolo, qual hostname pediu e se a entrada se comporta como um jogador. Ataques de bots são problemas de camada 7, e é por isso que filtragem só de L4 os deixa passar direto.

Quanto tráfego realmente chega ao meu servidor durante um ataque?+

No exemplo desta página, 400 Mbps de 7 Tbps — uma redução de 17.500 vezes, com a origem nunca vendo os outros 6,99 Tbps. A proporção exata varia com o ataque, mas o formato é consistente: a camada volumétrica remove a esmagadora maioria por volume, e as últimas camadas removem o tráfego que de fato teria derrubado seu servidor.

Filtrar por tantas camadas adiciona latência para os jogadores?+

Quase imensurável, porque as camadas rodam em linha na velocidade do fio em vez de enfileirar o tráfego para inspeção. Os jogadores conectam ao ponto de entrada anycast mais próximo — muitas vezes um caminho mais curto do que alcançar seu servidor diretamente — e apenas conexões que parecem suspeitas são retidas para verificação. Uma entrada limpa atravessa cada camada descrita aqui sem parar em nenhuma delas.

Todas as camadas desta página rodam em todos os planos, inclusive no gratuito — os planos pagos adicionam capacidade e controle, não proteção. Crie uma rede grátis e você estará atrás das seis em cerca de cinco minutos.

Seu próximo ataque já está agendado.
Esteja atrás da borda quando ele chegar.

A gente cuida da segurança para você poder crescer. Plano gratuito, sem cartão, um registro DNS — se não aguentar, você perdeu cinco minutos.