Guía de tecnologías

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

6 min read Linux Actualizado 17 Oct 2025
Actualizaciones de seguridad automáticas en CentOS 7
Actualizaciones de seguridad automáticas en CentOS 7

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.

Interfaz de configuración de yum-cron mostrando opciones de actualización

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

Ejemplo de configuración de correo para yum-cron

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.

Ejemplo de exclusión de paquetes en yum-cron

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 y journalctl -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 y yum 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:

  1. Prueba el proceso en un entorno staging.
  2. Habilita notificaciones y revisa durante 1–2 semanas.
  3. 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 y apply_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)

  1. Instalar: yum -y install yum-cron
  2. Configurar: editar /etc/yum/yum-cron.confupdate_cmd = security, apply_updates = yes
  3. Notificaciones: configurar emit_via = email y campos de correo
  4. Excluir paquetes si es necesario (exclude = kernel* mysql*)
  5. Reiniciar servicio: systemctl restart yum-cron
  6. 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

Autor
Edición

Materiales similares

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

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

Desactivar User OOBE Broker en Windows 11/10
Windows

Desactivar User OOBE Broker en Windows 11/10

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

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

Recuperar App y control de navegación en Windows
Seguridad Windows

Recuperar App y control de navegación en Windows

Error 'Operation failed' en Outlook — solución
Soporte técnico

Error 'Operation failed' en Outlook — solución

Habilitar confirmación al eliminar en Windows 8
Windows

Habilitar confirmación al eliminar en Windows 8