Kernel-Live-Patching auf Amazon Linux 2 - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kernel-Live-Patching auf Amazon Linux 2

Mit Kernel Live Patching für Amazon Linux 2 können Sie Patches für Sicherheitslücken und kritische Fehler auf einen laufenden Linux-Kernel anwenden, ohne Neustart oder Unterbrechung laufender Anwendungen. Sie profitieren von einer verbesserten Service- und Anwendungsverfügbarkeit, während Ihre Infrastruktur sicher und auf dem neuesten Stand bleibt.

Informationen zum Kernel Live Patching für AL2023 finden Sie unter Kernel Live Patching auf AL2023 im AL2023 Benutzerhandbuch.

AWS veröffentlicht zwei Arten von Kernel-Live-Patches für Amazon Linux 2:

  • Sicherheitsupdates – Enthält Updates für die häufigsten Schwachstellen und Risiken von Linux (Common Vulnerabilities and Exposures, CVE). Diese Updates werden typischerweise als wichtig oder kritisch eingestuft, wobei die Amazon Linux Security Advisory-Bewertungen verwendet werden. Sie entsprechen im Allgemeinen einem CVSS-Score (Common Vulnerability Scoring System) von 7 und höher. In einigen Fällen AWS kann es Updates bereitstellen, bevor ein CVE zugewiesen wird. In diesen Fällen erscheinen die Patches möglicherweise als Bugfixes.

  • Bugfixes – Enthält Fixes für kritische Bugs und Stabilitätsprobleme, die nicht zu CVEs gehören.

AWS stellt Kernel-Live-Patches für eine Amazon Linux 2-Kernelversion für bis zu 3 Monate nach ihrer Veröffentlichung bereit. Nach Ablauf der dreimonatigen Frist müssen Sie auf eine spätere Kernel-Version aktualisieren, um weiterhin Live-Kernel-Patches zu erhalten.

Amazon Linux 2-Kernel-Live-Patches werden als signierte RPM-Pakete in den vorhandenen Amazon Linux 2-Repositories zur Verfügung gestellt. Die Patches können mithilfe vorhandener Yum-Workflows auf einzelnen Instanzen installiert werden, oder sie können mithilfe von AWS Systems Manager auf einer Gruppe verwalteter Instanzen installiert werden.

Kernel-Live-Patching auf Amazon Linux 2 wird ohne zusätzliche Kosten zur Verfügung gestellt.

Unterstützte Konfigurationen und Voraussetzungen

Kernel-Live-Patching wird auf Amazon EC2-Instances und On-Premises-VMs mit Amazon Linux 2 unterstützt.

Um Kernel-Live-Patching auf Amazon Linux 2 zu verwenden, müssen Sie folgendes tun:

  • Kernel-Version 4.14 oder 5.10 auf der x86_64-Architektur

  • Kernel-Version 5.10 auf der ARM64-Architektur

Richtlinienanforderungen

Um Pakete aus Amazon-Linux-Repositories herunterzuladen, benötigt Amazon Elastic Compute Cloud Zugriff auf serviceeigene Amazon-S3-Buckets. Wenn Sie in Ihrer Umgebung einen Amazon Virtual Private Cloud (VPC)-Endpunkt für Amazon S3 verwenden, müssen Sie sicherstellen, dass Ihre VPC-Endpunktrichtlinie den Zugriff auf diese öffentlichen Buckets zulässt.

In der Tabelle werden die einzelnen Amazon-S3-Buckets beschrieben, auf die EC2 möglicherweise für Kernel-Live-Patching zugreifen muss.

S3 Bucket-ARN Beschreibung
arn:aws:s3:::packages.region.amazonaws.com/*

Amazon-S3-Bucket mit Amazon-Linux-AMI-Paketen

arn:aws:s3:::repo.region.amazonaws.com/*

Amazon-S3-Bucket mit Amazon-Linux-AMI-Repositories

arn:aws:s3:::amazonlinux.region.amazonaws.com/*

Amazon-S3-Bucket mit Amazon-Linux-2-Repositories

arn:aws:s3:::amazonlinux-2-repos-region/*

Amazon-S3-Bucket mit Amazon-Linux-2-Repositories

Die folgende Richtlinie veranschaulicht, wie Sie den Zugriff auf Identitäten und Ressourcen einschränken, die Ihrer Organisation gehören, und Zugriff auf die Amazon-S3-Buckets gewähren, die für Kernel-Live-Patching erforderlich sind. Ersetzen Sie Region principal-org-idund resource-org-iddurch die Werte Ihres Unternehmens.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "principal-org-id", "aws:ResourceOrgID": "resource-org-id" } } }, { "Sid": "AllowAccessToAmazonLinuxAMIRepositories", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::packages.region.amazonaws.com/*", "arn:aws:s3:::repo.region.amazonaws.com/*", "arn:aws:s3:::amazonlinux.region.amazonaws.com/*", "arn:aws:s3:::amazonlinux-2-repos-region/*" ] } ] }

Arbeiten mit Kernel-Live-Patching

Sie können Kernel Live Patching auf einzelnen Instances über die Befehlszeile auf der Instance selbst aktivieren und verwenden, oder Sie können Kernel Live Patching mit AWS Systems Manager für eine Gruppe verwalteter Instanzen aktivieren und verwenden.

In den folgenden Abschnitten wird erläutert, wie Sie Kernel-Live-Patching auf einzelnen Instances über die Befehlszeile aktivieren und verwenden.

Weitere Informationen zum Aktivieren und Verwenden von Kernel-Live-Patching auf einer Gruppe verwalteter Instances finden Sie unter Verwenden von Kernel-Live-Patching auf Amazon Linux 2-Instances im Benutzerhandbuch zu AWS Systems Manager .

Aktivieren des Kernel-Live-Patching

Kernel-Live-Patching ist standardmäßig auf Amazon Linux 2 deaktiviert. Um Live-Patching zu verwenden, müssen Sie das yum-Plugin für Kernel-Live-Patching installieren und die Live-Patching-Funktionalität aktivieren.

Voraussetzungen

Kernel-Live-Patching erfordert binutils. Wenn Sie binutils nicht installiert haben, installieren Sie es mit dem folgenden Befehl:

$ sudo yum install binutils
So aktivieren Sie das Kernel-Live-Patching:
  1. Kernel-Live-Patches sind für die folgenden Kernel-Versionen von Amazon Linux 2 verfügbar:

    • Kernel-Version 4.14 oder 5.10 auf der x86_64-Architektur

    • Kernel-Version 5.10 auf der ARM64-Architektur

    Um Ihre Kernel-Version zu überprüfen, führen Sie den folgenden Befehl aus.

    $ sudo yum list kernel
  2. Wenn Sie bereits eine unterstützte Kernel-Version haben, überspringen Sie diesen Schritt. Wenn Sie keine unterstützte Kernel-Version haben, führen Sie die folgenden Befehle aus, um den Kernel auf die neueste Version zu aktualisieren und die Instance neu zu starten.

    $ sudo yum install -y kernel
    $ sudo reboot
  3. Installieren Sie das yum-Plugin für Kernel-Live-Patching.

    $ sudo yum install -y yum-plugin-kernel-livepatch
  4. Aktivieren Sie das yum-Plugin für Kernel-Live-Patching.

    $ sudo yum kernel-livepatch enable -y

    Mit diesem Befehl wird auch die neueste Version des Kernel-Live-Patch-RPM aus den konfigurierten Repositorys installiert.

  5. Um zu überprüfen, ob das yum-Plugin für das Kernel-Live-Patching erfolgreich installiert wurde, führen Sie den folgenden Befehl aus.

    $ rpm -qa | grep kernel-livepatch

    Wenn Sie Kernel-Live-Patching aktivieren, wird automatisch ein leeres Kernel-Live-Patch-RPM angewendet. Wenn Kernel-Live-Patching erfolgreich aktiviert wurde, gibt dieser Befehl eine Liste zurück, die das anfänglich leere Kernel-Live-Patch-RPM enthält. Es folgt eine Beispielausgabe.

    yum-plugin-kernel-livepatch-1.0-0.11.amzn2.noarch kernel-livepatch-5.10.102-99.473-1.0-0.amzn2.x86_64
  6. Installieren Sie das kpatch-Paket.

    $ sudo yum install -y kpatch-runtime
  7. Aktualisieren Sie den kpatch-Service, falls er zuvor installiert wurde.

    $ sudo yum update kpatch-runtime
  8. Starten Sie den kpatch-Service. Dieser Service lädt alle Live-Patches des Kernels bei der Initialisierung oder beim Booten.

    $ sudo systemctl enable kpatch.service
  9. Aktivieren Sie das Thema „Kernel-Live-Patching“ in der Amazon Linux 2 Extras Library. Dieses Thema enthält die Kernel-Live-Patches.

    $ sudo amazon-linux-extras enable livepatch

Anzeigen der verfügbaren Kernel-Live-Patches

Amazon Linux-Sicherheitswarnungen werden über das Amazon Linux-Sicherheitszentrum veröffentlich. Weitere Informationen über die Amazon Linux 2-Sicherheitswarnungen, die auch Warnungen für Kernel-Live-Patches enthalten, finden Sie im Amazon Linux-Sicherheitszentrum. Kernel-Live-Patches wird das Präfix ALASLIVEPATCH vorangestellt. Das Amazon Linux-Sicherheitszentrum listet möglicherweise keine Live-Kernel-Patches auf, die Fehler beheben.

Sie können auch die verfügbaren Kernel-Live-Patches für Advisories und CVEs über die Befehlszeile ermitteln.

So listen Sie alle verfügbaren Kernel-Live-Patches für Advisories auf:

Verwenden Sie den folgenden Befehl.

$ yum updateinfo list

Das folgende Beispiel zeigt eine Ausgabe.

Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motd ALAS2LIVEPATCH-2020-002 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 ALAS2LIVEPATCH-2020-005 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64 updateinfo list done
So listen Sie alle verfügbaren Kernel-Live-Patches für CVEs auf:

Verwenden Sie den folgenden Befehl.

$ yum updateinfo list cves

Das folgende Beispiel zeigt eine Ausgabe.

Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motdamzn2-core/2/x86_64 | 2.4 kB 00:00:00 CVE-2019-15918 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 CVE-2019-20096 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64 CVE-2020-8648 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64 updateinfo list done

Anwenden von Kernel-Live-Patches

Sie wenden Kernel-Live-Patches unter Verwendung des yum-Paketmanagers auf dieselbe Weise an, wie Sie regelmäßige Updates anwenden würden. Das yum-Plugin für Kernel-Live-Patching verwaltet die anzuwendenden Kernel-Live-Patches und macht einen Neustart überflüssig.

Tipp

Wir empfehlen, dass Sie Ihren Kernel regelmäßig mit Kernel-Live-Patching aktualisieren, um sicherzustellen, dass er sicher und auf dem neuesten Stand bleibt.

Sie können wählen, ob Sie einen bestimmten Kernel-Live-Patch oder alle verfügbaren Kernel-Live-Patches zusammen mit Ihren regelmäßigen Sicherheitsupdates anwenden wollen.

So wenden Sie einen bestimmten Kernel-Live-Patch an:
  1. Holen Sie sich die Kernel-Live-Patch-Version mit einem der in Anzeigen der verfügbaren Kernel-Live-Patches beschriebenen Befehle.

  2. Wenden Sie den Kernel-Live-Patch für Ihren Amazon Linux 2-Kernel an.

    $ sudo yum install kernel-livepatch-kernel_version.x86_64

    Der folgende Befehl wendet beispielsweise einen Kernel-Live-Patch für die Amazon Linux 2-Kernel-Version 5.10.102-99.473 an.

    $ sudo yum install kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
So wenden Sie alle verfügbaren Kernel-Live-Patches zusammen mit Ihren regelmäßigen Sicherheitsupdates an:

Verwenden Sie den folgenden Befehl.

$ sudo yum update --security

Lassen Sie die Option --security weg, um Bugfixes einzuschließen.

Wichtig
  • Die Kernel-Version wird nach der Anwendung von Kernel-Live-Patches nicht aktualisiert. Die Version wird erst nach einem Neustart der Instance auf die neue Version aktualisiert.

  • Ein Amazon Linux 2-Kernel erhält Kernel-Live-Patches für einen Zeitraum von drei Monaten. Nach Ablauf der dreimonatigen Frist werden für diese Kernel-Version keine neuen Kernel-Live-Patches mehr veröffentlicht. Um nach Ablauf der dreimonatigen Frist weiterhin Kernel-Live-Patches zu erhalten, müssen Sie die Instance neu starten, um auf die neue Kernel-Version zu wechseln, die dann die nächsten drei Monate lang weiterhin Kernel-Live-Patches erhält. Um das Support-Fenster für Ihre Kernel-Version zu überprüfen, führen Sie yum kernel-livepatch supported aus.

Anzeigen der angewendeten Kernel-Live-Patches

So zeigen Sie die angewendeten Kernel-Live-Patches an:

Verwenden Sie den folgenden Befehl.

$ kpatch list

Der Befehl gibt eine Liste der geladenen und installierten Sicherheitsupdate-Kernel-Live-Patches zurück. Es folgt eine Beispielausgabe.

Loaded patch modules: livepatch_cifs_lease_buffer_len [enabled] livepatch_CVE_2019_20096 [enabled] livepatch_CVE_2020_8648 [enabled] Installed patch modules: livepatch_cifs_lease_buffer_len (5.10.102-99.473.amzn2.x86_64) livepatch_CVE_2019_20096 (5.10.102-99.473.amzn2.x86_64) livepatch_CVE_2020_8648 (5.10.102-99.473.amzn2.x86_64)
Anmerkung

Ein einziger Kernel-Live-Patch kann mehrere Live-Patches enthalten und installieren.

Deaktivieren des Kernel-Live-Patching

Wenn Sie das Kernel-Live-Patching nicht mehr verwenden möchten, können Sie es jederzeit deaktivieren.

So deaktivieren Sie das Kernel-Live-Patching:
  1. Entfernen Sie die RPM-Pakete für die angewandten Kernel-Live-Patches.

    $ sudo yum kernel-livepatch disable
  2. Deinstallieren Sie das yum-Plugin für Kernel-Live-Patching.

    $ sudo yum remove yum-plugin-kernel-livepatch
  3. Starten Sie die Instance neu.

    $ sudo reboot

Einschränkungen

Kernel-Live-Patching hat die folgenden Einschränkungen:

  • Beim Anwenden eines Kernel-Live-Patches können Sie keinen Ruhezustand ausführen, erweiterte Debugging-Tools (wie SystemTap kprobes und EBPF-basierte Tools) verwenden oder auf ftrace-Ausgabedateien zugreifen, die von der Kernel Live Patching-Infrastruktur verwendet werden.

Häufig gestellte Fragen

Häufig gestellte Fragen zum Kernel-Live-Patching für Amazon Linux 2 finden Sie in der Amazon Linux 2 Kernel-Live-Patching FAQ.