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.