Aller au contenu

Mettre à jour son serveur

La mise à jour d'un serveur est une pratique essentielle pour garantir sa sécurité, sa stabilité et sa performance. Les serveurs hébergent des applications critiques, stockent des données sensibles et assurent la communication au sein d'une infrastructure : ils doivent donc rester fiables et protégés.

Pourquoi mettre à jour ?

Sécurité

  • Les serveurs sont des cibles privilégiées pour les cyberattaques.
  • Les mises à jour corrigent des vulnérabilités (failles 0-day, bugs critiques).
  • Ne pas patcher expose directement aux intrusions, ransomwares ou vols de données.

Stabilité

  • Les correctifs améliorent la fiabilité du système.
  • Ils corrigent des bugs pouvant causer des pannes, des pertes de données ou des ralentissements.

Compatibilité

  • Garantit la compatibilité avec les logiciels récents et les protocoles modernes.
  • Attention toutefois : certaines mises à jour peuvent introduire des incompatibilités si toutes les dépendances ne suivent pas.

Performance

  • Des optimisations sont régulièrement introduites (meilleure gestion mémoire, rapidité accrue, consommation réduite).
  • Un serveur à jour profite des dernières améliorations matérielles et logicielles.

Tip

En résumé : un serveur non mis à jour est un serveur vulnérable.

Note

🚨 Les applications (OS inclus) contiennent des bugs ou des erreurs de programmation, c'est (aujourd'hui encore) inévitable.

  • Les tests, lors du développement de ces logiciels, permettent de détecter la présence et non l'absence de bugs.
  • Il est quasiment impossible de tester des choses auxquelles on ne pense pas.
  • Plus la complexité d'un programme augmente, plus la probabilité de bugs aussi.

Dans un futur proche, l'intelligence artificielle pourra peut-être aider les développeurs à détecter et réduire le nombre de bugs (ou pas).

bug-feature-meme.png

Source image

Quelques bugs célèbres

  • Ariane 5 (1996) : une conversion de données erronée (64 → 16 bits) a entraîné l'explosion de la fusée.
  • Bug de l'an 2000 (Y2K) : lié au stockage des années sur deux chiffres.
  • iPhone 4 (2010) : l'"Antennagate" provoquait des pertes de signal selon la façon dont l'appareil était tenu.
  • Heartbleed (2014) : faille critique dans OpenSSL permettant de voler des clés privées.
  • Spectre et Meltdown (2018) : vulnérabilités matérielles touchant des millions de processeurs.
  • Zoom (2020) : une faille a permis à des pirates d'accéder aux caméras et micros via des invitations piégées.
  • Bug CrowdStrike (2024) : une mise à jour défectueuse a provoqué une panne mondiale de Windows (écrans bleus), avec des pertes estimées à plus d'un milliard de dollars.

Bug

Tout programme non trivial possède au moins un bug

Tiré de la loi de Murphy appliquée à l'informatique

Combien de lignes de code ?

Images de 2015

lines-of-code.png

Source image

Infographie originale

Tip

🚨 Il est donc important de mettre à jour régulièrement son OS et les applications installées

Comment faire / savoir ?

  • Mises à jour automatiques ou planifiées (ex : apt pour Debian/Ubuntu, yum pour CentOS, Windows Update pour les serveurs Windows)
  • Listes de diffusion (Mailing Lists) pour être informé des nouvelles mises à jour et failles
  • Notifications via des outils de gestion des systèmes

❗️ Mais attention …

  • Les mises à jour peuvent contenir des bugs
  • Les mises à jour peuvent créer des incompatibilités, notamment avec des dépendances non mises à jour

Test ➡️ Staging ➡️ Production

  • Test : Mettre à jour sur un environnement de test isolé pour vérifier que la mise à jour ne cause pas de problème.
  • Staging : Appliquer la mise à jour dans un environnement de pré-production, similaire à la production, mais sans impact sur les utilisateurs finaux.
  • Production : Une fois la mise à jour validée, elle peut être appliquée en production, idéalement lors d'une période de faible trafic ou de maintenance planifiée.