BitVPS
O que "VPS protegido contra DDoS" realmente significa — scrubbing, null-routes e a letra miúda
Explicador de rede

O que "VPS protegido contra DDoS" realmente significa — scrubbing, null-routes e a letra miúda

Toda hospedagem desse mercado imprime "protegido contra DDoS" no cartão do plano. Muito poucas definem o que isso significa, e as definições diferem em três ordens de grandeza — desde uma malha de scrubbing que absorve uma inundação de 600 Gbps sem que os seus jogadores percebam, até um script que retira o seu IP da tabela de roteamento por vinte e quatro horas na primeira vez que o tráfego de entrada ultrapassa um limiar. Ambos são vendidos com as mesmas duas palavras. Veja como diferenciá-los antes de pagar.

Nunca KYC DMCA ignorado Sem logs de tráfego Ativo em 60 segundos

Duas palavras, dois comportamentos opostos

Há duas coisas que uma hospedagem pode fazer quando chega uma inundação, e o setor vende as duas como "proteção contra DDoS". A primeira é a absorção: o tráfego é levado para uma camada de scrubbing a montante do seu servidor, os pacotes de ataque são descartados ali, os pacotes legítimos seguem em frente, e o seu serviço permanece acessível o tempo todo. A segunda é o blackholing — também chamado de null-routing, ou RTBH, conforme a RFC 5635 — em que o seu endereço IP é retirado da tabela de roteamento para que nada mais chegue até ele. A inundação para de atingir o datacenter. O mesmo acontece com os seus usuários, o seu monitoramento e a sua sessão SSH. O atacante obtém exatamente o resultado pelo qual pagou.

Ambas são engenharia real, e nenhuma delas é desonesta em seus próprios termos. O blackholing existe porque absorver uma inundação grande custa dinheiro de verdade — o trânsito é medido, a capacidade de scrubbing é comprada e provisionada — e uma hospedagem econômica que aplica null-route em um cliente para manter outros quatrocentos online está tomando uma decisão defensável. O truque está no pronome. "Proteção contra DDoS" é verdadeiro nos dois casos; o que muda é de quem é o serviço sendo protegido. Leia todo cartão de plano com essa pergunta em mente.

RespostaTráfego de ataqueSeu serviçoGeralmente descrito como
Scrubbing / absorçãoFiltrado a montante, descartado na bordaPermanece no ar, geralmente sem mudança visível"Mitigação sempre ativa", "scrubbing anycast"
Blackhole / null-routeDescartado junto com o seu tráfego legítimoOffline durante o período — normalmente 1–24 h"Proteção até X Gbps", "suspensão temporária de IP"
Apenas rate-limit na bordaParcialmente descartado, em parte de forma aleatóriaDegradado — usuários reais percebem perda de pacotes"Proteção básica incluída"
Nada (a operadora decide)Chega ao rack até que um upstream aplique blackhole ao prefixoOffline, assim como os seus vizinhos de rack"Proteção contra DDoS disponível"

Lendo a letra miúda antes de pagar

O vocabulário entrega o jogo. "Proteção até 10 Gbps" é um teto, e a frase logo depois dele — a que fala sobre tráfego que excede o limite — é a cláusula de null-route. "IP protegido disponível como add-on" significa que o endereço que você recebe por padrão não é protegido. "Por incidente" significa que a fatura chega depois do ataque. "Uso justo" associado à mitigação significa uma cota de ataques por mês, depois da qual você está por conta própria. Nenhuma dessas frases é mentira; elas são simplesmente escritas para serem lidas por cima.

Um exemplo nomeado e publicado, porque é política documentada, não boato: a BuyVM vende endereços filtrados contra DDoS como um add-on separado de $3/mês por IP, e endereços não filtrados recebem null-route enquanto um ataque está em andamento. Nós descrevemos isso sem muito comentário na nossa página de comparação com a BuyVM, porque um IP não filtrado e barato é um produto perfeitamente razoável quando você sabe que foi isso que comprou. O modo de falha é descobrir isso às 03h com um booter em ação.

Quatro perguntas que valem a pena enviar para o pré-venda antes da primeira fatura. Qual é a capacidade de mitigação, e esse número é o agregado ou o valor disponível em um único ponto de presença? Uma "rede de 2 Tbps" que termina em um único centro de scrubbing tem apenas um cano para encher. A mitigação está incluída neste plano ou é um add-on? Existe cobrança por incidente ou uma cota mensal de eventos mitigados? A partir de que limiar vocês aplicam null-route, e por quanto tempo? Uma hospedagem que responde à última pergunta com um número vale mais do que uma que responde com adjetivos.

As três camadas, e por que a camada decide quem pode corrigir o problema

Volumétrico de Layer 3/4. SYN floods, UDP floods, e reflexão ou amplificação através de serviços NTP, DNS, memcached, CLDAP e SSDP abertos. O atacante gasta um pouco de largura de banda a montante e recebe de volta um múltiplo dela direcionado a você. Isso é um problema de largura de banda e pacotes por segundo, e é categoricamente impossível de resolver no seu servidor: no momento em que o seu kernel poderia descartar o pacote, o cano que o transporta já está cheio. Nada em nftables ajuda aqui. Só a capacidade acima de você resolve.

Esgotamento de estado de Layer 4. Floods de SYN, ACK e de conexões dimensionados não para encher o cano, mas para encher uma tabela — o backlog de SYN do kernel, a tabela conntrack, a fila de aceitação da sua aplicação. A largura de banda pode ser trivial: algumas centenas de Mbps derrubam uma máquina sem ajustes, enquanto o gráfico do lado da hospedagem parece uma tarde tranquila. Essa camada é genuinamente metade sua: é sobrevivível com tcp_syncookies, um nf_conntrack_max dimensionado corretamente, e limites por origem — e não é sobrevivível sem eles.

Aplicação de Layer 7. Floods HTTP compostos por requisições individualmente válidas — handshakes TLS reais, strings de User-Agent críveis, às vezes navegadores reais — direcionados a qualquer coisa cara no seu site: busca, login, carrinho, uma página de listagem baseada em banco de dados. A classe HTTP/2 Rapid Reset mostrou como bastam poucos megabits quando cada requisição custa mais ao servidor do que ao cliente. Um appliance de scrubbing não consegue ver dentro de uma sessão TLS que não termina, então essa camada é tratada por regras na borda ou pelo seu próprio reverse proxy — nunca por capacidade volumétrica bruta.

CamadaAtaque típicoTamanho típicoOnde deve ser paradoCorrigível na sua máquina?
Volumétrico L3/L4UDP flood, amplificação DNS/NTP/memcached5 Gbps – 1+ TbpsA montante, na bordaNão — o cano enche primeiro
Esgotamento de estado L4SYN / ACK flood, esgotamento de conntrack0.1 – 10 GbpsBorda, mais ajuste de kernelParcialmente — syncookies, dimensionamento de conntrack
Aplicação L7Flood de requisições HTTP(S), slow POST, Rapid ResetGeralmente abaixo de 1 GbpsRegras na borda ou seu reverse proxySim — rate-limit, desafio, cache

Qual é o tamanho real de um ataque, honestamente?

Aproximadamente nove em cada dez ataques que atingem um pequeno servidor offshore vêm de um booter ou stresser — um serviço por assinatura que custa de $10 a $30 por mês e revende capacidade de amplificação por minuto. Eles entregam algo entre 5 e 50 Gbps em rajadas de alguns minutos, e é exatamente isso que um servidor Minecraft, uma rede IRC, um relay Tor, um fórum com um ex-moderador irritado ou um lobby de jogo competitivo realmente enfrentam. Essa faixa é totalmente sobrevivível, e também é totalmente suficiente para derrubar um VPS de $5 desprotegido.

A próxima faixa acima — 100 a 400 Gbps vindos de uma botnet alugada — é o que chega quando alguém tem uma implicância específica e orçamento para isso. É raro contra alvos pequenos e rotineiro contra propriedades de apostas, streaming e conteúdo adulto. Acima disso ficam os eventos de recorde relatados pelos grandes fornecedores de mitigação, hoje medidos em múltiplos terabits por segundo e centenas de milhões de requisições por segundo; os números trimestrais do Cloudflare Radar são a referência pública usual. Você quase certamente não é o alvo pretendido de um desses.

Ainda assim você pode ser vítima colateral de um deles, e essa é a parte que ninguém coloca no cartão do plano: o dano colateral viaja por prefixo. Se uma hospedagem aplica blackhole com granularidade /24 — muitas fazem isso, porque é o menor prefixo que a maioria das operadoras aceita para RTBH — então um ataque direcionado a um endereço da sua sub-rede derruba todos os endereços dela. O seu uptime depende dos inimigos de um estranho. A margem de capacidade é o que evita que essa decisão precise ser tomada.

Os nossos próprios números, para calibração e não como alarde: 1 Tbps de scrubbing anycast L3/L4 dividido entre quatro pontos de presença, cada um capaz de absorver cerca de 300 Gbps sozinho, com detecção automática em até dois segundos. O maior evento que já absorvemos para um cliente foi acima de 600 Gbps contra um servidor de jogo, e as conexões dos jogadores não caíram. A arquitetura está documentada em mais detalhes na página de rede.

Incluído, por incidente ou por cota — o formato comercial importa

Existem três formas de vender mitigação, e elas geram faturas muito diferentes. Incluído: o custo já está embutido no plano, e um ataque não muda nada no que você paga. Por incidente: você é cobrado por cada evento mitigado, às vezes por hora de mitigação. Cota: um número de eventos por mês, ou uma cláusula de "uso justo" que deixa a hospedagem decidir quando você já teve o suficiente.

O modelo por incidente não é um golpe. O tráfego filtrado ainda atravessa o trânsito da hospedagem antes de ser descartado, e o trânsito é cobrado pelo percentil 95 ou contra uma taxa comprometida — uma campanha sustentada contra um cliente é um item de custo real na fatura de alguém. O problema não é justiça, é previsibilidade: sob uma campanha de duas semanas, uma hospedagem que cobra por incidente transforma um ataque contra você em uma fatura para você, o que é um segundo ataque com passos extras. Pergunte qual modelo se aplica antes de precisar saber.

A nossa posição, dita com clareza para que possa ser verificada: o escudo vem ativado por padrão em todo plano, do Starter de $8.50 ao Citadel de $299.50, sem opt-in, sem cobrança por incidente, sem cota mensal e sem cláusula de "uso justo" associada à mitigação. É a mesma malha no VPS mais barato e na maior máquina dedicada — veja os planos VPS e os níveis dedicados. O que muda de acordo com o nível é o uplink e o conjunto opcional de regras de Layer 7, não se você está defendido ou não.

Difusão anycast, e por que o tempo de detecção supera a capacidade de manchete

Um único centro de scrubbing tem um teto rígido: o trânsito que entra naquele único prédio. Ele também tem um custo de latência, porque durante a mitigação o tráfego de todo mundo é levado primeiro até aquele prédio — a razão pela qual algumas hospedagens ficam visivelmente mais lentas para usuários europeus no momento em que um ataque começa, e continuam assim até ele parar.

O anycast muda a aritmética antes mesmo de qualquer hardware entrar em ação. O mesmo prefixo é anunciado a partir de todos os pontos de presença, então uma botnet distribuída globalmente é dividida entre esses pontos apenas pela topologia da internet: um ataque de 600 Gbps originado de todo lugar chega como aproximadamente 150 Gbps em quatro lugares, em vez de 600 Gbps em um só. A difusão faz a maior parte do trabalho; o equipamento de scrubbing só precisa lidar com o que sobra depois que a geografia já dividiu o ataque.

O tempo de detecção é o número subestimado. Uma mitigação que entra em ação em dois segundos é invisível para uma sessão TCP; uma mitigação que entra em ação em sessenta segundos chega depois que os seus usuários já recarregaram a página duas vezes e foram embora, e depois que um lobby de jogo já esvaziou. Quando uma hospedagem informa a capacidade mas não a latência de detecção, peça o segundo número — é ele que decide se os seus usuários chegaram a perceber alguma coisa.

Se você traz o seu próprio prefixo, o blackholing se torna um bisturi que você segura, em vez de algo que é feito com você. Nossas comunidades BGP cobrem de-preferência por operadora (cs:100:carrier), prepend regional (cs:200:region) e blackhole seletivo (cs:666:prefix), então você pode aplicar null-route a um endereço sob ataque enquanto o resto da sua alocação continua servindo. Isso é blackholing usado corretamente: cirúrgico, breve, e uma decisão sua.

A complicação offshore: um proxy dos EUA na frente anula o propósito

O conselho padrão em todo fórum é "simplesmente coloque atrás da Cloudflare, o plano grátis já resolve". Para um site comum, é um bom conselho. Se você escolheu uma hospedagem offshore por razões jurisdicionais, esse conselho reimporta silenciosamente tudo o que você deixou para trás: uma empresa constituída nos EUA passa a terminar o seu TLS e ver o seu tráfego em texto claro, recebe reclamações de abuso e de direitos autorais e age sobre elas segundo a sua própria política, mantém uma conta vinculada a um endereço de e-mail e geralmente a um método de pagamento, e pode ser intimada por um processo legal dos EUA. A sua hospedagem ignorar um aviso de DMCA vale muito pouco quando o seu CDN o cumpre — os mecanismos estão em o explicador sobre ignorar o DMCA e a exposição jurisdicional em o guia 14-Eyes.

Um proxy também não esconde a sua origem, a menos que você configure o firewall da origem para aceitar apenas os prefixos do proxy e mantenha isso assim. Mesmo nesse caso, o endereço vaza pelo histórico de DNS passivo, pelos logs de transparência de certificados se a origem já respondeu TLS no seu próprio nome, por e-mails enviados diretamente da máquina, por um registro A antigo que nunca foi removido, e por qualquer página de erro que ecoe o hostname do próprio servidor. Acessos diretos à origem são como sites "protegidos" acabam sendo derrubados de qualquer forma. O manual de hospedagem anônima percorre toda a superfície de vazamento.

Se você quer uma camada de proxy sem o custo jurisdicional, rode-a você mesmo: uma segunda instância pequena na mesma jurisdição ou em uma compatível, terminando o TLS sob a sua própria chave, com o firewall da origem aceitando apenas aquele endereço. Você mantém o cache e a filtragem de requisições, e nenhum terceiro entra na cadeia de confiança. As duas máquinas ficam atrás da mesma malha de scrubbing, então o proxy não é um novo alvo fácil.

O que ainda é responsabilidade sua, na máquina

O scrubbing a montante protege o cano. Ele não ajusta o seu kernel, e a faixa de esgotamento de estado é onde um servidor sem ajustes morre para um ataque que a rede mal registrou. A lista curta, na ordem em que compensa: ative net.ipv4.tcp_syncookies e aumente net.ipv4.tcp_max_syn_backlog (os parâmetros estão documentados na referência ip-sysctl do kernel); dimensione nf_conntrack_max para a quantidade de conexões que você realmente espera, ou use notrack para tráfego de jogo UDP de alta taxa, para que a tabela nunca seja consultada; adicione limites de taxa por origem em nftables em vez de contar com a borda para ser cirúrgica.

No lado da aplicação, limit_req e limit_conn no nginx não custam nada e param a maioria dos floods de L7 que não são deliberadamente moldados para parecer humanos. Faça cache de tudo que pode ser cacheado, porque o melhor alvo de um atacante é sempre aquela página que você gera a partir do banco de dados a cada requisição. Mantenha o SSH e qualquer painel de controle fora do endereço que serve a carga pública, ou atrás de uma allowlist.

Uma direção que as pessoas esquecem: não se torne um refletor. Um resolvedor DNS aberto, um daemon NTP mal configurado ou um memcached exposto na sua máquina fazem de você parte do ataque de amplificação de outra pessoa, e abuso de saída é tratado de forma muito mais severa do que o de entrada — o tempo de resposta publicado na nossa AUP é null-route e suspensão em até duas horas. Floods de entrada são algo que acontece com você; floods de saída são algo pelo qual você é responsável.

A checklist que vale a pena rodar antes de comprar

Nove perguntas, na ordem que separa as hospedagens mais rápido. Qual é a capacidade de mitigação, e ela é por ponto de presença ou agregada? Está incluída no preço do plano ou é vendida por IP? Existe cobrança por incidente, ou uma cota de eventos mitigados por mês? Qual é a latência de detecção? A filtragem de Layer 7 está disponível, e em quais níveis? A partir de que limiar e por quanto tempo vocês aplicam null-route, e vocês avisam quando isso acontece? A mitigação muda o meu roteamento ou a minha latência enquanto está ativa? A proteção está no endereço que recebo por padrão? E — a que quase ninguém pergunta — o que é retido sobre o meu tráfego enquanto a mitigação está em execução?

Essa última pergunta importa mais nesse mercado do que em qualquer outro. Scrubbing significa que algo a montante está olhando para os seus pacotes. Pergunte o que sobrevive ao evento. A nossa resposta, e ela não muda durante um ataque: a detecção roda sobre contadores agregados na borda — pacotes e bits por segundo, por prefixo — não sobre registros retidos por fluxo, e a posição permanente de nenhum netflow, nenhum PCAP e nenhum espelhamento de NIC, publicada na política de privacidade, se aplica durante a mitigação exatamente como no resto do tempo. Uma hospedagem que não consegue responder a isso está te dizendo alguma coisa.

Se as respostas vierem rasas, a alternativa é barata: compre um mês do menor plano, aponte uma sonda de monitoramento para ele e pergunte diretamente ao suporte o que acontece quando a máquina é atingida. Aqui não há contrato nem taxa de configuração, então uma hospedagem que foge da pergunta por escrito custa apenas $8.50 para você descobrir isso. Implante um Starter, ou leia VPS versus dedicado se a carga de trabalho for grande o suficiente para que a resposta mude o nível.

Respostas rápidas

Perguntas frequentes

Eu realmente preciso de proteção contra DDoS em um VPS pequeno?
Se a máquina é um endpoint WireGuard pessoal que ninguém conhece, realisticamente não — você não é um alvo. Se ela hospeda qualquer coisa com audiência, um adversário ou uma seção de comentários, sim, porque os ataques que chegam a servidores pequenos vêm de assinaturas de booter de $15/mês e não exigem nenhuma habilidade ou motivo além de irritação. A pergunta relevante não é se um ataque é provável, mas o que a hospedagem faz quando um chega, já que um endereço desprotegido geralmente recebe null-route em vez de ser defendido.
Qual é a diferença entre scrubbing e null-routing?
O scrubbing filtra o ataque a montante e deixa o tráfego legítimo passar, então o seu serviço permanece online. O null-routing (blackholing, RTBH) retira o seu endereço IP da tabela de roteamento, então nada chega até ele — o ataque para, e tudo o mais também para. Ambos são vendidos como "proteção contra DDoS". Um protege o seu serviço; o outro protege a rede da hospedagem às suas custas.
Vocês vão me aplicar null-route se o ataque for maior que a capacidade de vocês?
Isso ainda não foi necessário — o maior evento absorvido para um cliente foi acima de 600 Gbps contra um servidor de jogo, bem dentro da margem da malha. Se algum dia um ataque superasse o que quatro pontos de presença conseguem absorver, a sequência é um null-route temporário do único endereço afetado, enquanto o resto da alocação continua sendo servido, e você é avisado de que isso aconteceu em vez de ter que descobrir sozinho por um alerta de monitoramento. Não há nenhuma cobrança por incidente associada a nada disso.
A mitigação de DDoS adiciona latência quando nada está acontecendo?
Não, porque a malha é sempre ativa e anycast, em vez de um desenho de desvio sob detecção. Não há reanúncio de BGP no início de um ataque nem transporte de tráfego até um centro de scrubbing distante, que é exatamente o mecanismo que torna alguns provedores visivelmente mais lentos durante um evento. Os seus pacotes seguem o mesmo caminho em uma terça-feira tranquila e no meio de uma inundação.
Posso colocar a Cloudflare na frente de um VPS offshore?
Tecnicamente sim, e é uma má combinação exatamente pelo motivo que te levou a escolher offshore em primeiro lugar. Um proxy constituído nos EUA termina o seu TLS, vê o seu tráfego em texto claro, processa reclamações de abuso e de direitos autorais segundo a sua própria política, e mantém uma conta que pode ser intimada. A hospedagem ignorar um aviso de DMCA vale pouco quando o CDN na frente dela não ignora. Se você quer uma camada de cache e filtragem, rode-a você mesmo em uma segunda instância em uma jurisdição compatível e restrinja o firewall da origem a ela.
A filtragem de Layer 7 está incluída, ou é um upsell?
A malha L3/L4 — a parte que decide se você permanece online sob um flood volumétrico — está incluída em todo plano, sem opt-in e sem custo extra. Regras de Layer 7 para HTTP, HTTPS e WebSocket estão disponíveis mediante solicitação e vêm com templates predefinidos para os padrões mais comuns: endpoints de autenticação, checkout e lobbies de jogo. Não existe um "nível de proteção" que precise ser comprado antes que um ataque seja mitigado.
O meu servidor de jogo sofre boot em toda partida — isso vai resolver?
Esse é, de longe, o motivo mais comum pelo qual as pessoas migram para cá. O tráfego de booter contra servidores de jogo é amplificação volumétrica, que a malha anycast absorve de forma transparente, e os perfis L7 para jogos descartam handshakes malformados sem tocar em sessões reais de jogadores. Implante na Holanda ou na Romênia para o menor RTT europeu, e leia a página de servidor de jogo para dimensionar o plano — uma instância de Minecraft modificada para 30–50 jogadores precisa do Pro em vez do Starter por razões de CPU, não de rede.
A malha de scrubbing registra o meu tráfego?
A detecção é baseada em limiares sobre contadores agregados na borda — pacotes e bits por segundo por prefixo — em vez de registros retidos por fluxo sobre as suas sessões. A posição publicada de nenhum netflow, nenhum PCAP e nenhum espelhamento de NIC vale tanto durante a mitigação quanto fora dela, e os IPs de sessão do painel são apagados em 24 horas de qualquer forma. Vale a pena fazer essa pergunta especificamente a toda hospedagem offshore, porque o scrubbing é o único lugar onde inspecionar o tráfego é uma exigência de engenharia legítima e, portanto, um lugar fácil de guardar os resultados.
Aplicar isto

Cargas de trabalho abordadas neste guia

Cada card abre uma página específica por carga de trabalho com recomendações de dimensionamento e FAQ de sysadmin.

Leu o suficiente? Implantar em 60 segundos

Sem verificação de e-mail, sem ID, sem conta. Escolha um plano, pague em qualquer criptomoeda, receba o root.