Mettre à jour un système Linux : pourquoi une faille connue est une porte grande ouverte
Un serveur qui « fonctionne très bien » peut être, en même temps, un serveur que n'importe qui sait attaquer
Petite vérification
Avant de commencer, vérifiez si vous savez encore répondre à ces 3 questions très simples, sur la séance précédente consacrée à Git et aux secrets :
- depuis
~/tp-git-secrets/site-librairie, afficher l'historique du fichier.envet vérifier que l'ancien mot de passe y est toujours lisible, même après legit rm - citer la ligne à écrire dans
.gitignorepour que Git cesse de suivre.env, puis la commande qui vérifie que ce fichier est bien ignoré - citer la toute première mesure à prendre quand un secret a été commité
📌 Réponse attendue
TP pour réfléchir et résoudre des problèmes
Votre défi pour aujourd'hui consiste à mesurer le retard de mises à jour de votre propre serveur Linux, puis à le combler
La Médiathèque de Valmont et son serveur sont fictifs, construits pour l'exercice. Les étapes 1 à 3 se font sur votre propre serveur Debian (celui du cours Linux), connecté en ligne de commandes.
Étape 1 — Relever l'état de son système
Connectez-vous à votre serveur Debian, puis exécutez ces 3 commandes, l'une après l'autre :
cat /etc/os-release
uname -r
sudo apt update
- Quelle version de Debian (ligne
PRETTY_NAME) et quelle version du noyau Linux (résultat deuname -r) votre serveur utilise-t-il ? - Que vous indique la dernière ligne affichée par
sudo apt update?
📌 Réponse attendue
Étape 2 — Repérer les mises à jour de sécurité
Affichez maintenant la liste détaillée des paquets en attente de mise à jour :
apt list --upgradable
Chaque ligne a la forme nom/origine version architecture [upgradable from: ancienne version].
Repérez les lignes dont l'origine contient le mot security.
- Combien de paquets sont en attente de mise à jour, au total ?
- Parmi eux, combien proviennent d'une origine contenant
security? Citez le nom d'un de ces paquets.
📌 Réponse attendue
Étape 3 — Appliquer les mises à jour
Installez les mises à jour, puis vérifiez le résultat :
sudo apt upgrade
apt list --upgradable
uname -r
La commande sudo apt upgrade vous demande une confirmation (O ou Y selon la langue du
système) avant d'installer.
- Que doit afficher
apt list --upgradableune fois les mises à jour installées ? - Si un nouveau noyau Linux vient d'être installé, le résultat de
uname -ra-t-il changé ? Redémarrez avecsudo reboot, reconnectez-vous, relancezuname -ret comparez.
📌 Réponse attendue
Étape 4 — Hiérarchiser les mises à jour d'un serveur en retard
Le serveur de la Médiathèque de Valmont héberge le catalogue en ligne et sert environ 200 lecteurs.
Le stagiaire informatique découvre qu'il n'a pas été mis à jour depuis 14 mois. Voici un
extrait fictif de ce que renvoie apt list --upgradable :
openssh-server/stable-security 1:9.2-2+deb12u4 amd64 [upgradable from: 1:9.2-2+deb12u1]
openssl/stable-security 3.0.17-1~deb12u3 amd64 [upgradable from: 3.0.11-1~deb12u2]
linux-image-amd64/stable-security 6.1.153-1 amd64 [upgradable from: 6.1.52-1]
tree/stable 2.1.0-1 amd64 [upgradable from: 2.0.4-1]
htop/stable 3.2.2-2 amd64 [upgradable from: 3.2.1-1]
- Quels paquets faut-il installer en priorité, et pourquoi ?
- Quelle précaution prendre avant de lancer la mise à jour sur ce serveur de production ?
- Quel impact pour les lecteurs faut-il prévoir, et comment le limiter ?
📌 Réponse attendue
Étape 5 — Répondre à une objection
Le responsable de la médiathèque vous dit : « Le serveur fonctionne très bien depuis 14 mois, ne touchons à rien : une mise à jour pourrait tout casser. » Que lui répondez-vous ?
Restitution orale
Un étudiant (ou un binôme) vient présenter au tableau l'état de mise à jour de son serveur (étapes 1 à 3) et sa réponse au responsable de la médiathèque (étape 5).
- Durée : 5 minutes de présentation + 2 à 3 minutes de questions.
- Qui passe : un(e) étudiant(e) (ou un binôme) désigné(e) par l'enseignant.
- Support : le travail réalisé pendant le TP, aucune préparation supplémentaire n'est nécessaire.
- Ce qui est attendu :
- rappeler la version de Debian et le nombre de mises à jour qui étaient en attente ;
- présenter la démarche suivie (mettre à jour la liste, repérer la sécurité, installer, vérifier) ;
- répondre aux questions de la classe.
Cet exercice entraîne à l'oral technique court exigé par plusieurs épreuves du BTS (notamment E5 et E6) : clarté, structure, capacité à répondre à l'improviste.
📌 Une solution
Notions théoriques
Vous venez de constater qu'un serveur laissé sans entretien accumule des correctifs en attente. Il reste à comprendre pourquoi ce retard est dangereux, et comment l'éviter durablement.
Qu'est-ce qu'une mise à jour de sécurité ?
Un logiciel est écrit par des humains : il contient inévitablement des erreurs. Une erreur que quelqu'un peut exploiter pour obtenir un accès ou des droits qu'il ne devrait pas avoir s'appelle une faille de sécurité. Quand l'éditeur (ou l'équipe de la distribution Debian) la corrige, il publie une mise à jour de sécurité, aussi appelée correctif.
Sur Debian, ces correctifs arrivent par le même canal que les autres mises à jour, mais leur origine
porte le suffixe -security : c'est ce que vous avez repéré à l'étape 2 du TP.
Pourquoi une faille connue est une porte grande ouverte
À la publication d'un correctif, la faille qu'il corrige devient publique : sa description explique ce qui n'allait pas. Un attaquant n'a donc plus besoin d'être expert ni de découvrir quoi que ce soit : il lui suffit de chercher les machines qui n'ont pas encore installé le correctif, souvent à l'aide d'outils automatisés.
Plus un serveur prend du retard, plus il cumule de failles connues et plus il est facile à attaquer. Ce n'est pas la complexité de l'attaque qui protège un serveur en retard, c'est uniquement la chance de ne pas avoir été remarqué.
apt update et apt upgrade : deux étapes distinctes
Deux commandes sont toujours utilisées ensemble, mais ne font pas la même chose :
| Commande | Rôle | Modifie le système ? |
|---|---|---|
sudo apt update | Rafraîchir la liste des paquets et des versions disponibles | Non |
apt list --upgradable | Afficher les paquets pour lesquels une version plus récente existe | Non |
sudo apt upgrade | Installer les versions plus récentes des paquets déjà présents | Oui |
Il existe aussi sudo apt full-upgrade, qui accepte de supprimer des paquets si c'est
nécessaire pour terminer la mise à jour. Par prudence, on commence par apt upgrade.
Le noyau et le redémarrage
Le noyau est le programme central du système : il est chargé en mémoire au démarrage de la
machine. Installer un nouveau noyau ne remplace donc pas celui qui tourne : uname -r continue
d'afficher l'ancienne version jusqu'au redémarrage. Une mise à jour de sécurité du noyau n'est
réellement protectrice qu'après ce redémarrage.
Sur un serveur en production, ce redémarrage se planifie : choisir un créneau peu gênant et prévenir les utilisateurs, comme à l'étape 4 du TP.
Mises à jour manuelles ou automatiques ?
Le paquet unattended-upgrades permet à Debian d'installer automatiquement les mises à jour de
sécurité, sans intervention. Chaque choix a ses limites :
- Tout manuel : on garde la main, mais on oublie, et le retard s'accumule (le cas de la médiathèque).
- Tout automatique : plus aucun retard, mais une mise à jour peut introduire une incompatibilité et interrompre un service sans que personne ne l'ait prévu.
- Compromis courant : automatiser les correctifs de sécurité, puis vérifier régulièrement le service et planifier à la main les mises à jour plus lourdes (changement de version majeure d'un logiciel, par exemple).
Ne mettez jamais à jour en production sans possibilité de retour en arrière : instantané de la machine virtuelle ou sauvegarde récente.
La fin de support d'une version
Chaque version de Debian reçoit des correctifs de sécurité pendant une durée limitée, puis passe en fin de support : plus aucun correctif n'est publié, et les failles découvertes ensuite resteront ouvertes. La date de fin de support est annoncée sur le site officiel de Debian. Un serveur à jour mais installé avec une version en fin de support n'est donc plus réellement protégé : il faut alors migrer vers une version supportée.
N'ajoutez jamais un dépôt de paquets trouvé au hasard sur Internet : apt ferait confiance à son
contenu et l'installerait avec les droits de root. Utilisez les dépôts officiels de la distribution.
Test de mémorisation/compréhension
Bonnes pratiques
- Rafraîchir la liste puis installer :
sudo apt update, puissudo apt upgrade, jamais l'un sans l'autre. - Traiter en priorité les correctifs
-security: chacun supprime une faille déjà publique. - Mettre à jour régulièrement, par petits lots : un retard de plusieurs mois accumule des failles connues et rend la mise à jour plus risquée.
- Redémarrer après une mise à jour du noyau : tant que ce n'est pas fait,
uname -raffiche l'ancienne version et la faille reste ouverte. - Prévoir un retour en arrière avant d'intervenir en production : instantané de la machine virtuelle ou sauvegarde récente, et créneau choisi pour limiter l'impact.
- Surveiller la fin de support de sa version de Debian et migrer avant qu'elle n'arrive.
- N'utiliser que les dépôts officiels de la distribution.