Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
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.
CIS-Compliance-Berichte aus Kubernetes-Knoten mithilfe von kubectl debug generieren
In diesem Thema wird beschrieben, wie Sie mithilfe des kubectl debug-Befehls CIS-Konformitätsberichte (Center for Internet Security) für Amazon-EKS-Knoten generieren können. Mit diesem Befehl können Sie vorübergehend einen Debugging-Container in einem Kubernetes-Knoten erstellen und CIS-Konformitätsprüfungen mit dem apiclient-Tool durchführen. Das apiclient-Tool ist Teil von Bottlerocket OS, dem Betriebssystem, das von Knoten in EKS Auto Mode verwendet wird.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:
-
Zugriff auf einen Amazon-EKS-Cluster mit konfiguriertem
kubectl(Version muss mindestens v1.32.0 sein.kubectl versioneingeben, um dies zu überprüfen). -
Die entsprechenden IAM-Berechtigungen zum Debuggen von Knoten.
-
Ein gültiges Profil, das Debugging-Vorgänge zulässt (z. B.
sysadmin).
Weitere Informationen zur Verwendung von Debugging-Profilen mit kubectl finden Sie unter Debugging eines Pods oder Knotens bei Anwendung eines Profils
Verfahren
-
Bestimmen Sie die AWS-Instance-ID des Knotens, in dem Sie den Bericht ausführen möchten. Verwenden Sie den folgenden Befehl, um die Knoten im Cluster aufzulisten. Die Instance-ID befindet sich in der Spalte „Name“ und beginnt mit
i-:kubectl get nodesNAME STATUS ROLES AGE VERSION i-0ea0ba0f8ef9ad609 Ready <none> 62s v1.30.10-eks-1a9dacd
-
Führen Sie den folgenden Befehl aus und ersetzen Sie
<instance-id>durch die Instance-ID des Knotens, den Sie abfragen möchten:kubectl debug node/<instance-id> -it --profile=sysadmin --image=public.ecr.aws/amazonlinux/amazonlinux:2023 -- bash -c "yum install -q -y util-linux-core; nsenter -t 1 -m apiclient report cis --level 1 --format text"Zu den Komponenten dieses Befehls gehören:
-
kubectl debug node/<instance-id>– Erstellt eine Debugging-Sitzung in der angegebenen EC2-Instance-ID. -
-it– Weist ein TTY (Kommandozeilen-Shell) zu und hält die Standardeingabe für die interaktive Nutzung geöffnet. -
--profile=sysadmin– Verwendet das angegebenekubectl-Profil mit den entsprechenden Berechtigungen. -
--image=public.ecr.aws/amazonlinux/amazonlinux:2023– Verwendetamazonlinux:2023als Container-Image zum Debuggen. -
bash -c "…"– Führt die folgenden Befehle in einer Bash-Shell aus:-
yum install -q -y util-linux-core– Installiert das erforderliche Service-Programmpaket im Hintergrund. -
nsenter -t 1 -m– Führtnsenteraus, um in den Namespace des Host-Prozesses (PID 1) zu gelangen. -
apiclient report cis --level 1 --format text– Führt den CIS-Konformitätsbericht auf Ebene 1 mit Textausgabe aus.
-
-
-
Überprüfen Sie die Textausgabe des Berichts.
Auswertung der Ausgabe
Der Befehl generiert einen textbasierten Bericht, der den Konformitätsstatus verschiedener CIS-Steuerungen anzeigt. Die Ausgabe enthält:
-
Einzelne CIS-Kontroll-IDs
-
Beschreibung jeder Steuerung
-
Status „Bestanden“, „Nicht bestanden“ oder „Übersprungen“ für jede Prüfung
-
Details, die etwaige Compliance-Probleme erklären
Nachfolgend finden Sie ein Beispiel für die Ausgabe des Berichts, der in einer Bottlerocket-Instance ausgeführt wurde:
Benchmark name: CIS Bottlerocket Benchmark Version: v1.0.0 Reference: https://www.cisecurity.org/benchmark/bottlerocket Benchmark level: 1 Start time: 2025-04-11T01:40:39.055623436Z [SKIP] 1.2.1 Ensure software update repositories are configured (Manual) [PASS] 1.3.1 Ensure dm-verity is configured (Automatic)[PASS] 1.4.1 Ensure setuid programs do not create core dumps (Automatic) [PASS] 1.4.2 Ensure address space layout randomization (ASLR) is enabled (Automatic) [PASS] 1.4.3 Ensure unprivileged eBPF is disabled (Automatic) [PASS] 1.5.1 Ensure SELinux is configured (Automatic) [SKIP] 1.6 Ensure updates, patches, and additional security software are installed (Manual) [PASS] 2.1.1.1 Ensure chrony is configured (Automatic) [PASS] 3.2.5 Ensure broadcast ICMP requests are ignored (Automatic) [PASS] 3.2.6 Ensure bogus ICMP responses are ignored (Automatic) [PASS] 3.2.7 Ensure TCP SYN Cookies is enabled (Automatic) [SKIP] 3.4.1.3 Ensure IPv4 outbound and established connections are configured (Manual) [SKIP] 3.4.2.3 Ensure IPv6 outbound and established connections are configured (Manual) [PASS] 4.1.1.1 Ensure journald is configured to write logs to persistent disk (Automatic) [PASS] 4.1.2 Ensure permissions on journal files are configured (Automatic) Passed: 11 Failed: 0 Skipped: 4 Total checks: 15
Informationen zum Benchmark finden Sie unter Kubernetes Benchmark
Zugehörige Ressourcen
-
Bottlerocket CIS Benchmark
in der Bottlerocket-OS-Dokumentation. -
Debugging von ausgeführten Pods
in der Kubernetes-Dokumentation. -
Kubernetes Benchmark
vom Center for Internet Security (CIS)