Retour

2025/04/11

4. Avez-vous déjà utilisé Ksplice ?

Dans cet article, nous allons présenter Ksplice, l’une des fonctionnalités d’Oracle Linux. Ksplice est un système de correctifs en direct qui vous permet d’appliquer des correctifs au noyau sans redémarrer le système d’exploitation. Avec une histoire de plus de 10 ans, c’est une fonctionnalité exceptionnelle qui reste inégalée à ce jour. Cependant, même parmi les utilisateurs d’Oracle Linux, ceux qui utilisent Ksplice pourraient être en minorité. Ainsi, dans cet article, nous visons à approfondir votre compréhension de Ksplice.

Qu’est-ce que Ksplice ?

Ksplice est une fonctionnalité qui permet d’appliquer des correctifs au noyau Linux et à certaines bibliothèques de l’espace utilisateur sans redémarrer le système d’exploitation. Par exemple, si vous installez un noyau récemment publié, vous devez encore redémarrer le système pour l’activer. Cependant, Ksplice vous permet d’activer la dernière mise à jour sans avoir à redémarrer.

En d’autres termes, avec Ksplice, vous pouvez bénéficier des avantages suivants :

  • Minimiser les temps d’arrêt du système
  • Réagir rapidement aux vulnérabilités de sécurité
  • Réduire le temps d’application des correctifs

La possibilité d’activer des mises à jour sans redémarrer est une fonctionnalité particulièrement importante pour les « serveurs accessibles de l’extérieur » et les « hôtes KVM exécutant de nombreuses machines virtuelles ». Les serveurs accessibles de l’extérieur doivent répondre rapidement aux vulnérabilités de sécurité. De plus, plusieurs serveurs virtuels fonctionnent sur des hôtes KVM. Par conséquent, lorsqu’un redémarrage du système est nécessaire, divers ajustements préalables sont requis, ainsi qu’un temps de travail réel.

En résumé, Ksplice est une fonctionnalité particulièrement efficace pour une utilisation en entreprise, contribuant à réduire les coûts opérationnels et à renforcer la sécurité.

FAQ sur Ksplice

Pour vous aider à comprendre rapidement Ksplice, nous vous proposons un aperçu intitulé FAQ sur Ksplice.

Quels systèmes d’exploitation puis-je utiliser avec Ksplice ?

À ce jour (septembre 2022), les systèmes d’exploitation Linux suivants sont pris en charge. Ksplice prend également en charge le noyau compatible Red Hat et le noyau Unbreakable Enterprise pour Oracle Linux.

  • Oracle Linux 6
  • Oracle Linux 7
  • Oracle Linux 8
  • Oracle Linux 9
  • CentOS et RHEL 7
  • CentOS et RHEL 8
  • Ubuntu 18.04
  • Ubuntu 20.04

En plus d’Intel/AMD (x86_64), il prend également en charge Arm 64 bits. Cependant, il ne prend en charge que le noyau Unbreakable Enterprise pour Arm.

Ai-je besoin d’une connexion Internet pour utiliser Ksplice ?

Ksplice propose des modes en ligne et hors ligne. Le mode en ligne se connecte au réseau Unbreakable Linux (ULN) fourni par Oracle, donc vous devez pouvoir vous connecter à Internet (cela peut être via un proxy Internet).

De plus, en mode hors ligne, vous pouvez utiliser Ksplice sans connexion Internet en configurant un miroir Ksplice. Cependant, le serveur utilisé comme miroir Ksplice doit pouvoir se connecter à Internet.

Quels composants sont couverts par le correctif en direct de Ksplice ?

En plus des deux noyaux suivants, il prend en charge les packages de l’espace utilisateur glibc et openssl. Cependant, seuls Oracle Linux prend en charge les packages de l’espace utilisateur.

  • Noyau compatible Red Hat
  • Noyau Unbreakable Enterprise
  • glibc
  • openssl

Y a-t-il des frais pour utiliser Ksplice ?

Pour utiliser Ksplice, vous avez besoin d’un contrat de support Premier Oracle Linux payant. Cependant, Ksplice est disponible gratuitement sur Oracle Linux sur Oracle Cloud Infrastructure (configuré par défaut). Exceptionnellement, vous pouvez l’utiliser gratuitement sur Ubuntu.

Y a-t-il un programme d’essai pour Ksplice ?

Un programme d’essai de 30 jours est disponible. De plus, si vous voulez essayer Ksplice facilement, nous recommandons l’option Always Free d’Oracle Cloud Infrastructure. L’image Oracle Linux est déjà configurée avec Ksplice, donc vous pouvez l’utiliser immédiatement.

Y a-t-il d’autres systèmes de correctifs en direct comme Ksplice ?

D’autres distributions Linux proposent également les systèmes de correctifs en direct suivants. Cependant, tous ont été fournis récemment et n’ont pas encore prouvé leurs performances.

  • kpatch basé sur RHEL
  • SUSE KLP
  • Service Livepatch d’Ubuntu

De plus, sur Windows, il existe une fonctionnalité appelée correctif à chaud Windows. Cependant, elle est limitée à Windows Server 2022 Datacenter : Azure Edition.

Essayons Ksplice

Pour comprendre Ksplice, il est préférable de voir comment il fonctionne réellement. Dans cet article, nous expliquerons en utilisant Oracle Linux 8 sur Oracle Cloud Infrastructure, qui est facile à essayer. La configuration et les détails seront expliqués dans le prochain article.

De plus, Oracle Linux 7 et Oracle Linux 9 sont presque identiques, mais il peut y avoir de légères différences selon la version de l’image que vous utilisez.

Vérifiez l’état de votre configuration Ksplice

Pour utiliser Ksplice, vous avez besoin d’un client Ksplice. Alors, vérifiez si le client Ksplice est installé. Si vous recherchez un paquet, vous constaterez que le paquet uptrack (= client Ksplice) est installé.

$ rpm -qa | grep -e ksplice -e uptrack | sort
ksplice-release-el8-1.0-4.el8.x86_64
ksplice-uptrack-release-1-5.noarch
uptrack-1.2.75-0.el8.noarch

Ensuite, vérifiez le fichier de configuration /etc/uptrack/uptrack.conf. Vous pouvez utiliser Ksplice si le fichier de configuration existe et que la clé d’accès est configurée.

$ grep -v -e '^\s*#' -e '^\s*$' /etc/uptrack/uptrack.conf
[Auth]
accesskey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (La clé pour Ksplice Uptrack est récupérée depuis ULN)
[Network]
https_proxy =
gconf_proxy_lookup = no
[Settings]
install_on_reboot = yes
autoinstall = no

Apprenez les bases de Ksplice

Maintenant que vous savez que Ksplice est configuré, nous allons réellement utiliser Ksplice. Comme la plupart des opérations nécessitent des privilèges root, nous utiliserons su. Alternativement, vous pouvez ajouter sudo à chaque fois.

$ sudo su -

Vérifiez la version du noyau

Vérifiez la version du noyau Linux actuellement activée. UEK6 “5.4.17-2136.306.1.3” est activée.

# uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

Si vous vérifiez la dernière version du référentiel, elle est “5.4.17-2136.310.7.1”. Vous pouvez donc voir qu’une nouvelle version a été publiée.

# yum check-update kernel-uek
kernel-uek.x86_64              5.4.17-2136.310.7.1.el8uek              ol8_UEKR6

Consultez les mises à jour

Dans la méthode traditionnelle, le noyau est mis à jour et redémarré comme suit :

# yum update kernel-uek -y
# reboot

Avec Ksplice, utilisez la commande uptrack-upgrade. Vous pouvez voir les mises à jour Ksplice applicables en entrant “uptrack-upgrade -n” comme suit. Chaque ligne représente une mise à jour distincte.

# uptrack-upgrade -n
Version effective du noyau : 5.4.17-2136.306.1.3.el8uek
Les étapes suivantes seront effectuées :
Installer [n9kprcm6] Détection d'exploit connu.
Installer [qivpmdlu] Détection d'exploit connu pour CVE-2019-9213.
Installer [50qj7qw1] Détection d'exploit connu pour CVE-2017-1000253.
Installer [3iw8b16t] Détection d'exploit connu pour CVE-2016-5195.
Installer [sgxyx32m] Détection d'exploit connu pour CVE-2021-27363.
Installer [92k7sosn] Détection d'exploit connu pour CVE-2021-27364.
★Omission ci-dessous

Appliquer la mise à jour

Appliquez toutes ces mises à jour. Le temps d’application varie en fonction du nombre de mises à jour et des spécifications de la machine, et cette fois-ci, cela a pris environ 1 minute. Le point clé à noter ici est “5.4.17-2136.310.7” dans la dernière ligne. Grâce à Ksplice, il a la même version de noyau que la dernière version.

# uptrack-upgrade -y
Les étapes suivantes seront effectuées :
Installer [n9kprcm6] Détection d'exploit connu.
Installer [qivpmdlu] Détection d'exploit connu pour CVE-2019-9213.
Installer [50qj7qw1] Détection d'exploit connu pour CVE-2017-1000253.
Installer [3iw8b16t] Détection d'exploit connu pour CVE-2016-5195.
★Omission
Installation de [dad581dd] CVE-2022-2588 : Utilisation après libération dans le classificateur de routage IP.
Votre noyau est entièrement à jour.
Version effective du noyau : 5.4.17-2136.310.7.el8uek

La version effective du noyau activée par la mise à jour Ksplice peut être consultée avec la commande uptrack-uname.

# uptrack-uname -r
5.4.17-2136.310.7.el8uek.x86_64

La commande uname normale affiche la version du noyau installée.

# uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

La liste des UEK installés est la suivante. La dernière version “5.4.17-2136.310.7” n’est pas installée. En d’autres termes, seule la mise à jour incrémentielle Ksplice (correctif) est installée.

# rpm -q kernel-uek | sort -n
kernel-uek-5.4.17-2102.201.3.el8uek.x86_64
kernel-uek-5.4.17-2136.304.4.1.el8uek.x86_64
kernel-uek-5.4.17-2136.306.1.3.el8uek.x86_64

Consultez les mises à jour

La mise à jour Ksplice que vous appliquez peut être consultée avec la commande uptrack-show.

# uptrack-show
Mises à jour installées :
[n9kprcm6] Détection d'exploit connu.
[qivpmdlu] Détection d'exploit connu pour CVE-2019-9213.
[50qj7qw1] Détection d'exploit connu pour CVE-2017-1000253.
★Omission
[fza3q2mo] CVE-2022-2153 : Déni de service dans la machine virtuelle basée sur le noyau.
[4eaq3lov] CVE-2022-21505 : Contournement du verrouillage dans l'architecture de mesure d'intégrité.
[dad581dd] CVE-2022-2588 : Utilisation après libération dans le classificateur de routage IP.
Version effective du noyau : 5.4.17-2136.310.7.el8uek

Supprimer les mises à jour

Vous pouvez facilement supprimer les mises à jour appliquées avec la commande uptrack-remove.

# uptrack-remove --all -y
Les étapes suivantes seront effectuées :
Supprimer [dad581dd] CVE-2022-2588 : Utilisation après libération dans le classificateur de routage IP.
Supprimer [4eaq3lov] CVE-2022-21505 : Contournement du verrouillage dans l'architecture de mesure d'intégrité.
Supprimer [jjafy1ef] CVE-2022-29582 : Utilisation après libération dans l'API io_uring asynchrone.
★Omission
Suppression de [qivpmdlu] Détection d'exploit connu pour CVE-2019-9213.
Suppression de [n9kprcm6] Détection d'exploit connu.
Version effective du noyau : 5.4.17-2136.306.1.3.el8uek

Vous êtes maintenant revenu à l’état initial sans appliquer les mises à jour Ksplice. Dans ce cas, nous avons appliqué les mises à jour en masse, mais vous pouvez également les appliquer individuellement en spécifiant leurs identifiants.

# uptrack-uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

# uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

À titre de rappel, vous ne verrez rien lorsque vous consultez les mises à jour Ksplice appliquées.

# uptrack-show
Mises à jour installées :
Aucune

Version effective du noyau : 5.4.17-2136.306.1.3.el8uek

Conclusion

Avez-vous compris ce qu’est Ksplice ? De plus, nous pensons que lorsque vous l’utiliserez réellement, vous verrez qu’il est très facile à utiliser. Dans le prochain article, nous aborderons Ksplice plus en détail.