Torna al blog
Gennaio 19, 2026Guide

Come proteggere il tuo VPS dagli attacchi DDoS: Guida pratica

Guida completa sulla protezione del tuo VPS dagli attacchi DDoS utilizzando firewall, limitazione della velocità e altri metodi comprovati.

Come proteggere il tuo VPS dagli attacchi DDoS: Guida pratica

Gli attacchi DDoS (Distributed Denial of Service) possono portare offline il tuo server in pochi minuti, causando perdita di entrate, insoddisfazione dei clienti e danni alla reputazione. Nel 2026, tali attacchi sono diventati più sofisticati e accessibili. Fortunatamente, anche i metodi di protezione moderni si sono evoluti. Questa guida ti mostrerà come proteggere il tuo VPS Hiddence dai tipi più comuni di attacchi DDoS.

Cos'è un attacco DDoS?

Un attacco DDoS si verifica quando più computer (botnet) inviano simultaneamente richieste al tuo server, sovraccaricando le sue risorse e rendendolo non disponibile agli utenti legittimi.

Principali tipi di attacchi DDoS

  • Attacchi Volumetrici (L3/L4): Flood UDP, ICMP, SYN flood — sovraccaricano la larghezza di banda di rete
  • Attacchi Livello Applicazione (L7): Flood HTTP, Slowloris — prendono di mira il livello applicazione
  • Attacchi Protocollo: Sfruttano vulnerabilità nei protocolli di rete

Protezione integrata Hiddence

Tutti i VPS Hiddence includono protezione DDoS di base Livello 3-4 (livello di rete). Questo filtra automaticamente la maggior parte degli attacchi volumetrici. Tuttavia, gli attacchi Livello 7 (applicazione) richiedono configurazione aggiuntiva.

Passaggio 1: Configurazione firewall

La prima linea di difesa è una corretta configurazione del firewall. UFW (Uncomplicated Firewall) è uno strumento semplice ed efficace per Ubuntu/Debian.

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

# Consenti SSH (IMPORTANTE! Fallo prima di abilitare UFW)
sudo ufw allow 22/tcp

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

# Abilita UFW
sudo ufw enable

# Controlla stato
sudo ufw status verbose

# Regole di protezione avanzate:
# Limita connessioni SSH (protezione brute force)
sudo ufw limit 22/tcp

# Blocca flood ping ICMP
sudo nano /etc/ufw/before.rules
# Aggiungi dopo *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

# Protezione contro SYN flood
sudo nano /etc/sysctl.conf
# Aggiungi:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Applica modifiche
sudo sysctl -p

Passaggio 2: Installa Fail2Ban

Fail2Ban blocca automaticamente gli indirizzi IP che mostrano attività sospette (più tentativi di accesso falliti, scansione porte).

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

# Configurazione per protezione SSH e HTTP
# Crea configurazione locale
sudo nano /etc/fail2ban/jail.local

# Aggiungi:
[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

# Riavvia Fail2Ban
sudo systemctl restart fail2ban

# Controlla stato
sudo fail2ban-client status

Passaggio 3: Protezione Nginx

Se stai usando Nginx, configura la limitazione della velocità per proteggerti dagli attacchi flood HTTP.

bash
sudo nano /etc/nginx/nginx.conf

# Aggiungi al blocco http:
http {
    # Limite richieste: 10 richieste al secondo per IP
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
    
    # Limite connessioni
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    
    # Protezione Slowloris
    client_body_timeout 10s;
    client_header_timeout 10s;
    keepalive_timeout 5s 5s;
    send_timeout 10s;
    
    # Resto della configurazione...
}

# Nel blocco server aggiungi:
server {
    location / {
        # Applica limite richieste
        limit_req zone=one burst=20 nodelay;
        
        # Limite connessioni: max 10 per IP
        limit_conn addr 10;
        
        # La tua configurazione...
    }
}

# Testa configurazione e ricarica
sudo nginx -t
sudo systemctl reload nginx

Passaggio 4: Usa CDN

Per la massima protezione, usa un servizio CDN come Cloudflare. Il CDN funziona come proxy, nascondendo l'IP reale del tuo server e assorbendo la maggior parte degli attacchi DDoS. Vantaggi: nascondi IP reale, filtraggio automatico traffico dannoso, distribuzione carico, SSL/TLS gratuito, WAF per protezione L7.

  • Registrati su cloudflare.com (piano gratuito disponibile)
  • Aggiungi il tuo dominio e cambia i record NS presso il tuo registrar
  • Abilita modalità 'Proxy' (nuvola arancione) per i record DNS
  • Imposta modalità SSL su 'Full (strict)' nella sezione SSL/TLS
  • Abilita 'Protezione DDoS' e 'Modalità Bot Fight' nelle impostazioni di sicurezza

Passaggio 5: Monitoraggio

Il monitoraggio regolare aiuta a rilevare gli attacchi in anticipo.

bash
# Monitora connessioni attive
watch -n 1 'ss -s'

# Visualizza IP principali per numero di connessioni
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

# Visualizza log in tempo reale
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f

# Controlla IP bloccati in Fail2Ban
sudo fail2ban-client status sshd

Misure di emergenza

Se un attacco è già in corso, adotta le seguenti misure:

  • Identifica la fonte: Usa 'netstat' o log per identificare IP attaccanti
  • Blocco temporaneo: sudo ufw insert 1 deny from IP_ATTACCANTE
  • Blocca intere subnet: sudo ufw deny from 123.45.0.0/16
  • Limita limite velocità: Abbassa temporaneamente i limiti Nginx a 1-5 req/s
  • Contatta supporto: Contatta il supporto Hiddence per attivazione protezione avanzata
  • Abilita 'Modalità Under Attack' in Cloudflare (se usi)

Migliori pratiche

  • Non pubblicare mai l'IP reale del tuo server se usi CDN
  • Aggiorna regolarmente il sistema: sudo apt update && sudo apt upgrade
  • Usa chiavi SSH invece di password per l'accesso al server
  • Cambia porta SSH predefinita (22) con una non standard
  • Configura backup automatici per recupero rapido
  • Usa IP separati per servizi critici
  • Abilita logging e controlla regolarmente i log per attività sospette
  • Considera l'uso del blocco geografico se il tuo servizio non è globale