Como proteger uma VPS contra ataques DDoS
Um ataque de negação de serviço distribuído (DDoS) inunda um servidor ou a sua conexão de rede com tráfego até que visitantes reais não consigam mais acessar. Alguns ataques são grandes demais para o próprio servidor suportar, por isso a proteção funciona melhor em camadas: primeiro a filtragem na borda da rede e depois as configurações de firewall e de aplicação na VPS. A ONIE protege servidores em nuvem em Ho Chi Minh City com o DDoS Shield na borda da rede sem custo adicional, e você pode implantar uma VPS com proteção DDoS em poucos minutos.
Tipos de ataque
- Volumétricos (camadas 3 e 4): enxurradas de pacotes que saturam o link de rede, por exemplo floods UDP.
- Ataques de protocolo: abuso do gerenciamento de conexões, como floods SYN que enchem a tabela de conexões.
- Camada de aplicação (camada 7): muitas requisições HTTP com aparência legítima que esgotam o servidor web ou o banco de dados.
Cada tipo exige uma defesa diferente. O tráfego volumétrico precisa ser bloqueado antes de chegar ao servidor; os floods de aplicação podem ser reduzidos no próprio servidor.
1. Filtre na borda da rede
A filtragem na borda descarta o tráfego ruim antes que ele chegue à sua VPS, evitando que o link seja saturado. Com o DDoS Shield, a filtragem roda na borda da rede usando XDP/eBPF, e o console mostra o tráfego e os eventos de ataque de cada IP. Pergunte a qualquer provedor que você avaliar o que está incluído, onde a filtragem acontece e se há cobrança extra.
2. Feche o que você não usa
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableNão exponha bancos de dados ou painéis administrativos à internet. Vincule-os a 127.0.0.1 ou a uma rede privada.
3. Ajuste o kernel para floods SYN
Os cookies SYN já vêm ativados por padrão na maioria das distribuições. Verifique:
sysctl net.ipv4.tcp_syncookiesMantenha as demais alterações de kernel pequenas e teste-as, pois valores incorretos podem prejudicar o tráfego normal.
4. Limite as requisições no Nginx
No bloco http:
limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=connperip:10m;No bloco server ou location:
limit_req zone=perip burst=20 nodelay;
limit_conn connperip 20;Recarregue com sudo nginx -t && sudo systemctl reload nginx. Sirva arquivos estáticos a partir do cache e use um plugin de cache no WordPress para reduzir o custo de cada requisição. Veja como instalar o WordPress com Nginx.
5. Monitore o tráfego
ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nloadUm aumento repentino de conexões ou de largura de banda, ou um servidor que fica lento com baixo uso de CPU, pode indicar um ataque. Configure alertas para perceber o problema cedo.
6. Checklist de incidente
- Confirme no console se o tráfego é um ataque ou um pico real.
- Verifique os eventos de ataque e o IP atacado.
- Bloqueie os endereços de origem abusivos ou faixas que você conseguir identificar.
- Ative limites de requisição mais rígidos ou uma página de manutenção.
- Entre em contato com o suporte do provedor informando o horário e o IP.
- Depois, revise os logs e atualize este plano. Mantenha os backups e snapshots atualizados.
Perguntas frequentes
Um firewall na VPS consegue bloquear um DDoS grande?
Não sozinho. Se o tráfego saturar o link de rede, o servidor não consegue filtrá-lo. É preciso filtragem antes do servidor.
Um CDN ajuda?
Para sites, um CDN ou proxy reverso pode absorver o tráfego web, desde que o IP real do seu servidor não fique exposto no DNS ou nos cabeçalhos de e-mail.
Preciso de um plano especial para proteção DDoS?
Depende do provedor. Verifique o que está incluído no seu plano e na sua localização.