Infrastructure

Patcher 36 serveurs sans unattended-upgrades

Trois doctrines existent : ne rien faire, tout automatiser en aveugle, ou voir puis décider. Nous avons retiré unattended-upgrades de tout le parc et démonté notre propre patching automatique par Ansible, pour une doctrine « visibilité d'abord » outillée par PatchMon. Pourquoi, comment, et le rituel qui va avec.

Dessin au trait fin : un œil observe une grille de trente-six petits serveurs dont quelques-uns attendent une mise à jour, l'un d'eux entouré, illustration d'un patching qui regarde avant de déciderDessin au trait fin : un œil observe une grille de trente-six petits serveurs dont quelques-uns attendent une mise à jour, l'un d'eux entouré, illustration d'un patching qui regarde avant de décider
Sommaire (4 sections)
  1. Le problème d'unattended-upgrades n'est pas ce qu'il fait, c'est ce qu'il ne voit pas
  2. Étape intermédiaire : l'automatisation maison, et pourquoi on l'a retirée aussi
  3. La doctrine actuelle : PatchMon, voir puis décider
  4. Le rituel qui rend le patch ennuyeux (c'est le but)

Sur la question des mises à jour de sécurité, un parc de serveurs n'a que trois doctrines possibles. Ne rien faire, la plus répandue, et indéfendable. Tout automatiser : unattended-upgrades partout, les paquets s'installent seuls la nuit. Ou voir, puis décider : une visibilité continue sur l'état de chaque machine, et des mises à jour appliquées par une décision humaine outillée. Nous avons pratiqué la deuxième, puis démonté jusqu'à notre propre automatisation maison pour adopter la troisième. Voici pourquoi, et le dispositif complet.

Le problème d'unattended-upgrades n'est pas ce qu'il fait, c'est ce qu'il ne voit pas #

Soyons justes : sur un poste isolé ou un serveur personnel, unattended-upgrades vaut infiniment mieux que l'oubli. Notre objection vaut pour un parc de production : un patch est un changement non testé, appliqué à un moment que vous ne choisissez pas, sans humain pour constater le résultat. Un service qui redémarre en pleine nuit et ne revient pas, une dépendance qui casse une application, un correctif qui exige un redémarrage complet resté en attente pendant des semaines : l'automatisation aveugle transforme chaque nuit en déploiement sans pilote. Et son échec est silencieux : le paquet qui ne s'installe pas ne prévient personne, la machine « à jour » dans votre esprit dérive dans la réalité. Sur trente machines aux rôles différents, la panne aléatoire nocturne coûte plus cher que les quelques jours de délai d'un patch décidé.

Étape intermédiaire : l'automatisation maison, et pourquoi on l'a retirée aussi #

Notre première réponse fut un patching centralisé par Ansible : des playbooks, une planification, des rapports. Honnête, mais deux défauts structurels ont fini par peser. D'abord, pas d'inventaire vivant : entre deux exécutions, aucune idée de l'état réel du parc : combien de correctifs en attente, où, depuis quand. Ensuite, le cron patchait sans regarder : la même automatisation aveugle, juste écrite par nous. La leçon : le problème n'était pas l'outil d'application, c'était l'absence de visibilité permanente entre les actions.

La doctrine actuelle : PatchMon, voir puis décider #

Aujourd'hui, un agent léger sur chacune des 36 machines du parc remonte en continu vers une instance PatchMon auto-hébergée (open source) : paquets en attente, correctifs de sécurité, versions, historique. Le tableau de bord répond à tout instant à la question « où en est le parc ? », et le patching redevient ce qu'il aurait toujours dû être : une décision informée. Depuis la même console, un run de patch cible une machine ou un groupe, à l'heure choisie, avec son résultat consigné. Plus de quatre-vingts runs exécutés à ce jour, zéro échec : non parce que l'outil est magique, mais parce que chaque run est fait en regardant.

Le rituel qui rend le patch ennuyeux (c'est le but) #

  1. Regarder avant : que va-t-il se passer, quels services sont concernés, y a-t-il un redémarrage de service ou de machine à la clé ?
  2. Snapshot avant toute mise à jour significative : sur un hyperviseur, un instantané de la machine coûte quelques secondes et transforme le pire scénario en retour arrière de cinq minutes.
  3. Ordre de passage : les environnements de développement et machines sans enjeu d'abord, la production ensuite, jamais tout d'un coup.
  4. Vérifier après : le healthcheck applicatif : pas « le paquet est installé » mais « le service répond ». C'est l'étape que l'automatisation aveugle ne fera jamais.
  5. Les exceptions assumées : une montée de version majeure de base de données est une migration, pas un patch : jamais en automatique, jamais en lot.

La visibilité sur le parc, les runs décidés, les snapshots avant, les vérifications après : c'est le contenu concret de notre infogérance. Si votre réponse actuelle est « unattended-upgrades et on croise les doigts », ou pire « on verra plus tard », comparons.

À propos
01/À lire ensuiteTrois articles

Articles liés

Infrastructure

Les fonderies d'exploits : votre pare-feu est devenu la ligne de front

Deux étudiants de licence à Changsha ont fait tourner une chaîne automatisée qui déchiffre un firmware, le décompile par milliers d'appels, formule des hypothèses de faille, écrit l'exploit et le teste en laboratoire - en boucle, jour et nuit. Plus d'une douzaine de vulnérabilités inconnues en un mois sur des équipements réseau, une cinquantaine d'organisations visées, treize agents de collecte sur tâche planifiée. Ce que ça impose à l'inventaire d'une PME.

cybersécuritévulnérabilité
Infrastructure

SERVFAIL intermittents : l'enregistrement DS orphelin qui cassait 15 % des résolutions

Une CI qui échoue par intermittence, deux messages d'erreur différents, un suspect évident qui n'y était pour rien, et une cause invisible : un enregistrement DNSSEC resté publié chez le parent alors que la zone n'était plus signée. Autopsie d'une panne DNS vicieuse, avec la méthode qui a fini par trancher.

dnssecdns
Infrastructure

Autopsie d'une panne NVMe : les condensateurs morts qui ralentissaient tout

Pendant deux mois et demi, un hyperviseur a accumulé des timeouts de réplication sans qu'aucun disque ne soit « mort ». Le coupable : les condensateurs de Power Loss Protection d'un NVMe, tombés en panne en silence. Autopsie complète : du symptôme au smartctl, du remplacement OVH au resilver qui a révélé 20 000 erreurs latentes.

nvmeplp

Et maintenant

Une infrastructure infogérée et supervisée 24/7 ?

Bastion, SIEM, correctifs décidés, sauvegardes testées : ce que nous appliquons à nos clients. Premier échange gratuit.

Discuter de votre projet

Réponse sous 24 h ouvrées, par l'un des deux fondateurs. Ou par téléphone : 07 59 96 14 99.