Introduzione

L'aggiornamento regolare del sistema Ubuntu è uno degli aspetti più importanti della sicurezza generale del sistema. Se non aggiorni i pacchetti del sistema operativo con le ultime patch di sicurezza, il sistema sarà vulnerabile agli attacchi.

Se gestisci più server Ubuntu, l'aggiornamento manuale dei pacchetti di sistema potrebbe richiedere molto tempo. Anche se gestisci una singola installazione di Ubuntu a volte potresti trascurare un aggiornamento importante.

In questo tutorial, vedremo come configurare gli aggiornamenti automatici (Unattended Security Updates) su Ubuntu 18.04. Gli stessi passaggi si applicano per Ubuntu 16.04 e qualsiasi distribuzione basata su Ubuntu, inclusi Kubuntu, Linux Mint e SO elementare.

Prerequisiti

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo .

Installare il pacchetto unattended-upgrades

Il pacchetto unattended-upgrades viene utilizzato per installare automaticamente i pacchetti aggiornati. È probabile che questo pacchetto sia già installato sul tuo sistema Ubuntu, altrimenti puoi installarlo con il seguente comando nel tuo terminale:

sudo apt install unattended-upgrades

Una volta completata l'installazione, il servizio  degli aggiornamenti automatici verrà abilitato e si avvierà automaticamente. Puoi verificarlo digitando:

systemctl status unattended-upgrades
● unattended-upgrades.service - Unattended Upgrades Shutdown
   Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enab
   Active: active (running) since Sun 2019-09-03 11:32:09 UTC; 1min 53s 
     Docs: man:unattended-upgrade(8)
   CGroup: /system.slice/unattended-upgrades.service

Configurazione degli aggiornamenti automatici

Possiamo configurare le impostazioni del pacchetto unattended-upgrades modificando il file /etc/apt/apt.conf.d/50unattended-upgrades. La configurazione predefinita dovrebbe funzionare correttamente per la maggior parte degli utenti, ma è possibile aprire il file e apportare le modifiche necessarie.

Il pacchetto unattended-upgrades può essere configurato per aggiornare tutti i pacchetti o solo gli aggiornamenti di sicurezza. La prima sezione definisce quali tipi di pacchetti verranno automaticamente aggiornati. Per impostazione predefinita, installerà solo gli aggiornamenti di sicurezza, se si desidera abilitare gli aggiornamenti dagli altri repository, è possibile decommentare il repository appropriato rimuovendo la doppia barra // dall'inizio della riga. Tutto ciò che segue // è un commento e non viene letto dal pacchetto.

Aprire il seguente file:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESM:${distro_codename}";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

...

Se per qualsiasi motivo si desidera disabilitare l'aggiornamento automatico di determinati pacchetti, è sufficiente aggiungerlo alla Blacklist dei pacchetti:

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

...

Potresti anche voler ricevere un'e-mail se per qualche motivo c'è un problema con l'aggiornamento automatico. Per fare ciò decommenta le due righe seguenti e inserisci il tuo indirizzo email. Assicurati di avere uno strumento in grado di inviare e-mail installate sul tuo sistema, come mailx o postfix.

Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailOnlyOnError "true";

Abilitare gli aggiornamenti automatici

Per abilitare l'aggiornamento automatico, è necessario assicurarsi che il file di configurazione apt /etc/apt/apt.conf.d/20auto-upgrades contenga almeno le seguenti due righe, che dovrebbero essere incluse per impostazione predefinita:

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

La configurazione precedente aggiorna l'elenco dei pacchetti e installa gli aggiornamenti disponibili ogni giorno.

Puoi anche aggiungere la seguente riga che pulirà l'archivio di download locale ogni 7 giorni.

APT::Periodic::AutocleanInterval "7";

Un altro modo per abilitare/disabilitare gli aggiornamenti automatici è eseguendo il seguente comando che modificherà (o creerà se non esiste) il file /etc/apt/apt.conf.d/20auto-upgrades.

sudo dpkg-reconfigure -plow unattended-upgrades

Per verificare se gli aggiornamenti automatici funzionano correttamente, procedi nel seguente modo:

sudo unattended-upgrades --dry-run --debug

L'output dovrebbe assomigliare a questo:

...
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals

La cronologia degli aggiornamenti automatici viene registrata nel file /var/log/unattended-upgrades/unattended-upgrades.log.

Conclusione

In questo tutorial, abbiamo visto come configurare gli automatic unattended updates e mantenere il sistema aggiornato.