Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Génération de rapports de conformité CIS à partir des nœuds Kubernetes à l’aide de kubectl debug
Cette rubrique explique comment générer des rapports de conformité CIS (Center for Internet Security) pour les nœuds Amazon EKS à l’aide de la commande kubectl debug. Cette commande permet de créer temporairement un conteneur de débogage sur un nœud Kubernetes et d’exécuter les vérifications CIS à l’aide de l’outil apiclient. L’outil apiclient fait partie de l’OS Bottlerocket, utilisé par les nœuds du mode automatique EKS.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Accès à un cluster Amazon EKS avec la commande
kubectlconfigurér (la version installée doit être au minimum v1.32.0 ; tapezkubectl versionpour vérifier). -
Autorisations IAM appropriées pour déboguer les nœuds.
-
Profil valide autorisant les opérations de débogage (par exemple,
sysadmin).
Pour plus d’informations sur l’utilisation de profils de débogage avec kubectl, consultez la section Débogage d’un pod ou d’un nœud lors de l’application d’un profil
Procédure
-
Identifiez l’ID d’instance AWS du nœud sur lequel vous souhaitez exécuter le rapport. Utilisez la commande suivante pour afficher la liste des nœuds du cluster. L’ID d’instance se trouve dans la colonne du nom et commence par
i-:kubectl get nodesNAME STATUS ROLES AGE VERSION i-0ea0ba0f8ef9ad609 Ready <none> 62s v1.30.10-eks-1a9dacd
-
Exécutez la commande ci-dessous en remplaçant
<instance-id>par l’ID d’instance du nœud ciblé :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"Les composants de cette commande sont les suivants :
-
kubectl debug node/<instance-id>: crée une session de débogage sur l’ID d’instance EC2 spécifié. -
-it: alloue un TTY (shell de ligne de commande) et maintient stdin ouvert pour une utilisation interactive. -
--profile=sysadmin: utilise le profilkubectlspécifié avec les autorisations appropriées. -
--image=public.ecr.aws/amazonlinux/amazonlinux:2023: utiliseamazonlinux:2023comme image de conteneur pour le débogage. -
bash -c "…": exécute les commandes suivantes dans un shell bash :-
yum install -q -y util-linux-core: installe discrètement le package d’utilitaires requis. -
nsenter -t 1 -m: exécutensenterpour accéder à l’espace de noms du processus hôte (PID 1). -
apiclient report cis --level 1 --format text: exécute le rapport de conformité CIS au niveau 1, avec un résultat au format texte.
-
-
-
Passez en revue le résultat au format texte du rapport.
Interprétation du résultat
La commande génère un rapport au format texte indiquant l’état de conformité des différents contrôles CIS. Le résultat comprend :
-
Identifiants de contrôle CIS individuels
-
Description de chaque contrôle
-
État Réussite, Échec ou Ignoré pour chaque vérification
-
Détails expliquant les éventuels problèmes de conformité
Voici un exemple de résultat du rapport exécuté sur une instance de Bottlerocket :
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
Pour plus d’informations sur le référentiel, consultez Référentiel Kubernetes
Ressources connexes
-
Référence CIS Bottlerocket
dans la documentation du système d’exploitation Bottlerocket. -
Débogage des pods en cours d’exécution
dans la documentation de Kubernetes. -
Référentiel Kubernetes
dans la documentation du Center for Internet Security (CIS)