Was ist Linux-Kernel-Live-Patching?

0
46

Die Anwendung kritischer Sicherheitsupdates ist wichtig, um Ihren Linux-Server vor potenziellen Angreifern zu schützen , aber es kann zu Ausfallzeiten führen, was auch nicht gut ist. Live-Kernel-Patching kann wichtige Kernel-Updates anwenden, ohne Ihren Server offline zu nehmen.

Was ist Live-Kernel-Patching?

Vor dem Live-Kernel-Patching , mussten Systemadministratoren wählen, ob sie ihren Server eingeschaltet lassen oder Sicherheitsupdates anwenden möchten. Dies ist offensichtlich nicht ideal, daher hat Jeff Arnold vom MIT 2008 KSplice entwickelt, ein Tool, das Updates anwenden kann, indem es ein binäres Diff nimmt und Patches auf den laufenden Kernel im Speicher anwendet.

Dies erfordert das Schreiben eines benutzerdefinierten Patches für jedes Update, daher ist es nur für kritische Sicherheitslücken reserviert, die schnelle Fehlerbehebungen erfordern, nicht für regelmäßige tägliche Updates. Bei Bedarf bietet diese einfache Lösung jedoch eine Möglichkeit, diese Korrekturen anzuwenden, ohne die Serverbetriebszeit zu beeinträchtigen.

In Wirklichkeit ist das Live-Kernel-Patching etwas weniger nützlich, als es den Anschein hat. Wenn Ihnen die Serververfügbarkeit am Herzen liegt, möchten Sie wahrscheinlich auch eine Art SLA einhalten oder einen kritischen Dienst am Laufen halten. In einem Hochverfügbarkeitsnetzwerk sollte theoretisch jeder einzelne Server in der Lage sein, spontan zu brennen, ohne die Betriebszeit der Anwendung zu beeinträchtigen. Im Idealfall sollten Sie zwei oder mehr Server hinter Load Balancern haben, und wenn Sie mehr als einen Server haben, können sie einzeln aktualisiert werden, ohne die Dienstverfügbarkeit stark zu beeinträchtigen, obwohl Sie möglicherweise für kurze Zeit eine Auslastung von 50 % haben.

VERWANDTE: Erste Schritte mit den Elastic Load Balancern von AWS

Vor diesem Hintergrund wird das Live-Kernel-Patching normalerweise automatisch durchgeführt, sobald ein neuer Patch verfügbar ist. Wenn Sie Live-Patching aktivieren, sollte Ihr System automatisch auf dem neuesten Stand bleiben und Sie müssen nicht von jemandem ein fortlaufendes Server-Update mit potenziellen Ausfallzeiten orchestrieren lassen. Dies ist für die meisten Systemadministratoren ein großer Vorteil.

Nachteile von Live-Patching

Live-Kernel-Patching ist immer noch ziemlich kompliziert. Patches müssen von Experten für jedes System geschrieben werden und sind nur für wichtige Sicherheitspatches reserviert. Selbst dann ist es nicht garantiert, dass Ihr System nicht abstürzt. Ubuntu bewältigt dieses Risiko, indem es die Patches langsam für einige Benutzer gleichzeitig ausrollt und gleichzeitig auf Abstürze überwacht.

Werbung

Live-Kernel-Patching kann auch nicht alles tun, es kann kann nur auf kleine und spezifische Teile des Kernel-Codes angewendet werden und kann nicht für größere Updates verwendet werden, die mehrere Komponenten betreffen oder Datenstrukturen ändern.

Wer unterstützt Live-Patching?

Leider ist das ursprüngliche KSplice-Programm nicht mehr Open Source, nachdem es 2011 von Oracle zur Integration in Oracle Linux übernommen wurde.

Da KSplice als Closed Source dient, viele andere Unternehmen im Bereich Linux-Server haben ihre eigene Version entwickelt. Da Patches pro System individuell geschrieben und getestet werden müssen, macht es die Verwaltung eines einzigen Open-Source-“Live Kernel Patcher” sehr schwer.

Die meisten Unternehmen bieten es als kostenpflichtigen Service an. KernelCare kommt einer Allzwecklösung am nächsten und unterstützt die meisten Distributionen mit einem kostenpflichtigen Abonnement. Amazon Linux 2 ist eines der wenigen, das es kostenlos anbietet. RHEL hat kpatch. Oracle Linux verwendet immer noch ksplice.

Ubuntu hat Canonical Livepatch. Es ist für bis zu drei Computer kostenlos, danach benötigen Sie ein Ubuntu Advantage-Abonnement für jeden Computer.

VERWANDTE: Erstellung Sicher, dass Ihre Ubuntu-Server immer gepatcht werden