SSD Nodes Learn
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-07-24

Ubuntu 24.04 unattended-upgrades attivo?

Su Ubuntu Server 24.04 gli aggiornamenti sono gestiti da unattended-upgrades. Scopri come usare 20auto-upgrades e gestire il parametro Automatic-Reboot.

Perché vale la pena configurare gli aggiornamenti di sicurezza automatici

Un server non patchato è il bersaglio più semplice su Internet. La maggior parte delle violazioni di piccoli server non è sofisticata; si tratta di bug noti in pacchetti obsoleti che il proprietario non ha mai aggiornato. Ubuntu fornisce uno strumento che colma questo divario autonomamente: unattended-upgrades installa gli aggiornamenti di sicurezza automaticamente, secondo un programma prestabilito, senza necessità di login. È il vantaggio di sicurezza più economico disponibile su un VPS, e su Ubuntu richiede solo pochi minuti di configurazione.

Lo strumento è deliberatamente conservativo. Di default applica solo gli aggiornamenti di sicurezza, non ogni aggiornamento di pacchetto, poiché una patch di sicurezza è a basso rischio e vale la pena applicarla senza revisione, mentre un aggiornamento di funzionalità può cambiare il comportamento su cui si fa affidamento. Questo valore predefinito è quello corretto per la maggior parte dei server; questa guida lo mantiene mostrando solo le poche impostazioni che vale la pena modificare.

Step 1: Installazione e attivazione

Su Ubuntu 24.04 il pacchetto è spesso presente ma non sempre abilitato. Installalo e attivalo:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Il prompt dpkg-reconfigure pone una singola domanda (sì/no) se scaricare e installare automaticamente gli aggiornamenti stabili. Rispondi sì. Questo scrive il file che attiva il job giornaliero:

cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

La prima riga aggiorna l'elenco dei pacchetti ogni giorno; la seconda esegue l'unattended upgrade ogni giorno. Impostare entrambi su 1 significa che la macchina controlla e applica gli aggiornamenti di sicurezza ogni giorno, tramite un timer systemd, senza ulteriori azioni da parte tua.

Step 2: Decidi cosa viene applicato automaticamente

La policy si trova in /etc/apt/apt.conf.d/50unattended-upgrades. Aprilo e osserva il blocco Allowed-Origins vicino all'inizio:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    "${distro_id}ESMApps:${distro_codename}-apps-security";
    "${distro_id}ESM:${distro_codename}-infra-security";
};

Le righe -security sono quelle rilevanti e sono abilitate di default. Questa è la policy conservativa: aggiornamenti di sicurezza inclusi, aggiornamenti di funzionalità ordinari lasciati a te per l'applicazione manuale quando lo decidi. Puoi aggiungere la riga di origine "${distro_id}:${distro_codename}-updates" per applicare automaticamente tutti gli aggiornamenti, ma per un server che ospita servizi importanti, applicare solo le patch di sicurezza automaticamente è l'impostazione predefinita più sicura. Lascialo così com'è, a meno che tu non abbia un motivo specifico per farlo.

Step 3: Gestione del riavvio

Alcuni aggiornamenti, come un kernel o una libreria core, hanno effetto completo solo dopo un riavvio. unattended-upgrades non riavvierà il server a meno che tu non lo indichi, il che significa che un kernel patchato può rimanere inutilizzato finché non decidi di riavviare. Decidi come gestire questa situazione e impostala esplicitamente in 50unattended-upgrades:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Questo riavvia il server alle quattro del mattino quando, e solo quando, un aggiornamento lo richiede. Su un singolo VPS senza un cluster di failover, un breve riavvio mattutino è solitamente il compromesso corretto per mantenere il kernel aggiornato. Se il tuo server esegue servizi che non devono mai riavviarsi inaspettatamente, disabilita il riavvio e prendi l'abitudine di riavviare manualmente dopo aver controllato /var/run/reboot-required.

Step 4: Verifica del funzionamento

Non aspettare un giorno per scoprire se il job viene eseguito. Avvia una simulazione (dry run) che mostri esattamente cosa verrebbe applicato, senza modificare nulla:

sudo unattended-upgrade --dry-run --debug

L'output elenca i pacchetti considerati e le relative origini, così puoi vedere la policy in azione. Dopo che il job reale è stato eseguito almeno una volta, il registro si trova qui:

cat /var/log/unattended-upgrades/unattended-upgrades.log

Quel log risponde alla domanda "il mio server si sta effettivamente patchando da solo". Se mostra pacchetti di sicurezza installati secondo il programma, il job sta funzionando.

Integrazione nel sistema

Gli aggiornamenti automatici sono uno strato di un server protetto, non l'intero sistema. Impediscono che i bug noti rimangano aperti, ma non controllano chi può effettuare il login o cosa è esposto. Abbinali a un SSH hardening basato solo su chiavi per evitare attacchi brute-force, a un UFW firewall con policy default-deny per rendere raggiungibili solo i servizi scelti, e a unprivileged service users affinché un'app compromessa non possa prendere il controllo dell'intero sistema. Il patching chiude i buchi che conosci; gli altri strati limitano i danni causati da quelli che non conosci.

FAQ

unattended-upgrades applica ogni aggiornamento o solo quelli di sicurezza?

Di default, 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 di funzionalità ordinari da applicare manualmente. È una scelta deliberata: le patch di sicurezza sono a basso rischio e vale la pena applicarle automaticamente, mentre gli aggiornamenti di funzionalità possono cambiare il comportamento del sistema, quindi la maggior parte dei server dovrebbe mantenere l'impostazione predefinita conservativa.

Gli aggiornamenti automatici riavvieranno il mio server?

Solo se lo indichi. Imposta Unattended-Upgrade::Automatic-Reboot "true" e un Automatic-Reboot-Time nella configurazione, e il server si riavvierà a quell'ora quando un aggiornamento lo richiede, ad esempio dopo una patch del kernel. Se disabilitato, un kernel patchato attende finché non riavvii manualmente; controlla /var/run/reboot-required per sapere se è in sospeso un riavvio.

Come controllo che gli aggiornamenti automatici stiano effettivamente girando?

Esegui sudo unattended-upgrade --dry-run --debug per vedere cosa verrebbe applicato subito, senza modificare nulla, e leggi /var/log/unattended-upgrades/unattended-upgrades.log per lo storico delle esecuzioni; ogni installazione automatica viene registrata anche in /var/log/apt/history.log. Se il log mostra pacchetti di sicurezza installati con una frequenza giornaliera, il timer funziona. Se la simulazione stampa No packages found that can be upgraded unattended, o tutto è già aggiornato, o le origini consentite sono troppo limitate per includere il repository di sicurezza.

unattended-upgrades è sufficiente per mantenere sicuro il mio server?

No, ma è uno strato necessario. Impedisce che vulnerabilità note rimangano senza patch, bloccando il tipo di violazione più comune, ma non controlla l'accesso o l'esposizione. Combinalo con SSH hardening, un firewall default-deny e utenti di servizio con privilegi minimi per avere un server realmente difficile da violare.

#unattended-upgrades#ubuntu-24-04#security#updates#hardening