Zurück

2025/04/16

4. Haben Sie schon einmal Ksplice verwendet?

In diesem Artikel stellen wir Ksplice vor, eine der Funktionen von Oracle Linux. Ksplice ist ein Live-Patching-System, das es Ihnen ermöglicht, Patches auf den Kernel anzuwenden, ohne das Betriebssystem neu zu starten. Es hat eine Geschichte von über 10 Jahren und ist eine herausragende Funktion, die derzeit unübertroffen ist. Doch selbst unter den Nutzern von Oracle Linux sind diejenigen, die Ksplice verwenden, möglicherweise in der Minderheit. Daher möchten wir in diesem Artikel Ihr Verständnis für Ksplice vertiefen.

Was ist Ksplice?

Ksplice ist eine Funktion, die es Ihnen ermöglicht, Patches auf den Linux-Kernel und einige Benutzerraum-Bibliotheken anzuwenden, ohne das Betriebssystem neu zu starten. Wenn Sie beispielsweise einen neu veröffentlichten Kernel installieren, müssen Sie das Betriebssystem normalerweise neu starten, um ihn zu aktivieren. Ksplice hingegen erlaubt es Ihnen, das neueste Update ohne Neustart zu aktivieren.

Mit anderen Worten, Sie erhalten mit Ksplice die folgenden Vorteile:

  • Minimierung der Systemausfallzeit
  • Schnelle Reaktion auf Sicherheitslücken
  • Minimierung der Zeit für die Anwendung von Patches

Die Möglichkeit, Updates ohne Neustart zu aktivieren, ist besonders wichtig für „extern zugängliche Server“ und „KVM-Hosts mit vielen laufenden virtuellen Maschinen“. Extern zugängliche Server müssen schnell auf Sicherheitslücken reagieren. Zudem laufen auf KVM-Hosts mehrere virtuelle Server. Wenn ein Neustart des Betriebssystems erforderlich ist, sind verschiedene Vorabstimmungen notwendig, und es wird auch tatsächliche Arbeitszeit benötigt.

Mit anderen Worten, Ksplice ist eine besonders effektive Funktion für den Unternehmenseinsatz, die dazu beiträgt, Betriebskosten zu senken und die Sicherheit zu erhöhen.

Ksplice FAQ

Um Ihnen ein schnelles Verständnis von Ksplice zu ermöglichen, geben wir Ihnen einen Überblick mit dem Titel Ksplice FAQ.

Welche Betriebssysteme kann ich mit Ksplice verwenden?

Zum jetzigen Zeitpunkt (September 2022) werden die folgenden Linux-Betriebssysteme unterstützt. Ksplice unterstützt sowohl den Red Hat-kompatiblen Kernel als auch den Unbreakable Enterprise Kernel für Oracle Linux.

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

Zusätzlich zu Intel/AMD (x86_64) unterstützt es auch 64-Bit-Arm. Allerdings unterstützt es für Arm nur den Unbreakable Enterprise Kernel.

Benötige ich eine Internetverbindung, um Ksplice zu verwenden?

Ksplice hat Online- und Offline-Modi. Der Online-Modus verbindet sich mit dem Unbreakable Linux Network (ULN), das von Oracle bereitgestellt wird, sodass Sie eine Internetverbindung benötigen (dies kann über einen Internet-Proxy erfolgen).

Im Offline-Modus können Sie Ksplice ohne Internetverbindung nutzen, indem Sie einen Ksplice-Mirror einrichten. Der Server, der als Ksplice-Mirror verwendet wird, muss jedoch eine Internetverbindung haben.

Welche Komponenten sind von Ksplices Live-Patch abgedeckt?

Zusätzlich zu den folgenden zwei Kerneln unterstützt es die Benutzerraum-Pakete glibc und openssl. Allerdings werden Benutzerraum-Pakete nur von Oracle Linux unterstützt.

  • Red Hat-kompatibler Kernel
  • Unbreakable Enterprise Kernel
  • glibc
  • openssl

Fallen für die Nutzung von Ksplice Gebühren an?

Um Ksplice zu nutzen, benötigen Sie einen kostenpflichtigen Oracle Linux Premier Support-Vertrag. Ksplice ist jedoch auf Oracle Linux in der Oracle Cloud Infrastructure kostenlos verfügbar (standardmäßig eingerichtet). Ausnahmsweise können Sie es auf Ubuntu kostenlos nutzen.

Gibt es ein Testprogramm für Ksplice?

Ein 30-tägiges Testprogramm ist verfügbar. Wenn Sie Ksplice einfach ausprobieren möchten, empfehlen wir Oracle Cloud Infrastructures Always Free. Das Oracle Linux-Image ist bereits mit Ksplice eingerichtet, sodass Sie es sofort nutzen können.

Gibt es andere Live-Patching-Systeme wie Ksplice?

Andere Linux-Distributionen verfügen ebenfalls über die folgenden Live-Patching-Systeme. Allerdings wurden diese alle erst in den letzten Jahren bereitgestellt und haben ihre Leistungsfähigkeit noch nicht bewiesen.

  • RHEL-basierter Linux kpatch
  • SUSE KLP
  • Ubuntu Livepatch Service

Zusätzlich gibt es unter Windows eine Funktion namens Windows Hot Patch. Diese ist jedoch auf Windows Server 2022 Datacenter: Azure Edition beschränkt.

Probieren wir Ksplice aus

Um Ksplice zu verstehen, ist es besser zu sehen, wie es tatsächlich funktioniert. In diesem Artikel erklären wir die Nutzung mit Oracle Linux 8 von Oracle Cloud Infrastructure, das einfach auszuprobieren ist. Die Einrichtung und Details werden im nächsten Artikel erläutert.

Zusätzlich sind Oracle Linux 7 und Oracle Linux 9 fast identisch, es können jedoch je nach verwendeter Image-Version leichte Unterschiede auftreten.

Überprüfen Sie den Status Ihrer Ksplice-Einrichtung

Um Ksplice zu nutzen, benötigen Sie einen Ksplice-Client. Überprüfen Sie daher, ob der Ksplice-Client installiert ist. Wenn Sie nach einem Paket suchen, stellen Sie fest, dass das uptrack-Paket (= Ksplice-Client) installiert ist.

$ 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

Überprüfen Sie als Nächstes die Konfigurationsdatei /etc/uptrack/uptrack.conf. Sie können Ksplice verwenden, wenn die Konfigurationsdatei existiert und der Zugriffsschlüssel konfiguriert ist.

$ grep -v -e '^\s*#' -e '^\s*$' /etc/uptrack/uptrack.conf
[Auth]
accesskey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Der Schlüssel für Ksplice Uptrack wird von ULN abgerufen)
[Network]
https_proxy =
gconf_proxy_lookup = no
[Settings]
install_on_reboot = yes
autoinstall = no

Lernen Sie die Grundlagen von Ksplice

Nun, da Sie wissen, dass Ksplice eingerichtet ist, werden wir Ksplice tatsächlich verwenden. Da die meisten Operationen Root-Rechte erfordern, verwenden wir su. Alternativ können Sie jedes Mal sudo hinzufügen.

$ sudo su -

Überprüfen Sie die Kernel-Version

Überprüfen Sie die aktuell aktivierte Linux-Kernel-Version. UEK6 “5.4.17-2136.306.1.3” ist aktiviert.

# uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

Wenn Sie die neueste Version des Repositorys überprüfen, ist es “5.4.17-2136.310.7.1”. Sie können also sehen, dass eine neue Version veröffentlicht wurde.

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

Updates anzeigen

In der traditionellen Methode wird der Kernel wie folgt aktualisiert und neu gestartet:

# yum update kernel-uek -y
# reboot

In Ksplice verwenden Sie den Befehl uptrack-upgrade. Sie können die anwendbaren Ksplice-Updates anzeigen, indem Sie wie folgt „uptrack-upgrade -n“ eingeben. Jede Zeile ist ein separates Update.

# uptrack-upgrade -n
Effektive Kernel-Version ist 5.4.17-2136.306.1.3.el8uek
Die folgenden Schritte werden durchgeführt:
Installieren [n9kprcm6] Bekannte Exploit-Erkennung.
Installieren [qivpmdlu] Bekannte Exploit-Erkennung für CVE-2019-9213.
Installieren [50qj7qw1] Bekannte Exploit-Erkennung für CVE-2017-1000253.
Installieren [3iw8b16t] Bekannte Exploit-Erkennung für CVE-2016-5195.
Installieren [sgxyx32m] Bekannte Exploit-Erkennung für CVE-2021-27363.
Installieren [92k7sosn] Bekannte Exploit-Erkennung für CVE-2021-27364.
★Unten ausgelassen

Update anwenden

Wenden Sie alle diese Updates an. Die Anwendungsdauer variiert je nach Anzahl der Updates und Maschinenspezifikationen, und diesmal dauerte es etwa 1 Minute. Der wichtige Punkt hier ist „5.4.17-2136.310.7“ in der letzten Zeile. Dank Ksplice hat es dieselbe Kernel-Version wie die neueste Version.

# uptrack-upgrade -y
Die folgenden Schritte werden durchgeführt:
Installieren [n9kprcm6] Bekannte Exploit-Erkennung.
Installieren [qivpmdlu] Bekannte Exploit-Erkennung für CVE-2019-9213.
Installieren [50qj7qw1] Bekannte Exploit-Erkennung für CVE-2017-1000253.
Installieren [3iw8b16t] Bekannte Exploit-Erkennung für CVE-2016-5195.
★Auslassung
Installieren [dad581dd] CVE-2022-2588: Use-after-free im IP-Routenklassifikator.
Ihr Kernel ist vollständig auf dem neuesten Stand.
Effektive Kernel-Version ist 5.4.17-2136.310.7.el8uek

Die effektive Kernel-Version, die durch das Ksplice-Update aktiviert wird, kann mit dem Befehl uptrack-uname angezeigt werden.

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

Der normale uname-Befehl zeigt die installierte Kernel-Version an.

# uname -r
5.4.17-2136.306.1.3.el8uek.x86_64

Die Liste der installierten UEKs ist wie folgt. Die neueste „5.4.17-2136.310.7“ ist nicht installiert. Mit anderen Worten, nur das inkrementelle Ksplice-Update (Patch) ist installiert.

# 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

Updates anzeigen

Das von Ihnen angewendete Ksplice-Update kann mit dem Befehl uptrack-show angezeigt werden.

# uptrack-show
Installierte Updates:
[n9kprcm6] Bekannte Exploit-Erkennung.
[qivpmdlu] Bekannte Exploit-Erkennung für CVE-2019-9213.
[50qj7qw1] Bekannte Exploit-Erkennung für CVE-2017-1000253.
★Auslassung
[fza3q2mo] CVE-2022-2153: Dienstverweigerung in der Kernel-basierten virtuellen Maschine.
[4eaq3lov] CVE-2022-21505: Umgehung der Sperre in der Integritätsmessarchitektur.
[dad581dd] CVE-2022-2588: Use-after-free im IP-Routenklassifikator.
Effektive Kernel-Version ist 5.4.17-2136.310.7.el8uek

Updates löschen

Sie können die angewendeten Updates einfach mit dem Befehl uptrack-remove löschen.

# uptrack-remove --all -y
Die folgenden Schritte werden durchgeführt:
Entfernen [dad581dd] CVE-2022-2588: Use-after-free im IP-Routenklassifikator.
Entfernen [4eaq3lov] CVE-2022-21505: Umgehung der Sperre in der Integritätsmessarchitektur.
Entfernen [jjafy1ef] CVE-2022-29582: Use-after-free in der asynchronen io_uring-API.
★Auslassung
Entfernen [qivpmdlu] Bekannte Exploit-Erkennung für CVE-2019-9213.
Entfernen [n9kprcm6] Bekannte Exploit-Erkennung.
Effektive Kernel-Version ist 5.4.17-2136.306.1.3.el8uek

Sie sind nun wieder im ursprünglichen Zustand, ohne die Ksplice-Updates anzuwenden. In diesem Fall haben wir die Updates gesammelt angewendet, aber Sie können sie auch einzeln anwenden, indem Sie deren IDs angeben.

# 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

Zur Erinnerung: Sie sehen nichts, wenn Sie die angewendeten Ksplice-Updates anzeigen.

# uptrack-show
Installierte Updates:
Keine

Effektive Kernel-Version ist 5.4.17-2136.306.1.3.el8uek

Fazit

Haben Sie verstanden, was Ksplice ist? Außerdem glauben wir, dass Sie bei der tatsächlichen Nutzung feststellen werden, dass es sehr einfach zu bedienen ist. Im nächsten Artikel werden wir Ksplice ausführlicher besprechen.