documentation.suse.com / Kernel Live Patching sous SUSE Linux Enterprise Server for SAP applications

Kernel Live Patching sous SUSE Linux Enterprise Server for SAP applications

Date de publication : 04 nov 2025
CONTENU

Présentation et utilisation de Kernel Live Patching sous SUSE Linux Enterprise Server.

MOTIF

Vous souhaitez assurer la sécurité des systèmes critiques, sans temps d'arrêt.

EFFORT

20 minutes de lecture.

OBJECTIF

Comprendre le fonctionnement de Kernel Live Patching.

CONDITIONS REQUISES
  • Connaissance pratique de Linux.

1 Introduction à Kernel Live Patching

Kernel Live Patching (KLP) permet d'appliquer les dernières mises à jour de sécurité aux kernels Linux sans devoir redémarrer. Cela permet d'optimiser le temps de d'activité et la disponibilité du système, ce qui est particulièrement important pour les systèmes critiques. En tant que tel, KLP offre plusieurs avantages.

  • La mise à jour automatique d'un grand nombre de serveurs est essentielle pour les organisations qui obtiennent ou souhaitent conserver certaines certifications de conformité. KLP peut contribuer à cette conformité, tout en réduisant les besoins en fenêtres de maintenance.

  • Les entreprises qui travaillent avec des contrats de niveau de service doivent garantir un certain niveau d'accessibilité et de disponibilité du système. L'application de correctifs en direct permettent de corriger les systèmes sans temps d'arrêt.

  • Comme KLP fait partie du mécanisme de mise à jour standard du système, il n'est pas nécessaire de dispenser une formation spécialisée ou d'introduire des routines de maintenance supplémentaires.

1.1 Champ d'application de Kernel Live Patching

Le champ d'application de SUSE Linux Enterprise Server for SAP applications Live Patching comprend des correctifs pour les vulnérabilités SUSE Common Vulnerability Scoring System (CVSS) de niveau 7+ et des correctifs de bogues liés à la stabilité du système ou à la corruption des données. Cependant, il peut être techniquement impossible de créer des correctifs en direct pour toutes les corrections relevant des catégories spécifiées. SUSE se réserve donc le droit d'ignorer les corrections lorsque la création d'un correctif de kernel Linux en direct n'est pas possible pour des raisons techniques. Actuellement, plus de 95 % des corrections concernées sont publiées en tant que correctifs en direct. SUSE CVSS est basé sur le système CVSS v3.0. Pour plus d'informations sur CVSS, reportez-vous à la page Common Vulnerability Scoring System SIG (Groupe d'intérêt dédié au système commun de notation des vulnérabilités).

1.2 Limites associées à Kernel Live Patching

KLP implique le remplacement de fonctions et le traitement gracieux du remplacement d'ensembles de fonctions interdépendants. Ce remplacement est effectué en redirigeant les appels à l'ancien code vers le code mis à jour à un autre emplacement de la mémoire. Les modifications des structures de données compliquent la situation, car les données restent en place et ne peuvent pas être étendues ou réinterprétées. Bien qu'il existe des techniques permettant une modification indirecte des structures de données, certaines corrections ne peuvent pas être transposées en correctifs en direct. Dans ce cas, le redémarrage du système est le seul moyen d'appliquer les corrections.

2 Présentation des correctifs de kernel Linux en direct

Les correctifs de kernel Linux en direct sont installés dans le cadre des mises à jour régulières du système. Les correctifs de kernel Linux en direct sont livrés en tant que paquets avec un code modifié distinct du paquet principal du kernel. Les correctifs en direct sont cumulatifs, de sorte que le dernier correctif contient l'ensemble des corrections des précédents pour le paquet du kernel Linux. Chaque paquet de kernel Linux en direct est lié à la révision exacte du kernel Linux pour lequel il est publié. Le numéro de version du paquet de correctifs en direct augmente au fur et à mesure l'ajout de corrections. Pour déterminer l'état d'application des correctifs du kernel Linux, utilisez la commande klp -v patches.

Les correctifs en direct ne contiennent que des corrections critiques et ne remplacent pas les mises à jour régulières du kernel Linux nécessitant un redémarrage. Considérez les correctifs en direct comme des mesures temporaires qui protègent le kernel Linux jusqu'à ce qu'une mise à jour correcte du kernel et un redémarrage soient effectués.

Le diagramme ci-dessous illustre la relation globale entre les correctifs en direct et les mises à jour du kernel Linux. La liste des CVE et des rapports d'anomalies traités par le correctif appliqué en direct peut être consultée à l'aide de la commande klp -v patches.

relation entre les correctifs en direct et les mises à jour du kernel Linux
Figure 1 : relation entre les correctifs en direct et les mises à jour du kernel Linux

Il est possible d'avoir plusieurs versions du paquet de kernel Linux installées avec leurs correctifs en direct. Ces paquets ne sont pas en conflit. Vous pouvez installer des paquets de kernel Linux mis à jour ainsi que des correctifs en direct pour le kernel en cours d'exécution. Dans ce cas, vous pourriez être invité à redémarrer le système. Les utilisateurs abonnés à SUSE Linux Enterprise Server for SAP applications Live Patching sont éligibles au support technique tant qu'il y a des mises à jour de correctifs en direct pour le kernel Linux en cours d'exécution.

Lorsque KLP est activé, chaque mise à jour du kernel Linux est accompagnée d'un paquet de correctifs en direct. Ce correctif en direct ne contient pas de corrections et sert de point de départ pour les futurs correctifs en direct du kernel Linux correspondant. Ces correctifs vides servant de point de départ sont appelés initial patches.

Gardez à l'esprit que même si plusieurs paquets de kernel Linux sont installés sur le système, seul l'un d'entre eux est en cours d'exécution à un moment donné. De même, il peut y avoir plusieurs paquets de correctifs en direct installés, mais un seul est chargé dans le kernel Linux.

Le correctif actif en direct est inclus dans le système initrd. Cela signifie qu'en cas de redémarrage inopiné, le système se remet en marche avec les correctifs en direct appliqués, de sorte qu'il n'est plus nécessaire de les réappliquer.

3 Activation de Kernel Live Patching à partir de la ligne de commande

Kernel Live Patching est inclus dans l'abonnement standard de SUSE Linux Enterprise Server for SAP applications. Pour l'utiliser, vous devez installer le modèle suivant :

# zypper install -t pattern lp_sles

À ce stade, un correctif en direct a déjà été appliqué au système.

Voici comment le processus fonctionne en coulisses : lorsque le système d'installation des paquets détecte qu'un kernel Linux installé peut être corrigé en direct et qu'un correctif en direct est disponible pour ce kernel Linux dans le canal logiciel, le système sélectionne le correctif en direct pour l'installation. Le kernel Linux reçoit alors les correctifs en direct dans le cadre de l'installation du paquet. Le kernel Linux est corrigé en direct avant même la fin de l'installation du produit.

4 Résolution des problèmes liés à Kernel Live Patching

4.1 Vérification de la date d'expiration du correctif en direct

Assurez-vous que lifecycle-data-sle-module-live-patching est installé, puis exécutez la commande zypper lifecycle. Vous devriez voir les dates d'expiration des correctifs en direct dans la section Package end of support if different from product de la sortie.

Chaque correctif en direct reçoit des mises à jour pendant 13 mois à compter de la publication du paquet du kernel Linux sous-jacent. La page Maintained kernels, patch updates and lifecycle (Maintenance des kernels, mises à jour et cycle de vie des correctifs) vous permet de consulter les dates d'expiration en fonction de la version du kernel Linux en cours d'exécution sans installer l'extension du produit.

4.2 Vérification des paquets de correctifs en direct installés dans le kernel Linux

Le kernel Linux est corrigé en direct si un paquet kernel-livepatch-* a été installé pour le kernel en cours d'exécution. Vous pouvez utiliser la commande zypper se --details kernel-livepatch-* pour vérifier quels sont les paquets de correctifs en direct du kernel Linux sont installés sur votre système.

4.3 Évitement des redémarrages

Lorsque le paquet kernel-default est installé, le gestionnaire de mise à jour vous invite à redémarrer le système. Pour éviter que ce message s'affiche, vous pouvez filtrer les mises à jour du kernel Linux lors de l'application du correctif. Cette opération peut être effectuée en verrouillant des paquets à l'aide de Zypper.

4.4 Vérification de l'état d'application du correctif

Vous pouvez vérifier l'état d'application des correctifs à l'aide de la commande klp status. Pour examiner les correctifs installés, exécutez la commande klp -v patches.

4.5 Rétrogradation d'un correctif de kernel Linux

Si vous découvrez que le dernier correctif en direct est problématique, vous pouvez restaurer le correctif en direct actuellement installé vers sa version précédente. Gardez à l'esprit qu'un système présentant des avertissements ou des traces d'erreurs de kernel dans le journal système peut ne pas convenir à la procédure de rétrogradation du correctif. Si vous n'êtes pas certain que le système réponde aux exigences d'une rétrogradation de correctif, contactez le support technique de SUSE pour obtenir de l'aide.

Pour rétrograder le dernier correctif de kernel Linux en direct, utilisez la commande klp downgrade. Cette commande détecte automatiquement la version du dernier correctif en direct et installe le précédent.