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.
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.
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
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
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.