¿Ubuntu 24.04 activa unattended-upgrades por defecto?
Ubuntu Server 24.04 incluye unattended-upgrades, pero 20auto-upgrades lo activa. Automatic-Reboot sigue en false y un dry run muestra qué instalaría.
Por qué merece la pena configurar las actualizaciones de seguridad automáticas
Un servidor sin parches es el objetivo más fácil de Internet. La mayoría de las intrusiones en servidores pequeños no son sofisticadas: se deben a un error conocido en un paquete antiguo que el propietario nunca actualizó. Ubuntu incluye una herramienta que corrige ese problema por sí sola: unattended-upgrades instala automáticamente las actualizaciones de seguridad según una programación, sin que tenga que iniciar sesión. Es la medida de seguridad más económica que puede aplicar en un VPS y, en Ubuntu, sólo requiere unos minutos de configuración.
La herramienta es deliberadamente conservadora. De forma predeterminada, aplica sólo actualizaciones de seguridad y no todas las actualizaciones de paquetes, porque un parche de seguridad suele tener poco riesgo y merece instalarse sin revisión, mientras que una actualización de funcionalidad puede cambiar un comportamiento del que dependía. Esa configuración predeterminada es adecuada para la mayoría de los servidores, y esta guía la mantiene mientras muestra los pocos ajustes que merece la pena cambiar.
Paso 1: Instalarlo y habilitarlo
En Ubuntu Server 24.04, el paquete está instalado y habilitado de forma predeterminada. La documentación de servidores de Ubuntu indica que unattended-upgrades se instala de forma predeterminada y que la instalación automática de actualizaciones de seguridad se habilita justo después de la instalación. Durante la instalación, la pregunta que plantea el paquete para habilitar esta función tiene como respuesta predeterminada «sí». Por tanto, salvo que alguien haya respondido explícitamente que no, la tarea diaria ya está activa. Una imagen personalizada o reducida del proveedor puede ser diferente, así que confírmelo en lugar de darlo por hecho. Estos comandos son seguros en ambos casos: instalan el paquete si falta y vuelven a plantear la pregunta que lo habilita:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesEl aviso de dpkg-reconfigure plantea una única pregunta de sí o no: si se deben descargar e instalar automáticamente las actualizaciones estables. Responda que sí. Esto escribe el archivo que activa la tarea diaria:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";La primera línea actualiza diariamente la lista de paquetes; la segunda ejecuta diariamente la actualización desatendida. Al establecer ambas opciones en 1, el equipo comprueba y aplica las actualizaciones de seguridad todos los días mediante un temporizador de systemd, sin que tenga que realizar ninguna otra acción.
Paso 2: Decida qué se aplica automáticamente
La política se encuentra en /etc/apt/apt.conf.d/50unattended-upgrades. Abra el archivo y busque el bloque Allowed-Origins cerca del principio:
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";
};Las líneas -security son las importantes y están habilitadas de forma predeterminada. Esta es la política conservadora: se instalan las actualizaciones de seguridad y las actualizaciones normales de funciones quedan para que las aplique manualmente cuando lo decida. Puede quitar el comentario de la línea "${distro_id}:${distro_codename}-updates" en el mismo bloque para instalar también automáticamente las actualizaciones estables normales de Ubuntu. Esto amplía la política únicamente al archivo -updates de Ubuntu, no a todos los repositorios ni a los PPA del equipo. Además, se siguen aplicando las comprobaciones habituales: la herramienta retiene cualquier paquete que provocaría una solicitud sobre un archivo de configuración y no instala nada cuyas dependencias no puedan obtenerse de un origen permitido. En un servidor que aloja un servicio importante, instalar automáticamente sólo los parches de seguridad es la opción predeterminada más segura. Déjelo tal como se distribuye, salvo que tenga un motivo concreto para no hacerlo.
Paso 3: Gestione los reinicios
Algunas actualizaciones, como las de un kernel o una biblioteca principal, sólo tienen efecto completo después de reiniciar. unattended-upgrades no reiniciará el servidor a menos que se lo indique, por lo que un kernel parcheado puede permanecer sin utilizar hasta el próximo reinicio. Decida cómo desea gestionar esta situación y configúrelo explícitamente en 50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";Esto reinicia el servidor a las cuatro de la madrugada cuando, y sólo cuando, una actualización lo requiere. En un VPS único sin ningún clúster al que transferir la carga, un breve reinicio de madrugada suele ser una buena compensación para mantener al día las correcciones del kernel. Si el servidor ejecuta algo que nunca debe reiniciarse de forma inesperada, deje desactivado el reinicio automático y acostúmbrese a reiniciarlo manualmente después de comprobar /var/run/reboot-required.
Paso 4: Compruebe que funciona
No espere un día para comprobar si la tarea se ejecuta. Inicie una ejecución de prueba que muestre exactamente qué se aplicaría, sin cambiar nada:
sudo unattended-upgrade --dry-run --debugLa salida muestra los paquetes que considera y los orígenes de los que proceden, por lo que puede comprobar la política en funcionamiento. Después de que la tarea real se haya ejecutado al menos una vez, su registro se encuentra aquí:
cat /var/log/unattended-upgrades/unattended-upgrades.logEse registro responde a la pregunta «¿mi servidor está aplicando parches realmente?». Si muestra que los paquetes de seguridad se instalan según una programación, la tarea funciona.
Dónde encaja
Las actualizaciones automáticas son una capa de un servidor protegido, no la solución completa. Evitan que los errores conocidos permanezcan sin corregir, pero no controlan quién puede iniciar sesión ni qué está expuesto. Combínelas con el refuerzo de SSH usando sólo claves para impedir ataques de fuerza bruta contra el acceso, con un firewall UFW con denegación predeterminada para que sólo sea accesible lo que usted elija, y con usuarios de servicio sin privilegios para que una aplicación comprometida no pueda apoderarse de todo el equipo. Las aplicaciones que aloja tienen además sus propios secretos, así que si este equipo ejecuta un almacén de contraseñas autohospedado, una revisión de seguridad de Vaultwarden protege el token de administración y el archivo de copia de seguridad que ningún parche de apt puede proteger. Los parches cierran las vulnerabilidades que conoce; las demás capas limitan los daños de las que todavía no conoce.
FAQ
¿unattended-upgrades aplica todas las actualizaciones o sólo las de seguridad?
De forma predeterminada, sólo las actualizaciones de seguridad. El bloque Allowed-Origins de /etc/apt/apt.conf.d/50unattended-upgrades habilita los orígenes -security y deja las actualizaciones normales de funcionalidad para que las aplique manualmente. Es una decisión deliberada: los parches de seguridad suelen tener poco riesgo y merece la pena instalarlos automáticamente, mientras que las actualizaciones de funcionalidad pueden cambiar comportamientos. Por eso, la mayoría de los servidores debería mantener la configuración conservadora.
¿Las actualizaciones automáticas reiniciarán mi servidor?
Sólo si se lo indica. Configure Unattended-Upgrade::Automatic-Reboot "true" y un Automatic-Reboot-Time en la configuración. El servidor se reiniciará a esa hora cuando una actualización lo requiera, por ejemplo, después de un parche del kernel. Si se deja desactivado, un kernel parcheado esperará hasta que reinicie manualmente; compruebe /var/run/reboot-required para saber si hay uno pendiente.
¿Cómo compruebo que las actualizaciones automáticas se están ejecutando realmente?
Ejecute sudo unattended-upgrade --dry-run --debug para ver qué se aplicaría ahora mismo, sin cambiar nada, y consulte /var/log/unattended-upgrades/unattended-upgrades.log para ver el registro de las ejecuciones anteriores; cada instalación automática también se registra en /var/log/apt/history.log. Si el registro muestra paquetes de seguridad instalados diariamente, el temporizador funciona. Si la ejecución de prueba muestra No packages found that can be upgraded unattended, todo está actualizado o los orígenes permitidos son demasiado restrictivos y no coinciden con el repositorio de seguridad.
¿Es suficiente unattended-upgrades para mantener seguro mi servidor?
No, pero es una capa necesaria. Evita que las vulnerabilidades conocidas permanezcan sin parches, lo que detiene el tipo de intrusión más habitual, pero no controla el acceso ni la exposición. Combínelo con el refuerzo de SSH, un firewall con denegación predeterminada y usuarios de servicio con los mínimos privilegios necesarios para conseguir un servidor realmente difícil de vulnerar.