mdbildes - stock.adobe.com

RHEL-Kernel mit Kpatch unterbrechungsfrei aktualisieren

Mit Kpatch aktualisieren Admins Kernel von RHEL und CentOS im laufenden Betrieb. Das Live Patching verbessert die Sicherheit und hilft, Neustarts und Ausfälle zu vermeiden.

Im Beitrag Mit diesen Tools patchen Sie Linux-Kernel unterbrechungsfrei sind wir darauf eingegangen, welche Live Patching Tools es für die verschiedenen Linux-Distributionen gibt, um sie im laufenden Betrieb zu aktualisieren und was die Vorteile dieser Vorgehensweise sind. Live Kernel Patches reduzieren Ausfälle und Neustarts von Servern. Gleichzeitig erhöhen sich dessen Sicherheit.

Für die Versionen RHEL 8.3, 7.8, RHEL 6 und RHEL 5 ist die Funktion nicht verfügbar. Ab RHEL 8.1, RHEL 7.7; RHEL-7.6 und kernel-3.10.0-957.35.1.el7 führen Sie Live-Kernel-Patches über das Red Hat Content Delivery Network (CDN) durch und installieren den zugehörigen Dienst über yum. In diesem Beitrag zeigen wir, wie Sie das Tool Kpatch einrichten, um in Red Hat Enterprise Linux 9 (RHEL) das Live-Patching zu aktivieren.

Die Installation von Kernel-Patches im laufenden Betrieb vermeidet Neustarts. Dennoch müssen Sie das Installieren von Sicherheits-Patches auf Linux-Servern mit RHEL 9 planen. Red Hat empfiehlt dafür Cronjobs oder eines anderen Mechanismus zum automatischen Ausführen von Aufgaben.

RHEL 9 mit Kpatch kostenlos testen und Kernel aktualisieren

Wenn Sie Live Kernel Patching ausprobieren möchten, ohne RHEL gleich zu kaufen, steht Ihnen eine 60-tägige Testversion zur Verfügung. Dazu benötigen Sie ein kostenloses RHEL-Konto. Damit das Live-Patching funktioniert, sollte außerdem Ihr Kernel kompatibel sein. Nutzen Sie ein aktuelles RHEL-System, stellt das kein Problem dar. Welche Kernel-Version zum Einsatz kommt, finden Sie mit dem folgenden Befehl heraus:

sudo dnf list kernel

uname -r

Wenn möglich, aktualisieren Sie den Kernel und starten danach den Server neu. Geben Sie dazu den folgenden Befehl ein:

sudo dnf install -y kernel

sudo reboot

Danach ist RHEL 9 bereit für das Live-Patching des Linux-Kernels. Der nächste Schritt besteht darin, Kpatch auf dem Server zu installieren und die automatische Aktualisierung einzurichten.

Abbildung 1: Vor der Inbetriebnahme von Kpatch sollten Sie den Kernel auf den neusten Stand bringen.
Abbildung 1: Vor der Inbetriebnahme von Kpatch sollten Sie den Kernel auf den neusten Stand bringen.

Kpatch in RHEL 9 installieren

Sie können Kpatch auf allen registrierten Systemen installieren und nutzen, die sich im Support befinden. Das bedeutet, dass Sie es registrieren müssen. Das geht entweder in der grafischen Oberfläche in den Einstellungen oder im Terminal mit:

subscription-manager register --username <username> --password <password> --auto-attach

subscription-manager register

subscription-manager refresh

subscription-manager attach --auto

Die grafische Oberfläche rufen Sie mit subscription-manager-gui auf. Normalerweise ist für die Befehle sudo notwendig.

Abildung 2: Für die Verwendung von Kpatch ist eine Registrierung des Systems bei Red Hat notwendig.
Abildung 2: Für die Verwendung von Kpatch ist eine Registrierung des Systems bei Red Hat notwendig.

Als nächstens starten Sie den Server neu und fangen dann mit der Installation von kpatch an:

sudo dnf install kpatch

Zusätzlich benötigen Sie kpatch-dnf, um die automatische Installation von Patches mit kpatch zu aktivieren:

sudo dnf install kpatch-dnf

Das Kernel-Patch-Modul ist in Kpatch für die Bereitstellung der Live Patches verantwortlich. Es enthält den Code der Korrekturen für den Kernel. Die Patch-Module registrieren sich beim Live-Patch-Kernel-Subsystem und liefern Informationen über die zu ersetzenden Originalfunktionen mit entsprechenden Zeigern auf die Ersatzfunktionen. Kernel-Patch-Module werden als RPMs ausgeliefert.

Sie verwalten Kpatch mit dem Dienstprogramm kpatch. Dazu kommt ein systemd-Dienst zum Laden des Kernel-Patch-Moduls beim Booten. Das Paket kpatch-dnf ist ein DNF-Plugin, das in Form eines RPM-Pakets geliefert wird. Es verwaltet das automatische Abonnement von Kernel-Live-Patches.

Automatisches Patchen des Kernels in RHEL 9 mit Kpatch aktivieren

Wenn die Distribution einsatzbereit ist und Kpatch installiert, aktivieren Sie die automatische Aktualisierung des Kernels:

sudo dnf kpatch auto

Abbildung 3: Aktivieren der automatischen Aktualisierung des Kernels mit Kpatch.
Abbildung 3: Aktivieren der automatischen Aktualisierung des Kernels mit Kpatch.

Mit dem Befehl kpatch list lasse Sie sich die installierten und geladenen Live-Patches für den Kernel anzeigen. Live-Kernel-Patches sind kumulativ. Das heißt, wenn Sie einen neuen Live-Kernel-Patch installieren, enthält dieser alle Korrekturen des vorherigen Live-Kernel-Patches sowie die neuen Korrekturen. Sie können den geladenen Live-Kernel-Patch jederzeit auf eine neuere Version aktualisieren.

Das Entladen eines kpatch aus dem Kernel wird nicht unterstützt. Stattdessen deinstallieren Sie den kpatch und starten neu. Es ist generell sinnvoll, mit dnf zu überprüfen, welche CVEs verfügbar sind und was der zugehörige Schweregrad ist. Hier lassen sich dann auch die CVEs anzeigen, die den Kernel betreffen:

sudo dnf updateinfo list cves

sudo yum updateinfo list cves | grep -i kernel | grep CVE

Abbildung 4: Anzeigen der verfügbaren CVEs für ein System.
Abbildung 4: Anzeigen der verfügbaren CVEs für ein System.

Um anschließend im laufenden Betrieb eine Aktualisierung vorzunehmen, geben Sie den folgenden Befehl ein:

sudo dnf update --security

Der Befehl aktualisiert das System mit verfügbaren Sicherheits-Updates und damit auch mit Updates für den Kernel.

Erfahren Sie mehr über Serverbetriebssysteme