Sistema actualizado con unattended-upgrades

Siempre es recomendable tener un sistema actualizado para evitar problemas con exploits conocidos (WannaCry, te hablo a vos!). 

Una forma de hacer esto es entrar al servidor al menos un par de veces por semana y correr el update manualmente. Otra forma es usar unattended-upgrades y que las actualizaciones se hagan automáticamente.

Obviamente, yo opté por la segunda :D

Instalación y configuración

La instalación, como cualquier paquete en los repos oficiales, es muy simple:

apt install unattended-upgrades

Una vez instalado vamos a revisar /etc/apt/apt.conf.d/50unattended-upgrades para validar que la configuración sea como nosotros la queremos. En este archivo podemos definir las fuentes de nuestros paquetes y también poner alguno en la blacklist, para que no sea actualizdo, entre otras opciones. Yo personalmente solo hago un cambio: habilito los updates, descomentando la linea que dice "${distro_id}:${distro_codename}-updates". Entonces esa porción del config queda así:

// Automatically upgrade packages from these (origin:archive) pairs
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";
};

Para terminar de habilitar necesitamos crear un archivo en /etc/apt/apt.conf.d, por ejemplo /etc/apt/apt.conf.d/10periodic con el siguiente contenido:

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

Unattended-upgrades guarda un log, por lo que si instalan logwatch en su resumen diario van a ver la actividad de este servicio mas o menos así:

 --------------------- dpkg status changes Begin ------------------------ 

 
 Upgraded:
    iproute2:amd64 4.3.0-1ubuntu3 => 4.3.0-1ubuntu3.16.04.1
    logrotate:amd64 3.8.7-2ubuntu2 => 3.8.7-2ubuntu2.16.04.1
    openssh-client:amd64 1:7.2p2-4ubuntu2.1 => 1:7.2p2-4ubuntu2.2
    openssh-server:amd64 1:7.2p2-4ubuntu2.1 => 1:7.2p2-4ubuntu2.2
    openssh-sftp-server:amd64 1:7.2p2-4ubuntu2.1 => 1:7.2p2-4ubuntu2.2
    unattended-upgrades:all 0.90ubuntu0.5 => 0.90ubuntu0.6
    zlib1g:amd64 1:1.2.8.dfsg-2ubuntu4 => 1:1.2.8.dfsg-2ubuntu4.1
 
 ---------------------- dpkg status changes End ------------------------- 

Y eso es todo. Con esto nos aseguramos que el sistema esté siempre actualizado, algo muy importante para mantener la seguridad de nuestro servidor.