Guide

La guida del weekend: mettere in sicurezza un server Ubuntu 24.04 nuovo in un'ora

Checklist completa per blindare un VPS Ubuntu 24.04 appena creato: utente sudo, SSH, fail2ban, ufw, aggiornamenti automatici, backup. Comando per comando.

Redazione UptimeMag · 17 ottobre 2026 · 3 minuti di lettura

La guida del weekend: mettere in sicurezza un server Ubuntu 24.04 nuovo in un'ora

Un VPS Ubuntu 24.04 appena creato arriva con un solo utente root e nessuna barriera. Nei primi minuti dopo la prima connessione SSH gli scanner automatici iniziano già a bussare sulla porta 22. Questa è la checklist che usiamo noi su ogni macchina nuova, comando per comando, con verifica a chiusura di ogni blocco. Tempo stimato: un'ora, meno se è la decima volta.

1. Utente non-root con sudo

Primo collegamento come root, poi subito:

adduser deploy
usermod -aG sudo deploy

Verifica che l'utente sia nel gruppo giusto:

groups deploy

Deve comparire sudo nell'elenco. Da qui in avanti si lavora sempre da deploy, mai da root.

2. Disabilitare il login root via SSH

Si modifica /etc/ssh/sshd_config:

sudo sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

Verifica, da un secondo terminale senza chiudere la sessione aperta:

ssh root@IP-DEL-SERVER

Deve rifiutare la connessione. Se funziona ancora, il file non è stato salvato o il servizio non si è riavviato.

3. Fail2ban contro i brute-force

sudo apt update
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban

Verifica:

sudo systemctl status fail2ban
sudo fail2ban-client status sshd

Il primo comando deve mostrare active (running), il secondo l'elenco degli IP attualmente bannati (vuoto su un server nuovo, è normale).

4. Firewall con ufw

La regola più comune da sbagliare: bisogna sempre consentire SSH prima di attivare ufw, perché il comportamento di default nega ogni connessione in entrata senza una regola esplicita.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Verifica:

sudo ufw status verbose

Deve comparire Status: active con le tre regole su 22 (OpenSSH), 80 e 443 in ALLOW. Dopo aver abilitato il firewall, non chiudere subito la sessione SSH in corso: testare prima una nuova connessione in un secondo terminale.

5. Aggiornamenti di sicurezza automatici

Su Ubuntu Server 24.04 il pacchetto unattended-upgrades è installato e abilitato di default, e la documentazione ufficiale di Ubuntu conferma che l'installazione automatica degli aggiornamenti di sicurezza è attiva subito dopo l'installazione. Conviene comunque verificare:

sudo apt update
sudo apt install -y unattended-upgrades
cat /etc/apt/apt.conf.d/20auto-upgrades

Il file deve contenere:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Di default vengono applicati solo gli aggiornamenti di sicurezza: il blocco Allowed-Origins in /etc/apt/apt.conf.d/50unattended-upgrades abilita le origini -security e lascia gli aggiornamenti ordinari da applicare a mano. Per chi preferisce non lasciare nulla al caso, la configurazione va forzata esplicitamente:

sudo dpkg-reconfigure -plow unattended-upgrades

Verifica che il timer sia attivo:

systemctl status unattended-upgrades
systemctl list-timers | grep apt

6. Backup minimo

Un backup minimo non sostituisce uno snapshot del provider, ma copre la configurazione:

sudo mkdir -p /root/backup-config
sudo tar czf /root/backup-config/etc-$(date +%F).tar.gz /etc/ssh /etc/ufw /etc/fail2ban

Verifica che l'archivio esista e non sia vuoto:

ls -lh /root/backup-config/

Da qui, lo spostamento fuori dal server (su storage object, altro host, o lo snapshot del pannello di controllo) è il passo successivo e dipende dal provider: su questo torneremo in una guida dedicata ai backup automatici.

A questo punto il server ha: utente dedicato, root chiuso su SSH, fail2ban attivo, firewall con solo 22/80/443 aperte, patch di sicurezza automatiche e una copia minima della configurazione. Non è tutto, ma è la base che va fatta prima di mettere in produzione qualunque cosa.

Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).