07. Appliquer des correctifs et mettre à jour Ubuntu Server : un guide complet

Garder votre serveur Ubuntu corrigé et à jour est essentiel pour maintenir la sécurité, la stabilité et la conformité. Les mises à jour régulières protègent contre les vulnérabilités, améliorent les performances du système et garantissent le respect des normes du secteur. Ce guide fournit des informations exploitables, des exemples pratiques et des outils pour automatiser les mises à jour et gérer efficacement les correctifs du noyau.


Article précédent:

01. Introduction à Ubuntu Server – SysOSX: AI & Cloud

02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud

03. Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud

04. Gestion des utilisateurs et des autorisations sur Ubuntu Server : un guide complet – SysOSX: AI & Cloud

05. Bases des réseaux pour Ubuntu Server : un guide complet – SysOSX: AI & Cloud

06. Installer et gérer des logiciels sur Ubuntu Server : un guide complet – SysOSX: AI & Cloud



Pourquoi les mises à jour régulières d’Ubuntu Server sont cruciales

1. Protection de la sécurité

Les vulnérabilités non corrigées constituent un risque de sécurité majeur. Selon la CISA, 87 % des violations ciblent des systèmes dont les logiciels ne sont pas corrigés. Les mises à jour régulières atténuent ces risques en traitant les vulnérabilités connues.

Exemple réel :

La vulnérabilité OpenSSL de 2023 (CVE-2023-0286) a permis aux attaquants de voler des données sensibles. Les serveurs qui ont appliqué rapidement le correctif ont évité l’exploitation.


2. Stabilité du système

Les mises à jour comprennent souvent des correctifs pour les bogues et les problèmes de performance, garantissant un fonctionnement stable. Elles améliorent également la compatibilité matérielle, en particulier pour les serveurs exécutés sur des plateformes cloud comme AWS et Azure.

Exemple réel :

Le problème « Dirty Pipe » du noyau Linux 5.15 de 2022 a provoqué des fuites de mémoire et une instabilité du système. Un correctif du noyau a résolu le problème, restaurant la fiabilité du système.


3. Exigences de conformité

De nombreux secteurs exigent des mises à jour régulières pour respecter les normes de sécurité et de confidentialité. Le non-respect peut entraîner des amendes, des conséquences juridiques et des atteintes à la réputation.

Exemples de normes :

  • PCI-DSS: Obligatoire pour les systèmes de paiement.
  • HIPAA: Protège les données de santé.
  • GDPR: Garantit la confidentialité des citoyens de l’UE.

Aide-mémoire des commandes de mise à jour d’Ubuntu

Voici un guide de référence rapide des commandes de mise à jour d’Ubuntu :

CommandeObjectifQuand l’utiliser
sudo apt updateActualiser les listes de paquetsAvant toute installation
sudo apt upgradeInstaller les mises à jour de sécuritéMaintenance hebdomadaire
sudo apt full-upgradeMises à jour de versions majeuresMises à niveau de version d’Ubuntu
sudo apt autoremoveNettoyer les anciens paquetsAprès les mises à jour

Configuration des correctifs automatisés (guide en 5 minutes)

Automatiser les mises à jour avec unattended-upgrades garantit que les correctifs critiques sont appliqués sans intervention manuelle. Suivez ces étapes pour configurer les mises à jour automatiques :

Étape 1 : installer unattended-upgrades

sudo apt install unattended-upgrades


Étape 2 : configurer les mises à jour de sécurité

Modifiez le fichier de configuration :

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Décommentez les lignes suivantes :

"Ubuntu:${distro_codename}-security";
"Ubuntu:${distro_codename}-updates";

Étape 3 : activer les redémarrages automatiques

Ajoutez ces lignes au même fichier pour activer les redémarrages automatiques après les mises à jour :

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";


Quand utiliser les correctifs automatisés

Les correctifs automatisés sont idéaux pour les environnements où l’indisponibilité est acceptable ou où l’intervention manuelle n’est pas pratique. Par exemple :

  • Systèmes non critiques : Environnements de développement ou de test où la disponibilité n’est pas critique.
  • Petites entreprises ou usage personnel : Assure la sécurité des utilisateurs sans personnel informatique dédié.
  • Appareils périphériques ou systèmes IoT : Appareils distants qui ne peuvent pas être mis à jour manuellement.

Cependant, les correctifs automatisés ne conviennent pas à tous les environnements. Évitez-les dans les scénarios suivants :

  • Systèmes critiques : Les mises à jour doivent être testées dans des environnements de préproduction pour éviter d’introduire des bogues ou des indisponibilités.
  • Environnements à haute disponibilité (HA) : Les correctifs automatisés pourraient perturber les systèmes en grappe ou les mécanismes de basculement.
  • Secteurs réglementés : Les normes de conformité exigent souvent que les mises à jour passent par des processus d’approbation et de test.
  • Configurations personnalisées : Les serveurs avec des configurations uniques peuvent rencontrer des problèmes de compatibilité avec les mises à jour automatiques.

Dans de tels cas, envisagez d’appliquer les correctifs manuellement ou d’utiliser des outils comme Ansible pour garder le contrôle du processus de mise à jour.


Gestion des mises à jour du noyau

Les mises à jour du noyau sont essentielles pour corriger les vulnérabilités et améliorer les performances du système. Voici comment gérer efficacement les mises à jour du noyau :

1. Vérifier les mises à jour du noyau en attente

Utilisez la commande suivante pour vérifier les mises à jour du noyau disponibles :

apt list --upgradable | grep linux-image


2. Appliquer les mises à jour sans redémarrer (Livepatch)

Ubuntu Livepatch n’est disponible que pour l’abonnement Ubuntu Pro et vous permet d’appliquer les mises à jour du noyau sans redémarrer, minimisant ainsi l’indisponibilité.

Étapes pour activer Livepatch :

  • Installer Livepatch :
sudo snap install canonical-livepatch
  • Activez Livepatch avec votre jeton :
sudo canonical-livepatch enable YOUR_TOKEN

    3. Procédure de redémarrage sécurisée

    Si un redémarrage est nécessaire, suivez ces étapes pour redémarrer proprement :

    Vérifier si un redémarrage est nécessaire :

    Ubuntu crée un fichier /var/run/reboot-required lorsqu’un redémarrage est nécessaire après les mises à jour. Si ce fichier n’existe pas, cela signifie qu’aucun redémarrage n’est requis. Cependant, vous pouvez vérifier manuellement les points suivants :

    • Vérifier la version du noyau :
      Comparez la version du noyau en cours d’exécution avec le noyau installé le plus récent :
    uname -r apt list --installed | grep linux-image
    
    • Vérifier les processus en cours d’exécution qui utilisent des fichiers supprimés :
      Identifier les processus utilisant des fichiers obsolètes :
    sudo lsof | grep deleted
    

      Avertir les utilisateurs de l’indisponibilité :

      wall "Maintenance reboot in 10 minutes"
      
      

      Planifier le redémarrage :

      sudo shutdown -r +10
      
      

      Modèles d’automatisation d’entreprise

      Playbook Ansible pour les mises à jour multi-serveurs

      Pour gérer les mises à jour sur plusieurs serveurs, utilisez Ansible pour automatiser le processus.

      Exemple de playbook :

      - name: Apply security patches
        hosts: all
        become: yes
        tasks:
          - name: Update apt cache
            ansible.builtin.apt:
              update_cache: yes
      
          - name: Apply security updates
            ansible.builtin.apt:
              upgrade: yes
              cache_valid_time: 3600
      

      Exécutez le playbook :

      ansible-playbook update.yml
      

      Tâche cron pour les mises à jour en heures creuses

      Planifiez les mises à jour pendant les heures creuses à l’aide de tâches cron.

      Exemple de tâche cron :

      Modifiez le crontab :

      sudo crontab -e
      

      Ajoutez la ligne suivante pour planifier les mises à jour tous les dimanches à 3 h du matin :

      0 3 * * 7 apt update && apt upgrade -y
      

      Problèmes courants et solutions

      1. Espace disque insuffisant pendant les mises à jour

      Si votre serveur manque d’espace disque pendant les mises à jour, nettoyez les fichiers inutiles :

      Commandes :

      sudo apt clean
      sudo apt autoremove --purge
      

      Vérifier l’utilisation du disque :

      df -h
      
      

      2. Récupération après un échec de mise à jour

      Si les mises à jour échouent, utilisez les commandes suivantes pour récupérer :

      Réparer les dépendances cassées :

      sudo apt --fix-broken install
      

      Réinitialiser l’état des paquets :

      sudo dpkg --configure -a
      

      3. Mises à jour des serveurs hors ligne

      Pour les serveurs sans accès à internet, utilisez apt-offline pour télécharger les mises à jour sur une machine connectée et les appliquer hors ligne.

      Sur la machine connectée :

      apt-offline set update.sig
      

      Transférez les fichiers et appliquez-les :

      apt-offline install update.sig
      

      Liste de contrôle de maintenance

      Suivez cette liste de contrôle pour vous assurer que votre serveur Ubuntu reste sûr et stable :

      • Chaque semaine : Effectuer des mises à jour de sécurité manuelles.
      • Chaque mois : Tester les mises à niveau complètes dans un environnement de préproduction.
      • Chaque trimestre : Nettoyer le stockage et supprimer les paquets inutilisés.
      • Chaque année : Effectuer un audit de conformité pour respecter les normes du secteur.

      Document officiel : Installer et gérer des paquets – documentation d’Ubuntu Server


      Conclusion

      L’application régulière de correctifs et la mise à jour d’Ubuntu Server sont essentielles pour maintenir la sécurité, la stabilité et la conformité. En comprenant l’importance des mises à jour, en maîtrisant les commandes apt, en automatisant les mises à jour avec unattended-upgrades et en gérant efficacement les correctifs du noyau, les administrateurs peuvent garantir que leurs serveurs restent robustes et fiables. Pour les environnements d’entreprise, des outils comme Ansible et Livepatch rationalisent davantage le processus, réduisant l’indisponibilité et améliorant l’efficacité.

      Perspectives : sécuriser votre serveur Ubuntu

      Maintenant que vous comprenez comment garder votre serveur Ubuntu à jour et corrigé, l’étape suivante consiste à vous assurer qu’il reste protégé contre les menaces externes. Dans notre prochain article, Sécuriser votre serveur Ubuntu, nous aborderons les étapes pratiques pour durcir votre serveur, notamment :

      • Configurer les pare-feux avec ufw.
      • Configurer SSH de manière sécurisée pour empêcher les accès non autorisés.
      • Utiliser des outils comme fail2ban pour se protéger contre les attaques par force brute.

      Restez à l’écoute pour des informations exploitables afin de protéger votre serveur et votre infrastructure contre les menaces potentielles !

      3 thoughts on “07. Patching and Updating Ubuntu Server: A Comprehensive Guide”

      Laisser un commentaire