Guide des technologies

Configurer les mises à jour de sécurité automatiques sur CentOS 7 avec yum-cron

7 min read Linux Mis à jour 17 Oct 2025
Mises à jour de sécurité automatiques sur CentOS 7
Mises à jour de sécurité automatiques sur CentOS 7

Important : appliquez les mises à jour de sécurité dans les 30 jours qui suivent leur publication lorsque c’est possible.

Intentions principales

  • Mettre en place des mises à jour automatiques de sécurité sur CentOS 7.
  • Conserver le contrôle sur les paquets exclus (par ex. noyau, bases de données).
  • Vérifier et auditer l’activité via les logs.

Prérequis

  • Serveur CentOS 7 en production ou test.
  • Droits root (sudo).
  • Accès à la messagerie si vous activez les notifications par e‑mail.

Aperçu rapide

  1. Installer yum-cron.
  2. Configurer pour n’appliquer que les mises à jour de sécurité.
  3. Exclure des paquets si nécessaire.
  4. Vérifier les logs et tester le processus.

Étape 1 - Installer yum-cron sur CentOS 7

Yum-cron est un utilitaire en ligne de commande pour gérer les mises à jour de paquets sur CentOS. Il est disponible dans le dépôt officiel de CentOS 7.

Exécutez :

yum -y install yum-cron

Démarrez le service et activez-le au démarrage :

systemctl start yum-cron
systemctl enable yum-cron

Yum-cron est maintenant installé et prêt à être configuré.

Étape 2 - Configurer yum-cron pour les mises à jour de sécurité

Par défaut, yum-cron peut exécuter différents types de mises à jour : “default” (équivalent d’un upgrade), “minimal” ou “security”. Nous allons le configurer pour n’appliquer que les mises à jour de sécurité.

Éditez le fichier de configuration :

cd /etc/yum/
vim yum-cron.conf

(Choisissez l’éditeur que vous préférez.)

Recherchez la ligne commençant par update_cmd et remplacez la valeur par security :

update_cmd = security

Assurez-vous que les messages, le téléchargement et l’application des mises à jour sont activés :

update_messages = yes
download_updates = yes
apply_updates = yes

Ainsi, dès qu’une mise à jour de sécurité est disponible, le système la téléchargera et l’appliquera automatiquement.

Écran de configuration de Yum-Cron montrant les options d'update_cmd et apply_updates

Notifications par e-mail

Yum-cron peut notifier soit sur la sortie standard, soit par e‑mail. Pour activer l’e‑mail, changez :

emit_via = email

Puis spécifiez l’expéditeur, le destinataire et l’hôte SMTP/local :

email_from = root@hakase-labs
email_to = [email protected]
email_host = hakase-labs

Configuration e-mail de yum-cron avec champs email_from et email_to

Enregistrez le fichier puis redémarrez yum-cron :

systemctl restart yum-cron

À partir de maintenant, les mises à jour de sécurité seront appliquées automatiquement selon la fréquence du cron de yum-cron (généralement quotidienne).

Étape 3 - Exclure des paquets des mises à jour automatiques

Il est courant de vouloir exclure certains paquets (par exemple le noyau, ou une version spécifique de MySQL) des mises à jour automatiques.

Ouvrez à nouveau le fichier de configuration :

cd /etc/yum/
vim yum-cron.conf

Dans la section [base] vers le bas du fichier, ajoutez une ligne exclude avec les motifs de paquets à ignorer. Exemple :

exclude = mysql* kernel*

Enregistrez et redémarrez le service :

systemctl restart yum-cron

Désormais, tout paquet correspondant aux motifs mysql ou kernel ne sera pas mis à jour automatiquement.

Capture montrant l'ajout d'une ligne exclude dans yum-cron.conf

Étape 4 - Vérifier les logs de yum-cron

Yum-cron s’appuie sur cron et écrit des entrées dans les logs système. Les fichiers importants : /var/log/cron et /var/log/yum.log.

Afficher les lignes du cron liées à yum-daily :

cd /var/log/
cat cron | grep yum-daily

Voir les paquets mis à jour :

cat yum.log | grep Updated

Ces commandes aident à vérifier que les mises à jour ont bien été téléchargées et appliquées.


Quand cela peut échouer

  • Le serveur n’a pas d’accès réseau vers les dépôts : les téléchargements échouent.
  • Conflits de dépendances non résolus : yum ne peut pas appliquer une mise à jour automatiquement.
  • Espace disque insuffisant : téléchargement ou installation interrompu.
  • Problèmes de service tiers (par ex. serveur mail mal configuré) bloquant les notifications.

Solutions : vérifier la connectivité réseau, nettoyer /var/cache/yum, configurer une alerte d’espace disque et tester manuellement un yum update –security avant de laisser en production.

Approches alternatives

  • Utiliser le gestionnaire de configuration (Ansible, Puppet) pour orchestrer les mises à jour programmées.
  • Configurer un mirror local ou un proxy de dépôt pour limiter la latence et contrôler les paquets disponibles.
  • Utiliser une fenêtre de maintenance planifiée et exécuter des mises à jour manuelles supervisées.

Modèle mental rapide

Pensez à yum-cron comme à une routine quotidienne :

  • Détecte (recherche des mises à jour de sécurité),
  • Télécharge (stocke les paquets),
  • Applique (installe et signale).

La règle : automatiser les tâches répétitives, mais conserver des contrôles pour les paquets sensibles.

Checklist par rôle

Administrateur système

  • Installer yum-cron.
  • Configurer update_cmd=security.
  • Définir exclude pour les paquets sensibles.
  • Tester avec yum security check-update.

Responsable sécurité

  • Valider la politique d’exclusion.
  • Recevoir les notifications d’échec.
  • S’assurer d’un plan de restauration.

Opérations

  • Vérifier l’espace disque avant la fenêtre d’update.
  • Vérifier les logs après l’exécution.

Mini-SOP (procédure opérationnelle)

  1. Basculer en mode maintenance si service critique.
  2. Exécuter manuellement :
yum --security check-update
  1. Appliquer manuellement si nécessaire :
yum --security update
  1. Vérifier /var/log/yum.log et /var/log/cron.
  2. Si erreur, restaurer selon le runbook d’incident.

Runbook d’incident simple

  1. Symptôme : service interrompu après mise à jour automatique.
  2. Actions immédiates :
    • Récupérer l’ID de transaction yum dans /var/log/yum.log.
    • Redémarrer le service applicatif impacté.
    • Si échec persistant, redémarrer le serveur (si approuvé) ou restaurer depuis sauvegarde.
  3. Post-mortem : analyser le package mis à jour, décider d’exclure ou de retester avant réapplication.

Critères d’acceptation

  • Yum-cron installe et active le service.
  • update_cmd réglé sur security.
  • apply_updates et download_updates réglés sur yes.
  • Les paquets listés dans exclude ne sont pas modifiés.
  • Les notifications par e‑mail sont envoyées ou visibles dans les logs.

Tests et cas de recette

  • Test 1 : Forcer une mise à jour de sécurité sur une VM de test et vérifier que yum-cron l’applique.
  • Test 2 : Ajouter un paquet fictif matching exclude et vérifier qu’il n’est pas mis à jour.
  • Test 3 : Simuler coupure réseau (bloquer accès aux dépôts) et vérifier le comportement et les notifications.

Comparaison rapide des options

  • yum-cron : simple, intégré à CentOS, bonne pour mises à jour de sécurité basiques.
  • Ansible/Puppet : meilleur contrôle et audit, idéal pour grandes infrastructures.
  • Mirror local : réduit la latence et renforce la résilience réseau.

Considérations de sécurité et confidentialité

  • Les mises à jour de sécurité peuvent nécessiter un accès réseau aux dépôts ; restreindre cet accès via firewall à des destinations approuvées.
  • Les notifications par e‑mail peuvent exposer des informations sur l’infrastructure ; utilisez des adresses internes ou chiffrez les messages si nécessaire.
  • Conformité GDPR : évitez d’envoyer des logs contenant des données personnelles par e‑mail non chiffré.

Glossaire 1‑ligne

  • yum-cron : service CentOS qui exécute des mises à jour planifiées via yum.
  • update_cmd=security : option pour n’appliquer que les mises à jour marquées comme sécurité.
  • exclude : motif pour empêcher la mise à jour automatique d’un paquet.

Recommandations finales

  • Testez toujours la configuration sur un environnement non productif avant déploiement global.
  • Conservez des sauvegardes et un plan de restauration pour chaque machine critique.
  • Mettez en place des alertes d’échec d’update et de seuils d’espace disque.

Exemples de commandes utiles

yum --security check-update
yum --security updateinfo list security all
systemctl status yum-cron
journalctl -u yum-cron --since "1 day ago"

Petit arbre de décision pour choisir la méthode

flowchart TD
  A[Démarrage : besoin d'automatiser ?] --> B{Infrastructure > 50 serveurs}
  B -- Oui --> C[Utiliser Ansible/Puppet pour orchestration]
  B -- Non --> D[Installer yum-cron]
  D --> E{Exigence de contrôle fin ?}
  E -- Oui --> C
  E -- Non --> F[Configurer yum-cron update_cmd=security]

Références


Résumé : installez yum-cron, réglez update_cmd sur security, activez le téléchargement et l’application automatique, excluez les paquets sensibles si nécessaire, et vérifiez les logs régulièrement. Cette approche réduit la fenêtre d’exposition aux vulnérabilités tout en gardant des garde-fous opérationnels.

Auteur
Édition

Matériaux similaires

Réparer YouTube Vanced : l'app s'arrête
Applications

Réparer YouTube Vanced : l'app s'arrête

Donner la puissance de votre PC avec BOINC
Open Source

Donner la puissance de votre PC avec BOINC

Partager mot de passe Wi‑Fi par QR code
Wi-Fi

Partager mot de passe Wi‑Fi par QR code

Désactiver User OOBE Broker sur Windows
Windows

Désactiver User OOBE Broker sur Windows

5G absente du réseau préféré sur Android — Corriger
Réseaux Mobiles

5G absente du réseau préféré sur Android — Corriger

Restaurer l’onglet App & Browser control
Windows

Restaurer l’onglet App & Browser control