Déploiement
Déploiement • Chapitre 13 : Maintenance et dépannage en production

Gestion des mises à jour

Un serveur jamais mis à jour est une bombe à retardement de failles de sécurité (CVE). Apprenez à appliquer les correctifs de sécurité Linux avec unattended-upgrades, à auditer les vulnérabilités de dépendances npm et à planifier les redémarrages de kernel sans impacter vos clients.

🛡️
Patchs de Sécurité OS

Mise à jour régulière d'OpenSSL, Nginx et du noyau Linux contre les failles zero-day.

🤖
unattended-upgrades

Automatisation sous Ubuntu des correctifs de sécurité critiques sans intervention humaine.

📦
npm audit fix

Analyse des vulnérabilités connues dans l'arbre des dépendances du projet Node.js.

🔄
Reboot Planifié

Exécution des redémarrages de noyau en heure creuse (3h du matin) avec annonce préalable.

server-security-updates.sh
# 1. Mettre à jour l'annuaire des paquets et afficher les paquets éligibles
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
12 packages can be upgraded. Run 'apt list --upgradable' to see them.

# 2. Installer uniquement les correctifs sans casser la configuration
$ sudo apt upgrade -y

# 3. Vérifier si un redémarrage du noyau est nécessaire
$ if [ -f /var/run/reboot-required ]; then echo "⚠️ Reboot requis pour appliquer le nouveau noyau !"; fi

# 4. Auditer les vulnérabilités du projet Node.js
$ cd /var/www/learnweb-api
$ npm audit
found 0 vulnerabilities # ✅ Projet certifié propre !

Guide Approfondi & Architecture Système

1. Activer les Correctifs Automatiques avec unattended-upgrades

Pour ne plus craindre d'oublier une faille de sécurité majeure :
  1. Installez le paquet officiel : sudo apt install unattended-upgrades -y
  2. Activez-le : sudo dpkg-reconfigure --priority=low unattended-upgrades
  3. Désormais, chaque nuit, Ubuntu téléchargera et appliquera silencieusement tous les patchs de sécurité critiques sans redémarrer le serveur.

2. Attention à npm audit fix --force !

Une règle d'or pour tout développeur JavaScript :
Danger critique : N'exécutez JAMAIS npm audit fix --force sur un serveur de production ! L'option --force installe des versions majeures (Breaking Changes) qui cassent votre code. Corrigez toujours les vulnérabilités en local, testez avec votre suite de tests, puis poussez via Git.

Tableau Récapitulatif : Fréquence de Maintenance Recommandée

ComposantFréquence de Mise à JourMéthode RecommandéeRisque d'Interruption
Sécurité Linux (OS)Quotidienne (Automatisée)unattended-upgradesNul (zéro redémarrage requis)
Noyau Linux (Kernel)Tous les 1 à 3 moisapt upgrade + sudo reboot à 3h du matinFaible (coupure de 45 secondes)
Dépendances npm / composerToutes les 2 à 4 semainesTest local préalable -> Git commit -> DéploiementNul si validé en staging
Version majeure de Node / PHPAnnuelle (cycle LTS)Migration en staging sur serveur miroirMoyen (exige des tests exhaustifs)