Aller au contenu
Administration Linux medium

Appliquer les mises à jour de sécurité sous Linux

11 min de lecture

Les mises à jour de sécurité corrigent des vulnérabilités connues (CVE) dans le noyau, les bibliothèques et les services installés. Sur un serveur en production, appliquer ces correctifs rapidement est la première ligne de défense. Chaque distribution fournit des outils pour cibler uniquement les mises à jour de sécurité, sans toucher aux montées de version fonctionnelles.

  • Distinguer les mises à jour de sécurité des mises à jour classiques
  • Lister les correctifs de sécurité disponibles sur Debian/Ubuntu et RHEL/Fedora
  • Appliquer uniquement les correctifs de sécurité
  • Configurer les mises à jour automatiques (unattended-upgrades, dnf-automatic)
  • Vérifier qu’un correctif a bien été installé
  • Définir une politique de mise à jour adaptée à la production

Les mises à jour de sécurité sont critiques dans toute infrastructure :

  • Un CVE critique est publié pour OpenSSL ou le noyau — il faut appliquer le correctif dans les heures qui suivent
  • Votre serveur web est exposé sur Internet — les paquets doivent être à jour pour réduire la surface d’attaque
  • La conformité impose un délai maximal de patching (30 jours pour CIS, ANSSI…)
  • Vous gérez une flotte de serveurs — il faut automatiser les correctifs de sécurité sans risquer des régressions
  • Avant un audit, vous devez prouver que le système est à jour sur les CVE critiques
TypeContenuRisque de régressionUrgence
SécuritéCorrectifs CVE, patches ciblésFaible (changements minimaux)Haute
BugfixCorrections de bugs fonctionnelsMoyenMoyenne
FeatureNouvelles fonctionnalités, montées de versionÉlevéBasse

En production, la stratégie recommandée est d’appliquer les mises à jour de sécurité automatiquement et de planifier les autres dans des fenêtres de maintenance.

Fenêtre de terminal
sudo apt update

Cette commande rafraîchit la liste des paquets disponibles. Elle ne modifie rien sur le système.

Fenêtre de terminal
sudo apt list --upgradable 2>/dev/null | grep -i security

Pour un aperçu plus détaillé, utilisez apt-get avec le flag de simulation :

Fenêtre de terminal
sudo apt-get -s dist-upgrade | grep "^Inst" | grep -i securi
Inst libssl3t64 [3.0.13-0ubuntu3.3] (3.0.13-0ubuntu3.4 Ubuntu:24.04/noble-security [amd64])
Inst openssl [3.0.13-0ubuntu3.3] (3.0.13-0ubuntu3.4 Ubuntu:24.04/noble-security [amd64])

Appliquer uniquement les mises à jour de sécurité

Section intitulée « Appliquer uniquement les mises à jour de sécurité »
Fenêtre de terminal
sudo apt-get upgrade -y -o Dir::Etc::SourceList=/etc/apt/sources.list \
-o Dir::Etc::SourceParts=/dev/null \
-o APT::Get::List-Cleanup=0

Une méthode plus simple avec unattended-upgrades :

Fenêtre de terminal
sudo unattended-upgrades --dry-run -d # simulation
sudo unattended-upgrades # application
  1. Installer unattended-upgrades

    Fenêtre de terminal
    sudo apt install unattended-upgrades apt-listchanges
  2. Activer la configuration automatique

    Fenêtre de terminal
    sudo dpkg-reconfigure -plow unattended-upgrades

    Répondre Oui pour activer les mises à jour automatiques.

  3. Vérifier la configuration

    Fenêtre de terminal
    cat /etc/apt/apt.conf.d/50unattended-upgrades

    Les lignes clés :

    Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
    };
    Unattended-Upgrade::Automatic-Reboot "false";
    Unattended-Upgrade::Mail "admin@example.com";
    OptionRecommandation
    Allowed-OriginsGarder uniquement -security pour la production
    Automatic-Rebootfalse en production (reboot planifié manuellement)
    MailConfigurer pour recevoir les rapports
    Remove-Unused-Dependenciestrue pour nettoyer les paquets orphelins
  4. Vérifier que le timer est actif

    Fenêtre de terminal
    systemctl status apt-daily-upgrade.timer
Fenêtre de terminal
# Dernières mises à jour appliquées
grep "upgrade" /var/log/apt/history.log | tail -20
# Logs d'unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log
Fenêtre de terminal
sudo dnf check-update --security
Last metadata expiration check: 0:45:12 ago on Wed Apr 16 08:00:00 2026.
openssl-libs.x86_64 1:3.0.7-27.el9_4 baseos-security
kernel.x86_64 5.14.0-427.20.1.el9 baseos-security

Pour plus de détails sur les CVE corrigés :

Fenêtre de terminal
sudo dnf updateinfo list security
RHSA-2026:1234 Important/Sec. openssl-libs-1:3.0.7-27.el9_4.x86_64
RHSA-2026:1235 Critical/Sec. kernel-5.14.0-427.20.1.el9.x86_64

Appliquer uniquement les mises à jour de sécurité

Section intitulée « Appliquer uniquement les mises à jour de sécurité »
Fenêtre de terminal
sudo dnf update --security -y

Pour appliquer uniquement les correctifs critiques :

Fenêtre de terminal
sudo dnf update --security --sec-severity=Critical -y
SévéritéQuand appliquer
CriticalImmédiatement
ImportantSous 48h
ModerateFenêtre de maintenance planifiée
LowProchaine maintenance
  1. Installer dnf-automatic

    Fenêtre de terminal
    sudo dnf install dnf-automatic
  2. Configurer pour appliquer uniquement la sécurité

    Fenêtre de terminal
    sudo nano /etc/dnf/automatic.conf
    [commands]
    upgrade_type = security
    apply_updates = yes
    [emitters]
    emit_via = email,stdio
    [email]
    email_from = root@localhost
    email_to = admin@example.com
  3. Activer le timer

    Fenêtre de terminal
    sudo systemctl enable --now dnf-automatic-install.timer
  4. Vérifier

    Fenêtre de terminal
    systemctl status dnf-automatic-install.timer
Fenêtre de terminal
# Historique des mises à jour
sudo dnf history list
# Détail d'une transaction
sudo dnf history info last
Fenêtre de terminal
apt-cache policy openssl
openssl:
Installed: 3.0.13-0ubuntu3.4
Candidate: 3.0.13-0ubuntu3.4

Si Installed = Candidate, le paquet est à jour.

Certaines mises à jour (noyau, glibc, systemd) nécessitent un redémarrage :

Fenêtre de terminal
# Vérifier si un reboot est nécessaire
[ -f /var/run/reboot-required ] && echo "Reboot nécessaire" || echo "OK"
# Voir quels paquets l'exigent
cat /var/run/reboot-required.pkgs 2>/dev/null
EnvironnementSécuritéBugfixFeatureReboot
Dev/TestAuto, immédiatAutoAutoAuto
StagingAuto, immédiatHebdomadaireMensuelPlanifié
ProductionAuto (unattended)Fenêtre maintenanceAprès validation stagingFenêtre maintenance
  1. Mises à jour de sécurité automatiques — unattended-upgrades ou dnf-automatic en mode security uniquement

  2. Vérification quotidienne — recevoir les rapports par email, vérifier les logs

  3. Mises à jour complètes planifiées — fenêtre de maintenance hebdomadaire ou bimensuelle

  4. Test en staging avant production — appliquer les mises à jour fonctionnelles en staging, valider, puis déployer en production

  5. Reboot planifié — vérifier si un reboot est nécessaire, le planifier dans une fenêtre de maintenance

SymptômeCause probableSolution
apt update échoueDépôt inaccessible ou clé expiréeVérifier /etc/apt/sources.list et apt-key list
dnf check-update ne montre rienCache périmédnf clean all && dnf makecache
unattended-upgrades ne s’exécute pasTimer désactivésystemctl enable --now apt-daily-upgrade.timer
Mise à jour bloquée par un conflitPaquet retenu ou dépendance casséeapt --fix-broken install ou dnf distro-sync
Reboot nécessaire non détectéFichier indicateur absentVérifier /var/run/reboot-required ou needs-restarting -r
Mises à jour partiellement appliquéesInterruption pendant l’opérationdpkg --configure -a ou dnf distro-sync
Fenêtre de terminal
# Diagnostic rapide Debian/Ubuntu
apt update 2>&1 | grep -i err # Erreurs de dépôt
apt list --upgradable 2>/dev/null | wc -l # Mises à jour en attente
cat /var/log/unattended-upgrades/*.log | tail # Dernière exécution auto
[ -f /var/run/reboot-required ] && echo "REBOOT"
# Diagnostic rapide RHEL/Fedora
dnf check-update --security 2>/dev/null | wc -l # Correctifs en attente
systemctl status dnf-automatic-install.timer # Timer actif ?
sudo needs-restarting -r # Reboot nécessaire ?
  • Activer les mises à jour automatiques de sécurité — c’est la première mesure de protection sur tout serveur
  • Ne jamais retarder les correctifs Critical — les exploits sont souvent disponibles quelques jours après la publication du CVE
  • Séparer sécurité et fonctionnel — appliquer la sécurité automatiquement, les mises à jour fonctionnelles en fenêtre planifiée
  • Surveiller les rapports — configurer les emails et vérifier les logs régulièrement
  • Planifier les reboots — les mises à jour noyau nécessitent un redémarrage, ne pas les repousser indéfiniment
  • Tester en staging — les mises à jour fonctionnelles passent d’abord en staging avant la production
  • Documenter la politique — délai de patching, responsable, procédure de rollback
  • Les mises à jour de sécurité corrigent des CVE — elles sont prioritaires et à faible risque de régression
  • Sur Debian/Ubuntu : unattended-upgrades applique automatiquement les correctifs de sécurité
  • Sur RHEL/Fedora : dnf update --security cible uniquement les correctifs, dnf-automatic les automatise
  • Vérifier si un reboot est nécessaire après les mises à jour noyau (/var/run/reboot-required ou needs-restarting -r)
  • En production : sécurité automatique + fonctionnel planifié + reboot en fenêtre de maintenance
  • dnf updateinfo list security et apt-get -s dist-upgrade | grep securi listent les correctifs disponibles

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn