Configurare firewall avanzati con nftables su VPS gestite senza personale tecnico qualificato: guida operativa Debian e Ubuntu

Se gestisci un VPS con distribuzioni Linux come Debian o Ubuntu senza l'aiuto di personale tecnico qualificato, la sicurezza è probabilmente la sfida più critica che affronti quotidianamente. Un firewall configurato in modo errato o non adeguato può rapidamente esporre la tua azienda a intrusioni, perdita di dati e gravi interruzioni operative.

Nella mia esperienza come consulente IT (approfondisci qui il mio metodo operativo), nftables rappresenta una soluzione potente, moderna e flessibile per garantire la sicurezza di server VPS gestiti in autonomia. Questa guida tecnica ti mostrerà come configurare correttamente nftables su server Debian e Ubuntu, per garantire la sicurezza della tua infrastruttura aziendale.

Stai cercando un Consulente Informatico esperto per la tua Azienda? Nel mio profilo professionale trovi la mia esperienza e le competenze specifiche per aiutarti a risolvere qualsiasi problematica tecnica. Contattami per una consulenza.

Introduzione rapida a nftables

nftables è il firewall ufficiale del kernel Linux moderno, che sostituisce gradualmente iptables. Offre regole più semplici, flessibili e leggibili rispetto al suo predecessore, permettendo una gestione avanzata della sicurezza del tuo server senza complicazioni inutili.

Verifica presenza e installazione nftables

La prima cosa da fare è verificare se nftables è già installato sul tuo server:

apt update && apt install nftables -y
systemctl enable nftables && systemctl start nftables

Configurazione base di nftables

Crea una configurazione iniziale semplice, senza troppe regole, per garantire che il tuo server sia protetto da attacchi comuni e che le applicazioni essenziali funzionino correttamente.

Esempio di configurazione di base (/etc/nftables.conf)

Questa configurazione di base è adatta per la maggior parte dei server VPS Debian e Ubuntu. Con questa configurazione, il server accetterà connessioni SSH, HTTP e HTTPS, mentre bloccherà tutto il traffico non autorizzato.

Crea o modifica il file /etc/nftables.conf con il seguente contenuto:

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;

        # Accetta connessioni già stabilite
        ct state established,related accept

        # Accetta localhost
        iif lo accept

        # Consenti SSH (modifica la porta se necessario)
        tcp dport 22 accept

        # Consenti HTTP/HTTPS
        tcp dport {80, 443} accept

        # Permetti ICMP (ping)
        ip protocol icmp accept

        # Logga e blocca tutto il resto
        log prefix "NFTABLES DROP: " level info
        drop
    }
}

Carica la configurazione, dopo averla salvata:

nft -f /etc/nftables.conf

Gestione delle regole nftables

Impara alcuni comandi essenziali per gestire nftables:

  • nft list ruleset: visualizza le regole attive.
  • nft add rule: aggiunge una nuova regola.
  • nft delete rule: elimina una regola esistente.
  • nft flush ruleset: svuota tutte le regole attive.
  • nft save > /etc/nftables.conf: salva le regole attive in un file di configurazione.
  • nft restore < /etc/nftables.conf: ripristina le regole da un file di configurazione.

Vediamo nel dettaglio alcune operazioni comuni che potresti dover eseguire:

Visualizzare le regole attive

Per visualizzare le regole attive sul tuo server, usa il comando:

nft list ruleset

Aggiungere una nuova regola

Per aggiungere una nuova regola, ad esempio permettere l'accesso a una porta specifica (es. PostgreSQL su porta 5432):

nft add rule inet filter input tcp dport 5432 accept

Eliminare regole esistenti

Potresti avere bisogno di rimuovere regole specifiche. Per farlo, devi conoscere il numero di handle della regola. Puoi trovare questo numero eseguendo:

nft delete rule inet filter input handle NUMERO_HANDLE

# Per trovare il NUMERO_HANDLE

nft -a list ruleset

Protezione avanzata contro brute-force SSH

Proteggersi da attacchi brute-force SSH è fondamentale per mantenere la sicurezza del tuo server. Con nftables, puoi implementare facilmente regole che limitano il numero di tentativi di accesso SSH.

Regola nftables anti brute-force SSH

Questa regola limita il numero di tentativi di connessione SSH a 10 al minuto, riducendo il rischio di attacchi brute-force. Attenzione: questa regola potrebbe essere troppo restrittiva per alcuni scenari, quindi valuta attentamente le tue esigenze prima di applicarla. In più, questa regola non è la panacea contro qualsiasi attacco, ma è un buon punto di partenza per migliorare la sicurezza del tuo server.

nft add rule inet filter input tcp dport 22 ct state new limit rate 10/minute accept

Logging avanzato con nftables

E' buona norma tenere traccia delle attività sospette sul tuo server. Configurare il logging avanzato con nftables ti permette di monitorare e rispondere rapidamente a potenziali minacce.

Aggiungi regola per logging dettagliato

Per registrare i tentativi di accesso non autorizzati, puoi aggiungere una regola che logga i pacchetti bloccati:

nft add rule inet filter input log prefix "NFTABLES DENIED: " level warn

Per verificare i log, puoi usare il comando:

grep "NFTABLES DENIED" /var/log/syslog

Automazione e persistenza delle regole nftables

Configura nftables per garantire che le regole siano sempre applicate automaticamente al riavvio del server:

Crea servizio Systemd per caricare regole nftables all'avvio (se non già abilitato)

systemctl enable nftables

Verifica la persistenza delle regole al riavvio:

reboot

# dopo riavvio controlla

nft list ruleset

Strategie di sicurezza proattive per VPS senza supporto tecnico qualificato

Adotta misure preventive aggiuntive per la massima sicurezza del tuo VPS:

  • Automatizza aggiornamenti di sicurezza Debian/Ubuntu:

    apt install unattended-upgrades -y
    dpkg-reconfigure -plow unattended-upgrades
  • Configura Fail2ban per bloccare automaticamente IP malevoli:

    apt install fail2ban -y
    systemctl enable fail2ban && systemctl start fail2ban
  • Implementa backup regolari e sicuri dei dati:

    apt install rsync -y
    rsync -avz /path/to/data /path/to/backup
  • Monitora costantemente le risorse del server con strumenti come htop o glances:

    apt install htop -y
    htop
  • Configura un sistema di monitoraggio come Zabbix o Prometheus per ricevere avvisi in tempo reale su attività sospette o anomalie.

  • Configura notifiche email automatiche per eventi critici:

    apt install mailutils -y
    echo "Test email" | mail -s "Test Subject"

In un mio precedente approfondimento "Ripristinare HTTPS urgente su VPS gestite senza supporto tecnico", trovi altre strategie cruciali per garantire sicurezza e continuità.

Un firewall ben configurato con nftables non è un’opzione, ma una necessità strategica che ogni azienda deve adottare immediatamente per garantire sicurezza e operatività continue.

Se stai affrontando una situazione di emergenza legata alla sicurezza del tuo server VPS e hai bisogno di supporto immediato e qualificato, contattami subito. Insieme proteggeremo in modo efficace e duraturo il tuo business.

Ultima modifica: Venerdì 11 Luglio 2025, alle 07:32