Guida alle tecnologie

Configurare aggiornamenti di sicurezza automatici su Ubuntu 16.04

6 min read Sicurezza Linux Aggiornato 08 Oct 2025
Aggiornamenti sicurezza automatici su Ubuntu 16.04
Aggiornamenti sicurezza automatici su Ubuntu 16.04

Questo articolo mostra, passo dopo passo, come installare e configurare unattended-upgrades su Ubuntu 16.04 per scaricare e applicare automaticamente solo gli aggiornamenti di sicurezza. Include controlli, log, notifiche via email, riavvio automatico e procedure operative consigliate per amministratori.

Perché è importante

Gli aggiornamenti di sicurezza vanno applicati entro 30 giorni dalla loro pubblicazione per ridurre la finestra di esposizione. Anche se Linux è tra i sistemi più sicuri, le vulnerabilità esistono e vanno corrette tempestivamente.

Cosa faremo

  1. Installare unattended-upgrades su Ubuntu 16.04
  2. Configurare unattended-upgrades per aggiornamenti di sicurezza
  3. Abilitare gli aggiornamenti automatici periodici
  4. Verificare i pacchetti aggiornati e controllare i log

Prerequisiti

  • Server Ubuntu 16.04
  • Privilegi di root (o sudo)
  • Accesso SSH al server

1 — Installare unattended-upgrades

Accedi al server via SSH:

ssh root@hakase-labs

Aggiorna gli elenchi dei pacchetti e installa unattended-upgrades:

sudo apt update
sudo apt install unattended-upgrades

Dopo l’installazione, il file di configurazione principale si trova in /etc/apt/apt.conf.d/50unattended-upgrades. Lo modificheremo per limitare gli upgrade solo ai pacchetti di sicurezza e per abilitare alcune opzioni utili.

2 — Configurare unattended-upgrades

Apri il file di configurazione:

cd /etc/apt/apt.conf.d/
vim 50unattended-upgrades

Definire il tipo di upgrade

Per applicare solo aggiornamenti di sicurezza, lascia solo la riga che include “${distro_id}:${distro_codename}-security” nel blocco Unattended-Upgrade::Allowed-Origins. Esempio:

Unattended-Upgrade::Allowed-Origins {
 //      "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
 //      "${distro_id}ESM:${distro_codename}";
 //      "${distro_id}:${distro_codename}-updates";
 //      "${distro_id}:${distro_codename}-proposed";
 //      "${distro_id}:${distro_codename}-backports";
};

Configurare unattended-upgrades

Alt immagine: Schermata del file di configurazione 50unattended-upgrades con la riga -security mantenuta.

Blacklist di pacchetti

Se vuoi escludere pacchetti critici dagli aggiornamenti automatici, usa Unattended-Upgrade::Package-Blacklist. Esempio:

Unattended-Upgrade::Package-Blacklist {
        "vim";
        "mysql-server";
        "mysql-client";
 //      "libc6";
};

Questa blacklist è utile quando certi pacchetti devono essere aggiornati manualmente per motivi di compatibilità.

Opzioni aggiuntive importanti

Abilita notifiche email, pulizia automatica dei dipendenti inutilizzati e riavvio automatico (se necessario).

  • Notifica email (invia al root):
Unattended-Upgrade::Mail "root";

Nota: assicurati di avere mailx o sendmail installati:

sudo apt install -y sendmail
  • Rimuovere dipendenze inutilizzate:
Unattended-Upgrade::Remove-Unused-Dependencies "true";
  • Riavvio automatico dopo aggiornamenti (solo se necessario):
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "00:00";

Impostando Automatic-Reboot, il server verrà riavviato automaticamente se un aggiornamento lo richiede. Puoi specificare l’orario con Automatic-Reboot-Time.

Salva e chiudi il file.

Importante: il riavvio automatico ridurrà la disponibilità; valuta finestre di manutenzione per servizi critici.

3 — Abilitare gli aggiornamenti automatici periodici

Modifica il file 20auto-upgrades per programmare l’esecuzione quotidiana di aggiornamenti e download:

cd /etc/apt/apt.conf.d/
vim 20auto-upgrades

Contenuto consigliato:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "3";
APT::Periodic::Unattended-Upgrade "1";

Significato rapido:

  • Update-Package-Lists: 1 abilita l’aggiornamento dell’elenco pacchetti.
  • Download-Upgradeable-Packages: 1 abilita il download automatico dei pacchetti aggiornabili.
  • AutocleanInterval: giorni per pulire la cache dei pacchetti.
  • Unattended-Upgrade: 1 abilita l’esecuzione di unattended-upgrades.

Dopo questa configurazione, gli aggiornamenti di sicurezza verranno scaricati e installati automaticamente secondo le impostazioni.

4 — Verificare i pacchetti aggiornati

Controllare i log di unattended-upgrades

I log si trovano in /var/log/unattended-upgrades. Elenca i file:

cd /var/log/unattended-upgrades
ls -lah

Check updated packages

Alt immagine: Elenco dei file di log della cartella /var/log/unattended-upgrades.

I file principali:

  1. unattended-upgrades-dpkg.log — azioni dpkg (installazioni, rimozioni).
  2. unattended-upgrades.log — elenco pacchetti, blacklist e messaggi di errore.
  3. unattended-upgrades-shutdown.log — log relativi al riavvio pianificato.

Esempi di comandi utili:

sudo tail -n 200 /var/log/unattended-upgrades/unattended-upgrades.log
sudo grep "upgrade" /var/log/unattended-upgrades/unattended-upgrades-dpkg.log

Notifiche a login SSH

All’accesso SSH può comparire una notifica che segnala l’esistenza di aggiornamenti o che gli aggiornamenti sono stati appena applicati.

Update notification

Alt immagine: Messaggio di notifica al login SSH che indica aggiornamenti disponibili.

Security package update notification

Alt immagine: Messaggio che conferma la corretta applicazione degli aggiornamenti di sicurezza.

Notifiche via email

Se hai abilitato la mail, controlla /var/mail/root:

cd /var/mail/
cat root

Le email contengono informazioni su pacchetti aggiornati, esclusi e rimossi.

Verifica riavvii

Per vedere gli ultimi riavvii:

last reboot

Questa lista aiuta a verificare se e quando il server è stato riavviato dopo un aggiornamento.

Upgrade result

Alt immagine: Output del comando last che mostra i riavvii del sistema prima e dopo gli aggiornamenti.

Procedure operative consigliate (SOP)

  1. Testare la configurazione su un ambiente di staging identico in versione e pacchetti.
  2. Abilitare first pass in staging senza riavvio automatico per 2 settimane.
  3. Abilitare notifica email a un indirizzo di monitoraggio (non solo root).
  4. Abilitare riavvio automatico solo per server non critici o in finestre di manutenzione.
  5. Monitorare i log quotidianamente per 7 giorni dopo l’attivazione.

Playbook rapido per sysadmin

  • Controllo pre-attivazione:
    • Verifica spazio disco: df -h.
    • Verifica servizi critici e dipendenze.
  • Attivazione:
    • Installare unattended-upgrades.
    • Modificare 50unattended-upgrades come sopra.
    • Configurare 20auto-upgrades.
  • Post-attivazione:
    • Verificare log e inviare test email.
    • Pianificare backup prima di grandi aggiornamenti.

Checklist per ruoli

  • Amministratore di sistema:
    • Assicurarsi di avere backup recenti.
    • Testare procedure di rollback.
  • Responsabile servizio:
    • Definire finestre di manutenzione.
    • Autorizzare o negare riavvii automatici.

Quando la soluzione fallisce (controesempi)

  • Se il server non ha accesso a Internet, i pacchetti non vengono scaricati.
  • Se la configurazione di APT è corrotta, unattended-upgrades può fallire.
  • Pacchetti non presenti nei canali security non verranno aggiornati (es. backports non abilitati).
  • In ambienti con policy di change control rigide, gli aggiornamenti automatici possono violare processi interni.

Approcci alternativi

  • gestire aggiornamenti via cron + apt-get upgrade (più manuale e meno sicuro);
  • usare strumenti di gestione centralizzata come Landscape o Ansible per orchestrare aggiornamenti;
  • Canonical Livepatch per patchare il kernel senza riavvio (utile per kernel critici).

Minimodello decisionale (Mermaid)

flowchart TD
  A[Hai backup recenti?] -->|No| B[Esegui backup]
  A -->|Sì| C[Ambiente con accesso Internet?]
  C -->|No| D[Configura repository interni]
  C -->|Sì| E[Abilita unattended-upgrades]
  E --> F{Server critico?}
  F -->|Sì| G[Disabilita riavvio automatico]
  F -->|No| H[Abilita riavvio automatico]

Test e criteri di accettazione

  • Criterio 1: unattended-upgrades installato e attivo.
    • Test: systemctl status unattended-upgrades restituisce active.
  • Criterio 2: vengono scaricati pacchetti di sicurezza.
    • Test: grep "security" /var/log/unattended-upgrades/unattended-upgrades.log mostra eventi recenti.
  • Criterio 3: notifiche email test inviate e ricevute.
    • Test: inviare una mail di test e verificare in /var/mail/root.

Troubleshooting comune

  • Problema: nessuna mail inviata.
    • Controlla che sendmail sia installato e configurato.
  • Problema: pacchetti rimossi non previsti.
    • Controlla il log unattended-upgrades-dpkg.log per capire perché dpkg ha rimosso pacchetti.
  • Problema: aggiornamenti bloccati da dpkg.
    • Esegui sudo dpkg --configure -a e poi sudo apt -f install.

Sicurezza e hardening

  • Mantieni separati gli account con privilegi elevati.
  • Limita accesso SSH con chiavi e firewall.
  • Tieni aggiornati anche gli strumenti di gestione (Ansible, Puppet, ecc.).

Glossario 1 riga

  • unattended-upgrades: pacchetto che applica automaticamente aggiornamenti APT.
  • ESM: Extended Security Maintenance, supporto esteso a pagamento per versioni legacy.

Compatibilità e migrazione

Questa guida è specifica per Ubuntu 16.04: su versioni più recenti (18.04, 20.04) la struttura dei file è simile, ma verifica sempre le differenze nella nomenclatura dei repository e nei pacchetti disponibili.

Piccola metodologia (come adottare questa configurazione in un team)

  1. Documentare la configurazione desiderata in un repo centralizzato di configurazione.
  2. Eseguire test trimestrali su un gruppo di macchine non critiche.
  3. Gradualmente estendere l’attivazione a tutti i server dopo 30 giorni di monitoraggio.

Domande frequenti (brevi)

  • Posso aggiornare anche gli aggiornamenti non-security? Sì: aggiungi le origini -updates o -backports in Allowed-Origins, ma aumenta il rischio di regressioni.
  • Come escludo pacchetti critici? Usa Unattended-Upgrade::Package-Blacklist.
  • Come faccio rollback di un aggiornamento? Dipende dal pacchetto: restore da backup o ripristino di snapshot LVM/VM.

Riepilogo

Abbiamo installato e configurato unattended-upgrades per applicare automaticamente gli aggiornamenti di sicurezza su Ubuntu 16.04, abilitando notifiche via email, pulizia dei pacchetti e riavvio automatico opzionale. Sono incluse procedure operative, checklist, troubleshooting e alternative per la gestione centralizzata.

Reference

Autore
Redazione

Materiali simili

Digitare più velocemente con Fleksy sul telefono
Mobile

Digitare più velocemente con Fleksy sul telefono

Fix PCR7 binding e abilitare crittografia in Windows 11
Windows

Fix PCR7 binding e abilitare crittografia in Windows 11

Ritardare le app di avvio su Mac con DelayedLauncher
Mac

Ritardare le app di avvio su Mac con DelayedLauncher

Account ospite su Mac: guida rapida e sicura
Guide Mac

Account ospite su Mac: guida rapida e sicura

Scaricare immagini da Google Docs: 6 metodi pratici
Guide.

Scaricare immagini da Google Docs: 6 metodi pratici

Chrome non si apre su Windows: come risolvere
Windows

Chrome non si apre su Windows: come risolvere