Configurar actualizaciones de seguridad automáticas en CentOS 7 con yum-cron

Importante: se recomienda aplicar actualizaciones de seguridad en un plazo aproximado de 30 días desde su publicación. Comprueba las políticas de tu organización antes de habilitar actualizaciones automáticas en sistemas críticos.
Qué vamos a ver
- Instalar yum-cron en CentOS 7
- Configurar yum-cron para actualizaciones de seguridad automáticas
- Excluir paquetes específicos de las actualizaciones automáticas
- Comprobar y depurar los registros de yum-cron
Requisitos previos
- Servidor CentOS 7
- Privilegios de root o sudo
- Acceso a la configuración de correo (si usas notificaciones por email)
Paso 1 - Instalar yum-cron en CentOS 7
Yum-cron es una utilidad por línea de comandos para gestionar actualizaciones en sistemas CentOS basadas en yum.
La herramienta está disponible en el repositorio de CentOS 7. Instálala con:
yum -y install yum-cron
Después de la instalación, arranca el servicio y habilítalo para que arranque automáticamente:
systemctl start yum-cron
systemctl enable yum-cron
Eso es todo: yum-cron ya está instalado y activo.
Paso 2 - Configurar yum-cron para actualizaciones automáticas
Por defecto, yum-cron ofrece tres tipos de actualización: “default” (equivalente a yum upgrade), “minimal” y “security”. En este tutorial nos centraremos en actualizaciones de seguridad.
Edita el archivo de configuración de yum-cron:
cd /etc/yum/
vim yum-cron.conf
Nota: puedes usar cualquier editor que prefieras.
Busca la línea que empieza por update_cmd y cambia su valor a security:
update_cmd = security
Asegúrate de habilitar mensajes y descargas automáticas:
update_messages = yes
download_updates = yes
apply_updates = yes
Con esto, cuando haya actualizaciones de seguridad disponibles, el sistema las descargará y aplicará automáticamente.
Notificaciones por correo
Puedes recibir notificaciones por STDOUT o por email. Para enviar emails, cambia emit_via a email:
emit_via = email
Especifica remitente, destinatario y host de correo (ajusta según tu entorno):
email_from = root@hakase-labs
email_to = [email protected]
email_host = hakase-labs
Guarda los cambios y reinicia el servicio:
systemctl restart yum-cron
Por defecto yum-cron ejecuta su tarea diariamente. Si necesitas otra frecuencia, revisa la tarea cron asociada o ajusta la configuración del propio servicio según tu política.
Importante: para que “update_cmd = security” funcione correctamente puede requerirse el plugin de seguridad de yum (yum-plugin-security). En muchos sistemas CentOS este soporte ya está presente; si observas que no detecta paquetes marcados como seguridad, instala y verifica el plugin de seguridad.
Paso 3 - Excluir paquetes de las actualizaciones automáticas
A veces conviene evitar que ciertos paquetes se actualicen automáticamente (por ejemplo kernel o paquetes específicos de aplicaciones). Edita de nuevo yum-cron.conf:
cd /etc/yum/
vim yum-cron.conf
En la sección [base] añade o edita la línea exclude con los patrones de paquetes:
exclude = mysql* kernel*
Guarda y reinicia el servicio:
systemctl restart yum-cron
Con esto, los paquetes cuyo nombre empiece por mysql o kernel quedarán excluidos de las actualizaciones automáticas.
Nota: excluir kernel evita actualizaciones automáticas del propio kernel; si tu política requiere reinicios planificados para actualizar kernel, es una práctica común excluirlo y aplicar el kernel manualmente durante ventanas de mantenimiento.
Paso 4 - Comprobar registros y verificar actualizaciones
Yum-cron se lanza desde cron y registra actividad en los archivos del sistema.
Para ver las entradas relacionadas con yum-daily en el log del cron:
cd /var/log/
cat cron | grep yum-daily
Para ver qué paquetes se han actualizado en yum.log:
cat yum.log | grep Updated
Comandos útiles de verificación y diagnóstico:
systemctl status yum-cron
journalctl -u yum-cron -b
yum history
yum history info
Si configuraste notificaciones por correo, verifica también que tu MTA (por ejemplo postfix o sendmail) esté funcionando y que el archivo de log de correo registre envíos (habitualmente /var/log/maillog o /var/log/mail.log según la configuración).
Solución de problemas comunes
- El servicio no se inicia: revisa
systemctl status yum-cron
yjournalctl -xe
. - No llegan correos: comprueba configuración de email_host, existen errores en los logs del MTA y revisa SPAM/quarantine del destinatario.
- “update_cmd = security” no detecta actualizaciones: instala/elimina el plugin de seguridad de yum o verifica que los repositorios proporcionen metadata de seguridad.
- Actualizaciones fallan por dependencias: revisa
yum history
yyum check
.
Reversión y control de cambios (rollback)
Si una actualización causa problemas, usa las herramientas de historial de yum para identificar la transacción y deshacerla:
yum history
# Identifica la ID de la transacción problemática
yum history undo
En entornos críticos, antes de habilitar actualizaciones automáticas:
- Prueba el proceso en un entorno staging.
- Habilita notificaciones y revisa durante 1–2 semanas.
- Define ventanas de mantenimiento y plan de rollback documentado.
Checklist por roles
Administrador de sistemas (sysadmin):
- Instalar yum-cron y verificar su estado
- Confirmar que
update_cmd = security
yapply_updates = yes
- Excluir paquetes críticos (kernel, DB propietarios)
- Probar notificaciones por email
DevOps/Ingeniero SRE:
- Integrar logs de yum-cron con SIEM/monitorización
- Automatizar pruebas post-actualización (smoke tests)
- Definir alertas si
yum-cron
falla repetidamente
Auditor/Seguridad:
- Revisar frecuencia de aplicación de parches (ej. ≤ 30 días)
- Comprobar lista de exclusiones y justificar excepciones
- Verificar firmas de paquetes y repositorios
Mini SOP: habilitar actualizaciones de seguridad automáticas (resumen rápido)
- Instalar:
yum -y install yum-cron
- Configurar: editar
/etc/yum/yum-cron.conf
→update_cmd = security
,apply_updates = yes
- Notificaciones: configurar
emit_via = email
y campos de correo - Excluir paquetes si es necesario (
exclude = kernel* mysql*
) - Reiniciar servicio:
systemctl restart yum-cron
- Verificar logs y notificaciones
Criterios de aceptación
- El servicio
yum-cron
está activo y habilitado - Se reciben notificaciones de ejecuciones exitosas (si está configurado)
- Las actualizaciones de seguridad aparecen en
yum.log
como “Updated” - Paquetes excluidos no se actualizan automáticamente
Glosario (1 línea cada término)
- yum-cron: daemon que automatiza actualizaciones mediante yum.
- yum: gestor de paquetes de CentOS que resuelve dependencias e instala RPMs.
- rpm: formato de paquete y herramienta básica para instalar paquetes en sistemas RHEL/CentOS.
Consideraciones de seguridad y privacidad
- Asegura la integridad de los repositorios (repos conf y firmas GPG).
- Asegura que las notificaciones por email no expongan datos sensibles; enviarlas sólo a direcciones internas.
- Documenta exclusiones y conserva registros de cambios para auditoría.
Casos en que esta solución puede fallar
- Sistemas sin conectividad a repositorios: no podrá descargar actualizaciones.
- Paquetes de terceros con dependencias no resolubles automáticamente: requieren intervención manual.
- Sistemas con requisitos de disponibilidad estrictos: las actualizaciones automáticas pueden causar reinicios y paradas inesperadas.
Alternativas y enfoques complementarios
- Gestionar actualizaciones con una herramienta de gestión de configuración (Ansible, Puppet) y ejecutar actualizaciones en ventanas controladas.
- Usar imágenes inmutables y desplegar nuevas versiones en lugar de actualizar paquetes in situ.
- Para CentOS 8/RHEL 8+ usar dnf-automatic si procede.
Pruebas y criterios de verificación
- Crear un paquete de prueba o usar un repositorio interno y observar que
yum-cron
lo descarga y aplica. - Forzar una ejecución manual para verificar comportamiento:
# Ejecutar el script de yum-daily manualmente (varía según la distro)
/usr/sbin/yum-cron
- Verificar
yum.log
y el correo de notificación.
Resumen final
Configurar yum-cron en CentOS 7 te permite mantener parches de seguridad aplicados de forma automática y reducir la ventana de exposición. Antes de aplicar actualizaciones automáticas en producción, prueba el flujo en entornos de ensayo, documenta exclusiones y garantiza mecanismos de notificación y reversión.
Referencias
Materiales similares

Compartir contraseña Wi‑Fi con código QR

Desactivar User OOBE Broker en Windows 11/10

5G desaparece en red preferida de Android — Solución

Recuperar App y control de navegación en Windows

Error 'Operation failed' en Outlook — solución
