ClickCease Comment appliquer les correctifs de sécurité du noyau Linux : 3 façons différentes

Table des matières

Rejoignez notre populaire bulletin d'information

Rejoignez 4 500+ professionnels de Linux et de l'Open Source !

2 fois par mois. Pas de spam.

Comment appliquer les correctifs de sécurité du noyau Linux : 3 façons différentes (2023)

Le 23 janvier 2023 - L'équipe de relations publiques de TuxCare

Les mises à jour du noyau Linux font partie de la vie. Elles sont aussi ennuyeuses que les impôts et aussi amusantes qu'une visite chez le dentiste. Mais les administrateurs système doivent continuer à appliquer des correctifs : les nouvelles failles de sécurité découvertes dans le noyau Linux semblent apparaître avec une régularité monotone. Dans la plupart des cas, mais pas tous, les correctifs nécessaires pour les corriger suivent rapidement. 

L'installation des derniers correctifs de sécurité du noyau Linux représente un travail considérable, et les réalités pratiques peuvent faire que les correctifs soient retardés. Mais si l'on attend trop longtemps, on donne l'occasion aux acteurs de la menace de tirer parti d'une vulnérabilité non corrigée.

C'est pourquoi il est si important de trouver le meilleur moyen de réparer le plus rapidement possible.

La popularité de Linux en tant que plate-forme pour les services d'hébergement web, les serveurs web autonomes et les applications web en fait une cible de choix. Les pirates utilisent des techniques telles que l'exécution de code à distance (RCE), le cross-site scripting (XSS) et les attaques par déni de service (DoS). 

Maintenir les instances Linux à jour avec les derniers correctifs du système d'exploitation et des logiciels d'application est l'un des moyens les plus efficaces de renforcer la sécurité du système et de se protéger contre ce type de cybermenaces. 

Cependant, il s'agit d'une tâche perturbatrice et chronophage car, pour Linux, la plupart des mises à jour du noyau et des correctifs de sécurité nécessitent un redémarrage du système. Cet article explique comment mettre à jour les noyaux Linux sans redémarrage. Je couvre trois méthodes différentes pour certains des noyaux Linux les plus populaires. Ces méthodes sont les suivantes :

  1. en utilisant la ligne de commande;
  2. avec kexec;
  3. avec des outils de correction en direct du noyau sans redémarrage : Oracle Ksplice Uptrack, Canonical Livepatch, Red Hat's Kpatch, SUSE Kgraft (SLE Live Patching) et KernelCare Enterprise.
  1. Ligne de commande

C'est la manière standard d'effectuer une mise à jour du noyau en utilisant le référentiel du fournisseur de la distribution Linux. C'est la méthode que vous trouverez le plus souvent dans la documentation du fournisseur.

  • Sur Ubuntu, vous pouvez utiliser ces commandes dans un terminal :
sudo apt-get upgrade linux-image-generic

sudo reboot
  • Sur Debian, vous utilisez :
sudo apt-get upgrade kernel

sudo reboot
  • Pour toute distribution basée sur RPM, y compris CentOS et Red Hat Enterprise Linux (RHEL), utilisez ceci :
sudo yum update kernel

sudo reboot

Jusqu'ici, c'est facile. Mais il y a un hic : le patch du noyau ne prendra effet qu'au redémarrage.

Un redémarrage ? Oui. Vous devez renvoyer vos utilisateurs, sauvegarder vos fichiers et fermer les processus, au risque de mécontenter beaucoup de monde. Par exemple, une personne qui est en train d'effectuer un achat sur votre site Web. Vous devez ensuite attendre que votre serveur Linux redémarre et retrouve son état antérieur.

Combien de temps vos serveurs mettent-ils à rebondir ? Les clients et autres parties prenantes le remarqueront-ils ? Même s'il y a un faible risque qu'ils le remarquent, vous devez les avertir avant d'installer le correctif du noyau.

C'est l'une des raisons pour lesquelles de nombreux administrateurs système reportent l'installation des correctifs, évitant ainsi les temps d'arrêt mais compromettant la sécurité du système.

PRO : Pas d'installation.

CONS : Non automatisé. Redémarrage nécessaire.

  1. kexec : Redémarrages plus rapides

Vous pouvez rendre l'étape de redémarrage plus rapide en utilisant kexec. Cet appel système du noyau Linux vous permet de démarrer directement dans un nouveau noyau, en sautant les phases de chargeur de démarrage et d'initialisation matérielle, et en réduisant de manière significative le temps de redémarrage.

Pour l'utiliser, vous devez d'abord installer kexec-tools.

  • Sur Ubuntu/Debian :
sudo apt-get install kexec-tools

Vous verrez une fenêtre de configuration qui ressemble un peu à ceci :

  • Sur CentOS/RHEL :
sudo yum install kexec-tools

Ensuite, installez le nouveau noyau. Dressez la liste des noyaux, puis choisissez le noyau que vous voulez utiliser :

sudo yum update kernel

ou

sudo rpm -qa kernel

Le résultat devrait être quelque chose comme ceci.

kernel-3.10.0-514.26.1.el7.x86_64 

kernel-3.10.0-862.3.2.el7.x86_64

Maintenant, démarrez dans la version du noyau que vous avez choisie :

sudo kexec -l /boot/vmlinuz-3.10.0-862.3.2.el7.x86_64  

-initrd=/boot/initramfs-3.10.0-862.3.2.el7.x86_64.img  

-reuse-cmdline 

sudo sync ; sudo umount -a ; sudo kexec -e

Vous pouvez utiliser la commande suivante si vous n'avez aucune patience (mais lisez l'avertissement ci-dessous avant de le faire) :

sudo kexec -e

AVERTISSEMENT : L'utilisation de la commande ci-dessus revient à mettre votre serveur sous tension sans laisser à la commande reboot le temps de tuer correctement vos processus, de synchroniser vos caches de fichiers et de démonter vos systèmes de fichiers. L'utilisation de cette commande peut entraîner la perte ou la corruption de données.

Démarrage plus rapide. Installation unique.

Plus de travail avec les doigts (et un potentiel d'erreur plus élevé, à moins que vous ne l'écriviez bien).

  1. Mettez à jour votre noyau sans redémarrer

Oui, vous avez bien lu. Il y a est un moyen de mettre à jour le noyau Linux sans redémarrer.

Il arrive que les correctifs de sécurité soient super critiques et que vous deviez absolument les appliquer. En même temps, les processus qui doivent s'arrêter lorsque vous redémarrez sont tout aussi critiques. Si vous utilisez un système "toujours actif" ou "à haute disponibilité", vous connaissez ce dilemme.

Une mise à jour du noyau sans redémarrage signifie que vous pouvez "avoir votre gâteau et le manger (aussi)". Mises à jour sans redémarrage, également appelées "live kernel patchingne remplacent pas les mises à niveau complètes du noyau, car elles n'appliquent que des correctifs pour les failles de sécurité ou les corrections de bogues critiques.

Cependant, les mises à jour sans redémarrage sont comme une solution miracle pour corriger les vulnérabilités. Lorsque vous considérez les choses vraiment urgentes, les mises à jour pour les vulnérabilités de sécurité et les corrections de bogues sont vraiment tout ce dont vous avez besoin. En utilisant des méthodes de correction en direct, il est possible de protéger un serveur contre les menaces pendant des années sans jamais le redémarrer.

De nombreux grands fournisseurs de Linux proposent un outil permettant de réaliser des mises à jour du noyau sans redémarrage. L'outil que vous choisissez dépend en partie de la distribution que vous utilisez et de l'existence ou non d'un contrat de support avec le fournisseur. Dans la suite de cet article, nous parlerons des produits suivants :

  • Ksplice par Oracle (pour les mises à jour d'Oracle Linux, Ksplice Uptrack pour les entreprises)
  • kpatch par Red Hat (pour les mises à jour du noyau de RHEL et les mises à jour de CentOS)
  • Livepatch par Canonical (pour les mises à jour du noyau d'Ubuntu)
  • kGradeau par SUSE (pour les mises à jour SUSE uniquement)
  • KernelCare Enterprise (pour toutes les principales distributions Linux)

Oracle Ksplice

Ksplice a été la première implémentation commercialement disponible de mises à jour du noyau sans redémarrage. Ksplice Inc. a finalement été racheté par Oracle et il n'est maintenant disponible (sans surprise) que pour les distributions Oracle Linux et RedHat Enterprise Linux. Le déploiement de Ksplice nécessite une licence d'Oracle, qui peut devenir coûteuse.

Pour le déployer, exécutez :

sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc

sudo sh install-uptrack-oc -autoinstall

Vous remarquerez qu'il n'y a pas de commande de redémarrage et que vous ne devez exécuter le script d'installation qu'une seule fois pendant la durée de vie du serveur. Après cela, le programme Uptrack détectera automatiquement les nouvelles mises à jour du noyau et les déploiera. Il n'y a plus rien à faire : pas de programmation et pas de temps d'arrêt.

Pas de redémarrage nécessaire. Mises à jour automatiques.

Uniquement pour les distributions Oracle. Nécessite une licence de support.

Service Livepatch de Canonical

Livepatch est la technologie de Canonical pour (devinez quoi ?) patcher en direct les noyaux. (Canonical est la société à l'origine de la distribution populaire Ubuntu Linux.) L'outil vous permet également de créer vos propres correctifs, mais c'est un travail difficile et long. (Certains vendeurs créeront un noyau de mise à niveau Ubuntu pour vous, moyennant finances).

Le service Livepatch est disponible pour Ubuntu 16.04 et les versions ultérieures, et RHEL 7.x (bêta). Livepatch est déployé comme suit :

sudo snap install canonical-livepatch

sudo canonical-livepatch enable [TOKEN] (en anglais)

Remarque : Le service Canonical Livepatch est gratuit pour une utilisation personnelle sur un maximum de 3 machines si vous êtes membre d'Ubuntu One. L'utilisation commerciale nécessite un abonnement Ubuntu Pro.

Pas de redémarrage nécessaire. Mises à jour automatiques du noyau.

Corrections personnalisées non triviales du noyau. Restriction sur le nombre d'hôtes pouvant être mis à jour. Les hôtes supplémentaires et l'utilisation commerciale sont payants.

Red Hat kpatch

kpatch est l'outil de correction du noyau propre à Red Hat. Il a été annoncé en 2014 et a été porté pour fonctionner sur d'autres distributions de la même famille (Fedora, CentOS) ainsi que sur certains systèmes basés sur Debian (Ubuntu, Gentoo).

Voici un exemple de déploiement sur RHEL 7 :

sudo yum install kpatch

sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm

Contrairement au service Livepatch d'Ubuntu ou à Ksplice d'Oracle, il ne s'agit pas d'un service automatique de correctifs en direct. Vous devez vérifier manuellement la présence de nouveaux correctifs et installer chaque correctif du noyau dès qu'il est disponible.

Aucun redémarrage n'est nécessaire.

Non automatisé. Fonctionne avec une gamme limitée de distributions.

SUSE kGraft

Développé et annoncé presque en même temps que la solution de Red Hat, kGraft est l'offre de correctifs en direct de SUSE (connue sous le nom de SUSE Linux Enterprise Live Patching). Elle ne fonctionne qu'avec le serveur Linux Enterprise 12 de SUSE et est préinstallée, de sorte qu'il n'y a rien d'autre à faire que de payer pour l'obtenir. Elle fonctionne sur un principe différent de la plupart des autres approches, mais possède un ensemble de fonctionnalités comparable à kpatch.

Aucune installation nécessaire. Pas de redémarrage nécessaire.

Support d'une seule plateforme. Commercial (mais il existe un essai gratuit de 60 jours).

KernelCare

Également lancé en 2020, le service de correctifs en direct du noyau Linux de TuxCare, KernelCare, se distingue des solutions de correctifs du noyau que nous avons couvertes jusqu'à présent pour deux raisons. Tout d'abord, KernelCare couvre un large éventail de distributions Linux, notamment CentOS, RHEL (dès RHEL 6), Oracle Linux, Debian, Ubuntu et bien d'autres. Ensuite, KernelCare est plus abordable que la souscription à un contrat d'assistance spécifique à un fournisseur, comme ceux énumérés ci-dessus.

Voici comment installer KernelCare :

wget -qq -O -- https://kernelcare.com/installer | bash

sudo /usr/bin/kcarectl --register <your key>

KernelCare est une solution "installer et oublier". Une fois installé, KernelCare télécharge et applique automatiquement les nouveaux correctifs de sécurité du noyau sans redémarrer le serveur.

Mais, contrairement à ses concurrents les plus proches, KernelCare peut gérer un grand nombre de correctifs plus complexes qui sont nécessaires pour les vulnérabilités, notamment la fameuse Meltdown (CVE-2017-5754) et Spectre (CVE-2017-5753 & CVE-2017-5715).

KernelCare vous couvre également contre les vulnérabilités complexes plus récentes, dont la Dirty Pipes (CVE-2022-0847).

Vous bénéficiez également d'un riche ensemble de fonctionnalités, puisque KernelCare prend en charge les configurations de correctifs personnalisées, les correctifs à date fixe, les correctifs différés et les retours en arrière sans redémarrage qui vous permettent de supprimer un correctif sans redémarrer.

Comme les autres fournisseurs considérés ici, KernelCare est également issu d'un solide pedigree Linux : KernelCare a été créé par CloudLinuxle principal fournisseur d'un système d'exploitation Linux dédié à l'hébergement Web.

Installation facile. Pas de redémarrage nécessaire. Couverture étendue des systèmes d'exploitation (y compris l'une des versions les plus populaires de Linux, Ubuntu). Prise en charge des correctifs personnalisés et à date fixe. Bonne assistance et savoir-faire industriel de TuxCare.

Commercial (mais il y a un essai gratuit). Il existe également une licence gratuite KernelCare pour les organisations à but non lucratif.

Obtenez un essai GRATUIT de KernelCare Enterprise 

Conclusion

La mise à jour du noyau est relativement facile à l'aide des outils de ligne de commande standard, mais seulement si votre serveur n'est pas critique et si vos utilisateurs peuvent supporter qu'il soit hors ligne pendant un certain temps.

Si vous utilisez un système toujours opérationnel, ou si vous ne pouvez ou ne voulez pas redémarrer, vous devez envisager des solutions de correction du noyau en direct. Il en existe trois types :

  1. Administré par: vous déclenchez vous-même les correctifs sans redémarrage. Par exemple, kpatch, kGraft
  2. Entièrement automatiqueLe patching sans redémarrage se fait automatiquement. Par exemple Livepatch, Ksplice
  3. Entièrement automatique, avancé et multiplateformeIl fait tout pour vous, gère également les menaces avancées et fonctionne sur toutes les distributions Linux courantes. Par exemple KernelCare Enterprise

Dans de nombreux cas, en particulier lorsque vous dépendez de différentes distributions Linux et que vous n'avez pas de contrat de support avec un fournisseur, KernelCare Enterprise vaut le coup d'oeil.

Si vous souhaitez en savoir plus sur la technologie des correctifs en direct et sur la manière dont elle renforce la sécurité de votre infrastructure, vous pouvez lire certains de nos articles de blog les plus populaires :

 

Résumé

Prêt à moderniser votre approche de correction des vulnérabilités avec la correction automatisée et non perturbatrice de KernelCare Enterprise ? Planifiez un chat avec l'un de nos experts en sécurité Linux !

PARLEZ À UN EXPERT

Devenez rédacteur invité de TuxCare

Commencer

Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information