Voltar ao blog
Janeiro 19, 2026Guias

Como Proteger Seu VPS de Ataques DDoS: Guia Prático

Guia abrangente sobre como proteger seu VPS de ataques DDoS usando firewalls, limitação de taxa e outros métodos comprovados.

Como Proteger Seu VPS de Ataques DDoS: Guia Prático

Ataques DDoS (Distributed Denial of Service) podem tirar seu servidor do ar em minutos, levando a perda de receita, insatisfação do cliente e danos à reputação. Em 2026, tais ataques se tornaram mais sofisticados e acessíveis. Felizmente, os métodos de proteção modernos também evoluíram. Este guia mostrará como proteger seu VPS Hiddence dos tipos mais comuns de ataques DDoS.

O que é um Ataque DDoS?

Um ataque DDoS ocorre quando múltiplos computadores (botnet) enviam simultaneamente solicitações ao seu servidor, sobrecarregando seus recursos e tornando-o indisponível para usuários legítimos.

Principais Tipos de Ataques DDoS

  • Ataques Volumétricos (L3/L4): Inundação UDP, ICMP, inundação SYN — sobrecarregam largura de banda da rede
  • Ataques na Camada de Aplicação (L7): Inundação HTTP, Slowloris — direcionam a camada de aplicação
  • Ataques de Protocolo: Exploram vulnerabilidades em protocolos de rede

Proteção Integrada da Hiddence

Todos os VPS Hiddence incluem proteção básica DDoS de Camada 3-4 (nível de rede). Isso filtra automaticamente a maioria dos ataques volumétricos. No entanto, ataques de Camada 7 (aplicação) requerem configuração adicional.

Passo 1: Configuração do Firewall

A primeira linha de defesa é a configuração adequada do firewall. O UFW (Uncomplicated Firewall) é uma ferramenta simples e eficaz para Ubuntu/Debian.

bash
# Instalar UFW
sudo apt update && sudo apt install ufw -y

# Permitir SSH (IMPORTANTE! Faça isso antes de ativar o UFW)
sudo ufw allow 22/tcp

# Permitir HTTP e HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Ativar UFW
sudo ufw enable

# Verificar status
sudo ufw status verbose

# Regras de proteção avançadas:
# Limitar conexões SSH (proteção contra força bruta)
sudo ufw limit 22/tcp

# Bloquear inundações de ping ICMP
sudo nano /etc/ufw/before.rules
# Adicione após *filter:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

# Proteção contra inundação SYN
sudo nano /etc/sysctl.conf
# Adicione:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Aplicar alterações
sudo sysctl -p

Passo 2: Instalar Fail2Ban

O Fail2Ban bloqueia automaticamente endereços IP mostrando atividade suspeita (múltiplas tentativas de login falhadas, varredura de portas).

bash
# Instalar
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Configuração para proteção SSH e HTTP
# Criar configuração local
sudo nano /etc/fail2ban/jail.local

# Adicione:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw

[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log

[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log

[nginx-limit-req]
enabled = true
filter = nginx-limit-req
port = http,https
logpath = /var/log/nginx/error.log

# Reiniciar Fail2Ban
sudo systemctl restart fail2ban

# Verificar status
sudo fail2ban-client status

Passo 3: Proteção Nginx

Se você está usando Nginx, configure limitação de taxa para proteger contra ataques de inundação HTTP.

bash
sudo nano /etc/nginx/nginx.conf

# Adicione ao bloco http:
http {
    # Limite de solicitação: 10 solicitações por segundo por IP
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
    
    # Limite de conexão
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    
    # Proteção Slowloris
    client_body_timeout 10s;
    client_header_timeout 10s;
    keepalive_timeout 5s 5s;
    send_timeout 10s;
    
    # Resto da configuração...
}

# No bloco server adicione:
server {
    location / {
        # Aplicar limite de solicitação
        limit_req zone=one burst=20 nodelay;
        
        # Limite de conexão: máximo 10 por IP
        limit_conn addr 10;
        
        # Sua configuração...
    }
}

# Testar configuração e recarregar
sudo nginx -t
sudo systemctl reload nginx

Passo 4: Usar CDN

Para máxima proteção, use um serviço CDN como Cloudflare. O CDN atua como proxy, ocultando o IP real do seu servidor e absorvendo a maioria dos ataques DDoS. Benefícios: ocultar IP real, filtragem automática de tráfego malicioso, distribuição de carga, SSL/TLS gratuito, WAF para proteção L7.

  • Registre-se no cloudflare.com (plano gratuito disponível)
  • Adicione seu domínio e altere registros NS no seu registrador
  • Ative o modo 'Proxy' (nuvem laranja) para registros DNS
  • Defina modo SSL para 'Full (strict)' na seção SSL/TLS
  • Ative 'Proteção DDoS' e 'Modo de Combate a Bots' nas configurações de segurança

Passo 5: Monitoramento

O monitoramento regular ajuda a detectar ataques cedo.

bash
# Monitorar conexões ativas
watch -n 1 'ss -s'

# Ver principais IPs por contagem de conexão
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

# Ver logs em tempo real
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f

# Verificar IPs bloqueados no Fail2Ban
sudo fail2ban-client status sshd

Medidas de Emergência

Se um ataque já está em andamento, tome as seguintes medidas:

  • Identificar a origem: Use 'netstat' ou logs para identificar IPs atacantes
  • Bloqueio temporário: sudo ufw insert 1 deny from IP_ATACANTE
  • Bloquear sub-redes inteiras: sudo ufw deny from 123.45.0.0/16
  • Limitar limite de taxa: Temporariamente reduza limites do Nginx para 1-5 req/s
  • Contatar suporte: Entre em contato com o suporte Hiddence para ativação de proteção avançada
  • Ativar 'Modo Sob Ataque' no Cloudflare (se usando)

Melhores Práticas

  • Nunca publique o IP real do seu servidor se estiver usando CDN
  • Atualize regularmente o sistema: sudo apt update && sudo apt upgrade
  • Use chaves SSH em vez de senhas para acesso ao servidor
  • Altere a porta SSH padrão (22) para não padrão
  • Configure backups automáticos para recuperação rápida
  • Use IPs separados para serviços críticos
  • Ative registro e verifique regularmente logs para atividade suspeita
  • Considere usar bloqueio geográfico se seu serviço não for global