Die Linux-Kernel-Updates 2023 im Detail
Die Aufrechterhaltung eines sicheren und zuverlässigen Systems erfordert die ständige Beachtung der neuesten Linux-Kernel-Updates auf der Aufgabenliste des Systemadministrators. Updates für den Linux-Kernel bieten notwendige Sicherheitspatches, Leistungsverbesserungen und Fehlerbehebungen, damit Ihr System weiterhin korrekt funktioniert.
Eine zuverlässige, effiziente IT hängt von wiederholbaren Prozessen ab, die wie ein Uhrwerk ablaufen. Es macht keinen Sinn, Praktiken ständig zu ändern, aber wichtige Richtlinien müssen dennoch von Zeit zu Zeit aktualisiert werden, um mit den Veränderungen in der Technologie - und in der Cybersicherheitslandschaft - Schritt zu halten.
Das Kernel-Patching ist einer dieser Prozesse - und oft beschließen Unternehmen, sich nicht mit einer Patching-Richtlinie herumzuschlagen, die zu funktionieren scheint. Schlimmer noch, manchmal wird das Kernel-Patching als eine obskure Aufgabe der Systemadministratoren angesehen, über die sich außer den Linux-Fans im Unternehmen niemand Gedanken macht.
Doch Kernel-Patching ist wirklich wichtig, wenn man bedenkt, wie Linux-Kernel-Sicherheitslücken jeden Monat neu jeden Monat. Schon eine einzige ungepatchte Kernel-Schwachstelle kann zu einer Katastrophe führen, wenn böswillige Akteure ein ineffizientes oder ineffektives Patching-System ausnutzen.
Beispielsweise erfordern Patches oft einen Neustart, um wirksam zu werden, und die Wartezeiten zwischen den Neustart-Zyklen können es böswilligen Akteuren ermöglichen, eine Schwachstelle auszunutzen. Anstatt das Patching für geplante Lücken offen zu lassen, sollten Technikteams einen anderen Weg zum Patching in Betracht ziehen.
In diesem Artikel erläutern wir, was der Linux-Kernel ist, warum Linux-Kernel-Updates so wichtig sind und warum das Live-Patching des Linux-Kernels entscheidend ist, um Ihre Cybersicherheit zu verbessern.
Verstehen, was ein Kernel ist
Ein Kernel ist das Herzstück eines jeden modernen Betriebssystems (OS) und fungiert als Brücke zwischen der physischen Computerhardware und den auf dem Betriebssystem laufenden Anwendungen. Die Anwendungen steuern die Computerhardware in der Regel nicht direkt - stattdessen erleichtert das Betriebssystem diese Kommunikation.
Der Kernel ist der Kernteil des Betriebssystems, der beim Hochfahren geladen wird und Operationen auf niedriger Ebene verwaltet, z. B. die Speicherverwaltung und die Planung von Prozessoraufgaben. Alle Funktionen auf höherer Ebene des Betriebssystems werden immer vom Betriebssystemkern verwaltet und ausgeführt.
Mit einfachen Worten: Der Kernel ist so etwas wie der Chef Ihres Computers, der dafür sorgt, dass alle Teile zusammenarbeiten und alles reibungslos funktioniert.
Jeder Betriebssystem-Kernel hat eine etwas andere Aufgabe, und Kernel können grob in fünf verschiedene Typen unterteilt werden:
- Monolithischer Kernel: Bei einem monolithischen Kernel ist ein großer Teil der Betriebssystemfunktionalität in einer einzigen Einheit zusammengefasst - einschließlich Gerätetreiber, Speicherverwaltung, Taskplaner usw. Monolithische Kernel werden in Umgebungen verwendet, in denen große Server zum Einsatz kommen oder in denen ein Server für eine bestimmte Aufgabe vorgesehen ist.
- Mikrokernel: Mikrokernel sind von Natur aus viel schlanker und bestehen nur aus dem absoluten Minimum an Code, um Speicherverwaltung, Zeitplanung und Kommunikation zwischen Prozessen zu ermöglichen. Er minimiert die Menge an Speicher, die der Kernel benötigt - und diese Art von Kernel ist typisch für ein Echtzeitsystem.
- Hybrider Kernel: Ein hybrider Kernel vereint Merkmale des monolithischen Kernels und des Mikrokernels - er ist größer in Bezug auf die Grundfläche und den Speicherverbrauch als ein Mikrokernel, aber er ist im Wesentlichen eine abgespeckte Version eines monolithischen Kernels - z. B. mit entfernten Gerätetreibern, aber immer noch mit wichtigen Betriebssystemdiensten innerhalb des Kernels. Dies ist typisch für moderne Desktop-Kernel wie Windows und OS X sowie für vielseitige Server-Kernel, einschließlich Linux.
- Nanokernel: Nanokernel sind extrem abgespeckte Versionen von Kerneln, die im Wesentlichen nur Hardwareabstraktion durch einen minimalen Kernelraum bieten - denken Sie zum Beispiel an einen Virtualisierungs-Hypervisor.
- Exo Kernel: Exo-Kerne sind im Wesentlichen akademischer Natur und bieten lediglich Ressourcenschutz. Sie werden hauptsächlich dort eingesetzt, wo ein spezieller Zugriff auf die Hardware erforderlich ist.
Unabhängig davon, welche Art von Kernel verwendet wird - Kernel sind immer das Herzstück eines Betriebssystems, und als solches bietet ein Kernel böswilligen Akteuren ein einzigartiges, attraktives Ziel. Ein Angreifer, der einen Betriebssystem-Kernel kompromittieren kann, kann weitreichenden Zugang zu Systemen erlangen.
Was ist ein Kernel-Update - und warum ist es so wichtig?
Linux-Kernel-Updates verbessern die Stabilität und Sicherheit des Betriebssystems, da die Entwickler ständig Probleme oder Schwachstellen erkennen und beheben, die von Angreifern ausgenutzt werden könnten. Benutzer können ihre Systeme vor potenziellen Sicherheitsverletzungen schützen und sicherstellen, dass ihre Daten sicher bleiben, indem sie Kernel-Updates anwenden.
Es ist klar, dass der Linux-Kernel das Herzstück des Linux-Betriebssystems ist - und damit auch das Herzstück vieler der gängigsten Server-Betriebssysteme, die täglich verwendet werden. Denken Sie an alles von Red Hat Enterprise Linux bis hin zu freien Linux-Distributionen wie Ubuntu und Debian.
Linux-basierte Betriebssysteme werden weltweit in großem Umfang für Unternehmens-Workloads eingesetzt und stützen sich auf einen sicheren, zuverlässigen und aktuellen Linux-Kernel. Im Laufe der Zeit aktualisieren die Linux-Entwickler den Kernel, indem sie neue Funktionen hinzufügen. Eine weitere wichtige Aufgabe der Linux-Kernel-Entwickler ist die Behebung von Sicherheitslücken.
Diese Patches werden in regelmäßigen Abständen veröffentlicht, aber Patching-Verfahren, die z. B. Verzögerungen beim Neustart zulassen, bedeuten, dass die Patches nicht sofort nach der Veröffentlichung eines Patches für eine Schwachstelle angewendet werden. Mit anderen Worten, ein unzureichendes Patching-System führt dazu, dass die Arbeitslasten länger als nötig einem Risiko ausgesetzt sind.
Einführung in Linux-Kernel-Patching
Linux begann als Projekt einer einzelnen Person und hat sich zu einem der wichtigsten Betriebssysteme entwickelt, das von Desktop-Benutzern bis hin zu wichtigen Unternehmensanwendungen eingesetzt wird.
Nach dreißig Jahren Entwicklung hat Linux den Punkt erreicht, an dem es ein äußerst stabiler Betriebssystem-Kernel ist, der aber dennoch Bugs und Schwachstellen enthält. Schließlich sind bei zwanzig Millionen Codezeilen auch einige menschliche Fehler enthalten.
Viele dieser Schwachstellen werden schnell bekannt werden, weil der Linux-Kernel quelloffen ist, d. h. die Öffentlichkeit hat vollen Zugang zum Linux-Kernel-Quellcode. Folglich haben auch böswillige Akteure Zugang zum Quellcode des Linux-Kernels - und zu den sichtbaren Fehlern und Schwachstellen. Die Verletzung eines einzigen Linux-Servers kann wiederum zu unzähligen Möglichkeiten führen und Hunderte von Unternehmens-Clients für einen Angriff anfällig machen.
Es ist also nicht schwer zu erkennen, dass die Anbieter von Linux-Betriebssystemen immer versuchen, mit den neuesten Entdeckungen von Sicherheitslücken Schritt zu halten, und eine der Möglichkeiten, auf eine neu entdeckte Sicherheitslücke zu reagieren, besteht natürlich darin, diese Lücke zu schließen.
Das Problem ist, dass die Schwachstellen immer wieder auftauchen: Monat für Monat werden neue Schwachstellen entdeckt - manchmal in sehr altem Linux-Kernel-Code. Tatsächlich werden jedes Jahr Hunderte von Sicherheitslücken im Linux-Kernel entdeckt, die alle gepatcht werden müssen - und jeder Patch muss installiert werden.
Aus der Sicht eines Systemadministrators kann die schiere Arbeitsbelastung zu einem Ärgernis werden, da ein Patch nach dem anderen auftaucht. Schlimmer noch, viele Patches erfordern einen Server-Neustart. Die ständige Unterbrechung von Diensten zur Installation eines Patches ist einfach keine realistische Aussicht.
Systemadministratoren sind daher oft der Ansicht, dass mit dem Patchen einfach gewartet werden kann, bis eine ausreichende Anzahl von Patches aussteht, um einen störenden Neustart des Servers zu rechtfertigen - dies lässt jedoch ein großes Fenster der Verwundbarkeit offen, da einige Patches über einen längeren Zeitraum nicht angewendet werden.
Der Unterschied zwischen Aktualisierung und Upgrading
Ein Punkt, den es zu klären gilt, ist der Unterschied zwischen der Aktualisierung des Linux-Kernels und dem Upgrade des Linux-Kernels.
Schauen wir uns zunächst die Upgrades an. Wir wissen, dass sich die Technologie weiterentwickelt - ständig werden neue Funktionen und Vorteile auf den Markt gebracht. Oft werden diese neuen Funktionen in ein Paket verpackt, das einen großen Fortschritt darstellt - und das würde dann als Betriebssystem-Upgrade bezeichnet.
Es ist also eine Komponente eines System-Upgrade-Prozesses, der auch den Wechsel zu einer neuen Hauptversion der Linux-Distribution und die Implementierung wichtiger Änderungen, neuer Funktionen und Verbesserungen im gesamten Betriebssystem umfassen kann.
Im Gegensatz dazu, ein Betriebssystem-Update ist dagegen dazu gedacht, Probleme zu beheben - entweder gibt es eine fehlerhafte Funktion oder der Entwickler des Betriebssystems hat eine Sicherheitslücke entdeckt, die behoben werden muss. Da Updates dringender - und kompakter - sind, werden sie häufiger veröffentlicht als Upgrades.
Bei der Installation von Linux-Kernel-Updates wird der aktuelle Kernel durch einen neueren ersetzt, der Fehlerbehebungen, Sicherheitspatches und möglicherweise einige zusätzliche Funktionen enthält. Das Update betrifft nur die Kernel-Komponente; die installierten Anwendungen und Systemeinstellungen des Benutzers bleiben unberührt.
Die Installation von Updates kann jedoch störend sein und wird daher nicht immer sofort nach der Veröffentlichung durchgeführt.
Wie häufig werden Linux-Kernel-Updates veröffentlicht?
Linux-Kernel-Updates werden sehr häufig veröffentlicht - zum Teil aufgrund der Tatsache, dass das ganze Jahr über immer wieder Sicherheitslücken im Linux-Kernel entdeckt werden. Es geht nicht um vierteljährliche oder jährliche Aktualisierungen - es ist häufiger als das.
Wenn eine Sicherheitslücke entdeckt wird, werden Sicherheitsupdates für den Linux-Kernel - oder Patches - wahrscheinlich fast sofort veröffentlicht. Mit anderen Worten: Linux-Updates werden in unvorhersehbaren Abständen veröffentlicht. Das macht es schwierig, Systemaktualisierungen - und die damit verbundenen Unterbrechungen - zu planen.
Nichtsdestotrotz müssen Updates eher früher als später eingespielt werden, da regelmäßige Patches häufig aufgrund von Compliance-Verpflichtungen - und Service Level Agreements - erforderlich sind.
Die neueste Linux-Kernel-Version ist 6.3.4eine Nicht-LTS-Serie, die voraussichtlich Ende Juli das Ende ihrer Lebensdauer erreichen wird, während die endgültige Version des kommenden Linux-Kernel 6.4 voraussichtlich im Juli veröffentlicht werden wird.
Wie prüft man Linux-Kernel-Updates?
Um die aktuelle Linux-Kernel-Version auf Ihrem System zu überprüfen, können Sie diesen Befehl ausführen.
$ uname -r
Ausgabe:
Linux 5.15.0-53-generic
Hier ist 5.15.0 die Kernel-Version und 53 die Patch-Nummer.
Werden Updates automatisch auf Linux angewendet?
Viele Betriebssysteme aktualisieren sich selbst - denken Sie zum Beispiel an die regelmäßigen, frustrierenden Neustarts von Windows. Linux aktualisiert sich nicht automatisch - aber Sie können einen Zeitplaner einrichten, um sicherzustellen, dass Linux automatisch aktualisiert wird, indem Sie Ihren Linux-Betriebssystembetreuer verwenden - einige Linux-Anbieter haben Pakete, die unbeaufsichtigte Aktualisierungen ermöglichen.
Ohne automatische Updates kann ein Linux-basiertes Betriebssystem wie Ubuntu oder CentOS schnell veraltet sein veraltet - und wichtige Schwachstellen bleiben ungepatched. Systemadministratoren können Linux-Kernel-Updates in regelmäßigen Abständen installieren, versäumen dies aber oft aus Zeit- und Ressourcenmangel oder weil sie die damit verbundenen Störungen vermeiden wollen.
Es gibt eine Alternative für automatisiertes Patching - und insbesondere für automatisiertes Patching, das ohne Neustart durchgeführt wird. Das nennt man Live-Patchingaber wir werden dies in einem späteren Abschnitt behandeln.
Fünf schlechte Gründe, Ihren Linux-Kernel zu aktualisieren
Wir wissen also, dass Linux-Kernel-Updates ressourcenintensiv und störend sind. Nicht jede Kernel-Aktualisierung ist jedoch gleich - es lohnt sich also zu überlegen, ob eine Kernel-Aktualisierung wirklich notwendig ist. Einige der Gründe, die eine begrenzte Gültigkeit haben, sind:
- Rein zur Verbesserung der Stabilität da der Linux-Kernel bereits unglaublich stabil ist und Sie alle versprochenen Stabilitätsverbesserungen genau prüfen sollten, bevor Sie ein Update installieren, das eine kleine Stabilitätsverbesserung verspricht - oder eine Stabilitätsverbesserung in einem Grenzfall.
- Treiber-Updates Auch Treiberaktualisierungen sind kein guter Grund, den Kernel zu aktualisieren, da Sie möglicherweise feststellen, dass die Treiberaktualisierung nicht auf die in Ihrer Linux-Installation verwendete Hardware angewandt wird oder nicht genügend greifbare Vorteile bietet, um die Ausfallzeit für die Installation auszugleichen.
- Zusätzliche Funktionalität ist ein weiterer Grund, warum Sie sich ein Kernel-Update zweimal überlegen sollten. Es lohnt sich, darüber nachzudenken, ob diese Funktionalität wirklich notwendig ist - und ob die von Ihnen verwendete Software diese Funktionalität in absehbarer Zeit wirklich benötigt.
- Schnellere Leistung, ist zwar immer nützlich, aber nicht unbedingt ein Grund, den Kernel zu aktualisieren, insbesondere dann nicht, wenn diese Leistungsverbesserungen wirklich inkrementeller Natur sind.
- Wenn die Ausfallzeit erheblich ist, sollten Sie auch bei unkritischen Kernel-Upgrades eine Pause einlegen und zweimal darüber nachdenken, ob das Upgrade wirklich Vorteile für Ihre Arbeitslast bringt.
Mit anderen Worten: Kernel-Upgrades sind nicht generell wünschenswert - oder generell dringend. Es gibt jedoch eine Art von Kernel-Upgrade, die viel dringender ist - und die fast immer ein guter Grund ist, Ihre Linux-Instanz zu aktualisieren.
Ein guter Grund, Ihren Linux-Kernel zu aktualisieren
Sicherheitsschwachstellen sind zweifelsohne ein guter Grund, Ihren Linux-Kernel zu aktualisieren. Diese Schwachstellen können zu hohen Kosten für Sie ausgenutzt werden - jede ungepatchte, nicht behobene Schwachstelle ist ein offenes Tor für Hacker, die sie ausnutzen können, um Sie zu stören und zu bestehlen. Darüber hinaus führen ungepatchte Sicherheitslücken dazu, dass Sie die Vorschriften nicht einhalten und möglicherweise einen Vertrag verletzen.
Sie müssen also Ihre Linux-Server durch Updates sichern, aber das kann eine Herausforderung sein, sowohl was die Ressourcen als auch die mit Server-Updates verbundenen Unterbrechungen anbelangt. Zum Glück gibt es eine Lösung - die Live-Aktualisierung des Linux-Kernels ohne Neustart.
Live Linux Kernel Update ohne Neustart
Die Aktualisierung des Linux-Kernels kann zeitaufwändig und mühsam sein. Dies gilt umso mehr, wenn man bedenkt, wie häufig Aktualisierungen aufgrund der ständig wachsenden Zahl von Sicherheitslücken im Linux-Kernel erforderlich sind. Das Live-Kernel-Patching beseitigt jedoch die frustrierenden Aspekte der Aktualisierung des Linux-Kernels, da die manuelle Aktualisierung entfällt und der Server nicht neu gestartet werden muss, sobald die Kernel-Aktualisierung durchgeführt wurde.
Mit anderen Worten: Live-Patching bedeutet, dass Sie Ihre Linux-Server automatisch und ohne manuelles Eingreifen aktualisieren können. Und das, ohne einen aktiven Server anzuhalten und neu zu starten - Sie müssen also Ihre Arbeit nicht unterbrechen, um eine Aktualisierung durchzuführen.
Live-Patching-Werkzeug für Linux-Kernel
Live-Patching gibt es in verschiedenen Formen. Zum einen gibt es das verwaltete Live-Patching, bei dem Sie das Live-Patching selbst anwenden. Beim vollautomatischen Live-Patching werden die Patches bei der Veröffentlichung automatisch angewendet, ohne dass Sie eingreifen müssen.
Im Idealfall wünschen Sie sich ein vollautomatisches Live-Patching mit Multiplattform-Fähigkeit, um sicherzustellen, dass Sie breit gefächert patchen - und zwar über Ihren gesamten Technologiebestand hinweg. Das ist es, was TuxCare's KernelCare Enterprise von TuxCare - eine durchgängige Live-Patching-Lösung, die keine Neustarts erfordert und die das Patchen von Schwachstellen für eine Vielzahl gängiger Unternehmens-Linux-Distributionen, gemeinsam genutzter Bibliotheken, Datenbanken, IoT-Geräte und virtueller Maschinen automatisiert - und das mühelos.
Diese beständigere Art des Patchings sorgt nicht nur dafür, dass Ihre Server sicher bleiben, sondern auch dafür, dass Ihr Linux-Server in optimaler Form läuft.
Sie müssen patchen - und Live-Patching ist die realistischste Option
Ein Mangel an konsequenten Patches ist etwas, das Sie vielleicht nie einholen wird - schließlich ist es einfach zu sagen, dass Sie noch nie gehackt wurden und sich daher nicht allzu viele Gedanken über Patches machen müssen. Aber das kann sich mit nur einem erfolgreichen Angriff schnell ändern.
Patches sind in der heutigen Cybersicherheitsumgebung von entscheidender Bedeutung - die automatisierten, hartnäckigen Angriffe der Hacker von heute bedeuten, dass jede ungepatchte Schwachstelle ein gefundenes Fressen ist. Linux patcht sich nicht selbst, und manuelles Patchen ist ressourcenintensiv.
Betrachten Sie stattdessen mühelos, automatischen Patching ohne Neustart von TuxCare - und stellen Sie sicher, dass Ihre Linux-Kernel immer gegen bekannte Schwachstellen geschützt sind.
Jetzt, da Sie die Bedeutung von Linux-Kernel-Updates und Live-Kernel-Patching kennen, erfahren Sie, wie Live-Patching von KernelCare funktioniert.