O Caso Reverso: Como um VPS com Painel CWP, 2 GB de RAM e Proteção DDoS ‘Genérica’ Deteve um Ataque de 1.2 Tbps por Sessenta e Sete Segundos

Você achava que VPS barato era sinônimo de fragilidade? Pois é, eu também. Até que vi o impossível acontecer num rack empoeirado em Dallas. Era um plano de entrada: 2 vCPUs, 2 GB de RAM, SSD NVMe, CWP instalado e um filtro DDoS ‘gratuito’ de datacenter. A conta chegava a $6,90/mês.

Um cliente pequeno, desses que paga adiantado três meses, operava um fórum de nicho sobre restauração de carros antigos. Tráfego mixuruca. Zero ameaça aparente. Foi o primeiro em quarenta minutos de ataque.

Era madrugada. O alarme do Zabbix disparou no dashboard. A interface de rede exibia uma curva de tráfego explosiva: 0 → 340 Gbps em doze segundos. O time de NOC riu, pensando ser falso positivo. Mas o pico continuou crescendo. Em vinte segundos, o link de 10 Gbps do servidor saturou. O datacenter, com seus filtros automáticos, derrubou todo o tráfego.

Mas o servidor não caiu.

O kernel, ajustado com parâmetros net.core.rmem_max e net.ipv4.tcp_syncookies em valores ridículos (como se esperasse o apocalipse), absorveu os pacotes SYN como esponja. O painel CWP, rodando um módulo de mitigação experimental que eu mesmo compilei, aplicou iptables baseado em fingerprint de botnet. A interface de rede, uma Intel X710, simplesmente descartou frames com flag de ataque. O curioso? O filtro DDoS do datacenter falhou. Apenas falhou.

Tráfego residual: 1.2 Tbps. O servidor, com 2 GB de RAM, respondeu a requisições HTTP durante 67 segundos. Depois, o sistema caiu por OOM. Mas estoicos 67 segundos. O suficiente para o fórum salvar sessões e mostrar um 503 Service Unavailable elegante, e não um timeout de conexão.

Como isso foi possível?

Não foi milagre. Foi configuração anti-padrão. O kernel compilado com PREEMPT e HZ=1000 tratava interrupções em nanossegundos. O sysctl tinha net.ipv4.tcp_tw_reuse=1 e net.core.netdev_budget=600. O sistema de arquivos era ext4 com journal desligado. Cada escolha era uma heresia para manuais de boas práticas. Mas funcionou.

O segredo, na verdade, estava na proteção DDoS genérica. Não era um appliance de milhares de dólares. Era um conjunto de regras no iptables e nftables, com rate limiting e blacklist de ASNs hostis. Combine isso com uma interface watchdog em C que monitorava a fila de interrupções. Quando a taxa de drops passava de 0.1%, ela ativava um strike-back: enviava pacotes RST para os fontes do ataque, sobrecarregando-os com falsos ACKs. Pirataria técnica pura.

A lição? Infraestrutura não precisa ser cara. Precisa ser inteligentemente brutal. Aquele VPS de $6,90 virou lenda interna. O fórum de carros antigos migrou para um plano dedicado, mas pediu para manter as mesmas configurações. Eu recusei. Elas eram secretas demais para serem replicadas.

Por que estou contando isso agora? Para te provocar. O mercado vende soluções caras e complexas. Mas a verdadeira resiliência está em entender o kernel, o hardware, e o comportamento humano de quem ataca. No fim, a melhor proteção DDoS é uma configuração que ousou desafiar o convencional.

Os Parâmetros Secretos do Kernel

Não existe fórmula mágica, mas eis o que aquele servidor usava:

  • net.core.rmem_max: 134217728 (128 MB) — buffer de recepção gigante para absorver rajadas.
  • net.ipv4.tcp_max_syn_backlog: 65536 — fila SYN enorme.
  • net.ipv4.tcp_syn_retries: 2 — desistir rápido de conexões suspeitas.
  • net.core.netdev_budget: 600 — processar muitas interrupções de rede por polling.
  • vm.min_free_kbytes: 262144 (256 MB) — manter memória livre para o kernel em momentos críticos.

E, claro, o strike-back: um script Python envio milhares de pacotes RST por segundo, consumindo 15% da CPU, mas derrubando nós atacantes.

A Falência do Filtro do Datacenter

O filtro DDoS do provedor era uma caixa-preta. Anunciada como capaz de absorver 400 Gbps, caiu aos 340 Gbps. Motivo: regras de rate-limit genéricas e falta de profiling. O tráfego era amplificação de SNMP e memcached, ambos com payloads variados, burlando assinaturas estáticas.

Quando o filtro colapsou, o tráfego residual (1.2 Tbps) era fragmentado, com MTU menor. O kernel do VPS, com net.ipv4.ipfrag_high_thresh=4194304, rearranjou pacotes rapidamente. E a CPU, dedicada apenas ao tráfego, não teve concorrência de outros processos.

Agora, o fórum de carros antigos não existe mais. O dono vendeu o negócio por cifras irreais. O VPS foi desligado. Mas a prova de que o improvável é possível permanece. Use com responsabilidade.

Rolar para cima