icetray - Fotolia
Mit diesen Tools patchen Sie Linux-Kernel unterbrechungsfrei
Linux Kernel Patching ermöglich es, dass Linux-Computer im laufenden Betrieb ihren Kernel aktualisieren und damit Sicherheitslücken schließen. Wir erklären die wichtigsten Tools.
Regelmäßige Kernel-Patches sind ein wichtiger Faktor für die Sicherheit von Linux-Systemen. Der Kernel ist für die direkte Interaktion zwischen Software und der Hardware des Linux-Computers zuständig und daher ein besonders gefährliches Ziel von Angreifern. Gegen die häufigen Aktualisierungen spricht jedoch, dass Server sich nicht so viele Ausfallzeiten leisten können. Live Kernel Patching löst dieses Problem, denn es erlaubt das Patchen ohne ein Unterbrechen des Betriebs.
Mittlerweile unterstützen immer mehr Distributionen diese Funktionen, zum Beispiel RHEL, SUSE und auch Ubuntu oder Arch Linux. Sie benötigen aber zusätzliche Tools, je nach Distribution kpatch, ksplice oder KernelCare.
Der Linux-Kernel umfasst im Jahr 2022 über 30 Millionen Codezeilen. Es ist nicht ungewöhnlich, dass pro Tag über 20 Aktualisierungen erscheinen, die sich auch im laufenden Betrieb einspielen lassen. Das erhöht die Sicherheit von Linux im Serverbetrieb natürlich deutlich. Live Kernel Patching gehört mittlerweile zu den wichtigsten Sicherheitsfunktionen in den Distributionen, die diese Technik nutzen. Sie erlaubt das Schließen besonders gravierende Sicherheitslücken, ohne dass Workloads auf Servern außer Betrieb gehen müssen.
Live Kernel Patching in der Praxis: Kernel-Version überprüfen und aktualisieren
Bevor Sie Live Kernel Patching auf den verschiedenen Distributionen nutzen, sollten Sie überprüfen, welcher Kernel auf dem System installiert ist. Je nach Kernel unterscheidet sich nämlich die Vorgehensweise zum Aktivieren der Funktion. Geben Sie dazu den Befehl name -r oder uname -a ein, oder sehen Sie mit dem jeweiligen Paketmanager nach, zum Beispiel mit sudo dnf list kernel.
Um Live Kernel Patching zu aktivieren, sollte das System und damit auch der Kernel auf dem neusten Stand sein. In RHEL stellen Sie das mit sudo dnf install -y kernel sicher. In Ubuntu suchen Sie mit sudo apt-get update und sudo apt-cach search linux-image eine neue Version und installieren sie mit sudo apt-get install <Neuer Kernel>.
Anschließend müssen Sie sich entscheiden, welches Tool zum Einsatz kommen soll. Im Falle von RHEL ist das in den meisten Fällen kpatch, es gibt aber auch noch die Möglichkeit auf KernelCare Enterprise zu setzen.
Die Wahl des richtigen Live Kernel Patching Tools
Bei RHEL oder Arch-Linux ist kpatch das übliche Tool für das Live-Patching des Kernels. In RHEL installieren Sie es mit sudo dnf install kpatch und sudo dnf install kpatch-dnf. Im Anschluss lässt sich in RHEL die Aktualisierung des Kernels im laufenden Zustand mit sudo dnf kpatch auto aktivieren. Eine Liste der bereits installierten Patches zeigt kpatch mit dem Befehl kpatch list an.
Wer sich mit dem Live-Patching des Linux-Kernels beschäftigt, sollte sich auch mit der Liste der aktuellen CVEs auseinandersetzen, die es für Linux gibt. Sie finden diese in RHEL mit dnf updateinfo list cves, Zum Filtern der Liste geben Sie sudo yum updateinfo list cves | grep -i kernel | grep CVE ein.
Für Oracle Linux-Systeme aktualisieren Sie mit dem Tool ksplice von Oracle den Kernel im laufenden Betrieb. Alternativ steht Ihnen KernelCare Enterprise zur Wahl. KSplice wird von Oracle bereitgestellt und ist in Oracle Linux enthalten, wenn Unternehmen einen Support-Vertrag mit Oracle abgeschlossen haben.
KSplice unterstützt jedoch hauptsächlich Oracle Linux. Für andere Distributionen verwenden Sie KernelCare Enterprise. KernelCare Enterprise kostet pro Server, der aktualisiert werden soll, 4 US-Dollar im Monat. Sie können das Tool sieben Tage kostenlos testen. Oracle KSplice bietet eine 30-tägige Testversion, aber Neukunden können das Tool nur für Oracle Linux nutzen. Für Entwicklungs- und Testumgebungen sowie für Ubuntu Desktop Systeme steht die kostenlose Free Desktop Edition von KSplice zur Verfügung.
KernelCare Enterprise hat den Vorteil, mit einer Vielzahl an Distributionen kompatibel zu sein, zum Beispiel Amazon Linux, Debian, CentOS, Ubuntu, CloudLinux OS, RHEL, OpenVZ, Virtuozzo, Proxmox, Oracle Linux, und Ubuntu Core. Wer also besonders viele Server im Einsatz hat, kann mit der Lösung schneller und einfacher Live Kernel Patching umsetzen, auch für Oracle Linux, da hier der Preis günstiger ist, als der Preis für den Support, von KSplice.
Ubuntu Livepatch Service – Linux in der Cloud aktualisieren
Wer auf Ubuntu setzt, kann die Live Patch Services in Ubuntu Pro oder Ubuntu Advantage nutzen. Ubuntu Pro kommt vor allem auf Linux-Servern zum Einsatz, die in Public-Cloud-Umgebungen wie Microsoft Azure, Amazon Web Services (AWS) und Google Cloud Platform (GCP) laufen. Ubuntu Advantage ist im Paket mit Support erhältlich sowie in einer kostenlosen Privatkundenversion für bis zu drei Server.
SUSE Linux Enterprise Live Patching: kGraft
Auch SUSE bietet einen Dienst für ein SUSE Linux Enterprise an, mit dem sich Server live patchen lassen. Auch hier bezahlen Sie auf monatlicher Basis. SUSE setzt beim Live-Patching auf das kGraft-Projekt.
Fazit
Wer Linux auf dem Server einsetzt, sollte sich in jedem Fall mit dem Thema Kernel Live Patching auseinandersetzen. In so gut wie allen relevanten Distributionen gibt es die Möglich dazu, allerdings sind die verschiedenen Funktionen fast immer an einen Support-Vertrag geknüpft, oder müssen gesondert lizenziert werden, wie bei KernelCare. Die Kosten halten sich aber in Grenzen, vor allem angesichts der Schwierigkeiten, die Ihnen durch einen ungepatchten Kernel entstehen. Die Einrichtung ist in den meisten Fällen nicht sehr kompliziert, sobald das Abonnement abgeschlossen ist.