Contribuisci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Generare report di conformità CIS dai nodi Kubernetes utilizzando kubectl debug
Questo argomento descrive come generare report di conformità CIS (Center for Internet Security) per i nodi Amazon EKS utilizzando il comando kubectl debug. Il comando ti consente di creare temporaneamente un container di debug su un nodo di Kubernetes ed eseguire controlli di conformità CIS utilizzando lo strumento apiclient. Lo strumento apiclient fa parte di Bottlerocket OS, il sistema operativo utilizzato dai nodi di EKS Auto Mode.
Prerequisiti
Prima di iniziare, assicurati di disporre di:
-
Accesso a un cluster Amazon EKS con
kubectlconfigurato (la versione deve essere almeno v1.32.0; digitarekubectl versionper verificare). -
Le autorizzazioni IAM appropriate per il debug dei nodi.
-
Un profilo valido che consente operazioni di debug (ad esempio,
sysadmin).
Per ulteriori informazioni sull’utilizzo dei profili di debug con kubectl, consultare Debugging a Pod or Node while applying a profile
Procedura
-
Determina l’ID di istanza AWS del nodo su cui desideri eseguire il report. Utilizzare il seguente comando per elencare tutti i nodi nel cluster. L’ID dell’istanza si trova nella colonna del nome e inizia con
i-:kubectl get nodesNAME STATUS ROLES AGE VERSION i-0ea0ba0f8ef9ad609 Ready <none> 62s v1.30.10-eks-1a9dacd
-
Esegui il comando seguente, sostituendo
<instance-id>con l’ID di istanza del nodo su cui si desidera eseguire la query: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"I componenti di questo comando includono:
-
kubectl debug node/<instance-id>: crea una sessione di debug sull’ID di istanza EC2 specificato. -
-it: assegna un TTY (shell a riga di comando) e mantiene aperto stdin per un utilizzo interattivo. -
--profile=sysadmin: utilizza il profilokubectlspecificato con le autorizzazioni appropriate. -
--image=public.ecr.aws/amazonlinux/amazonlinux:2023: utilizzaamazonlinux:2023come immagine del container per il debug. -
bash -c "…": esegue i seguenti comandi in una shell bash:-
yum install -q -y util-linux-core: installa in background il pacchetto di utilità richiesto. -
nsenter -t 1 -m: eseguensenterper inserire il namespace del processo host (PID 1). -
apiclient report cis --level 1 --format text: esegue il report di conformità CIS a livello 1 con output di testo.
-
-
-
Esaminare l’output del testo del report.
Interpretazione dell’output
Il comando genera un report basato su testo che mostra lo stato di conformità di vari controlli CIS. L’output include:
-
ID di controllo CIS individuali
-
Descrizione di ciascun controllo
-
Lo stato Pass, Fail o Skip per ogni controllo
-
Dettagli che spiegano eventuali problemi di conformità
Ecco un esempio di output del report eseguito su un’istanza 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
Per informazioni sul benchmark, consultare Kubernetes Benchmark
Risorse correlate
-
Bottlerocket CIS Benchmark
nella documentazione del sistema operativo Bottlerocket. -
Debug Running Pods
nella documentazione di Kubernetes. -
Kubernetes Benchmark
dal Center for Internet Security (CIS)