Benchmark CIS


Questo documento spiega cosa sono i benchmark CIS per Kubernetes e Google Kubernetes Engine (GKE), come verificare la conformità ai benchmark e cosa configura GKE in cui non puoi controllare o implementare direttamente un suggerimento.

Utilizzo dei CIS Benchmarks

Il Center for Internet Security (CIS) rilascia benchmark per fornire suggerimenti di sicurezza basati sulle best practice. Il Benchmark Kubernetes per CIS è un insieme di suggerimenti per configurare Kubernetes al fine di supportare una solida postura di sicurezza. Il benchmark è legato a una specifica release di Kubernetes. Il benchmark Kubernetes CIS è scritto per la distribuzione open source Kubernetes e progettato per essere il più possibile applicabile a tutte le distribuzioni.

Con un servizio gestito come GKE, non tutti gli elementi nel benchmark sono una tua responsabilità e ci sono suggerimenti che non puoi controllare o risolvere direttamente in autonomia. Se esegui l'esecuzione su GKE, utilizza il CIS GKE Benchmark, un benchmark secondario del benchmark CIS Kubernetes e pensato specificamente per essere applicato alla distribuzione di GKE. Questo dato viene dedotto dal benchmark CIS esistente, ma rimuove gli elementi che non sono configurabili o gestiti dall'utente e aggiunge ulteriori controlli specifici per Google Cloud.

Più serie di benchmark

Con GKE, puoi utilizzare i benchmark CIS per GKE, Kubernetes, Docker, Container-Optimized OS e Linux. Per scaricare benchmark aggiornati per questi prodotti, visita il sito web del CIS Benchmark.

Il runtime del container predefinito, containerd, non ha un benchmark CIS.

I nodi Windows Server utilizzati con GKE non ricevono un punteggio in base a un benchmark CIS appropriato perché i benchmark CIS di Windows Server non consentono in modo specifico l'utilizzo di Kubernetes e i benchmark CIS di Kubernetes al momento non supportano i nodi Windows.

Alcuni strumenti tentano di analizzare i nodi Kubernetes in base a più benchmark CIS (ad es. Linux, Docker e Kubernetes) e di combinare i risultati. Questo spesso si traduce in consigli confusi e potenzialmente contraddittori, perché questi benchmark non sono stati progettati per essere combinati e applicati in un ambiente Kubernetes.

Modello di responsabilità condivisa

In GKE, all'interno del Modello di responsabilità condivisa, Google gestisce i seguenti componenti di Kubernetes:

  • Il piano di controllo, incluse le VM del piano di controllo, il server API, altri componenti sulle VM e etcd.
  • La distribuzione Kubernetes.
  • Il sistema operativo dei nodi.

In genere, le configurazioni correlate a questi elementi non sono disponibili per il controllo o la modifica in GKE.

Sei ancora responsabile dell'upgrade dei nodi che eseguono i tuoi carichi di lavoro e dei carichi di lavoro stessi. In genere puoi controllare e risolvere eventuali suggerimenti relativi a questi componenti.

Capacità di verificare e risolvere i problemi

Il CIS GKE Benchmark si basa sul benchmark CIS per Kubernetes esistente, ma rimuove gli elementi che non sono configurabili o gestiti dall'utente e aggiunge ulteriori controlli specifici per Google Cloud.

Le sezioni del benchmark CIS GKE sono:

  • I componenti del piano di controllo, etcd e la configurazione del piano di controllo (sezioni 1, 2 e 3) provengono dal benchmark CIS per Kubernetes. In genere non è possibile controllare o risolvere questi problemi in GKE.
  • Nodi worker (sezione 4) proviene dal benchmark CIS per Kubernetes. Alcuni di questi elementi possono essere controllati o corretti su GKE, ma le istruzioni potrebbero essere diverse.
  • Anche Policies (section 5) è tratto dal CIS Kubernetes Benchmark. Sono generalmente applicabili direttamente a GKE, senza alcuna modifica alle istruzioni.
  • I servizi gestiti (sezione 6) del benchmark CIS GKE sono nuovi contenuti specifici per GKE. Questa sezione contiene tutti i suggerimenti specifici per i controlli di Google Cloud. Questi problemi possono essere controllati e corretti su GKE.

Per gli elementi che non possono essere controllati o corretti in GKE, consulta la sezione su Valori predefiniti per comprendere le prestazioni di un cluster predefinito creato in GKE rispetto al benchmark CIS per Kubernetes.

Versioni

Tieni presente che i numeri di versione di benchmark diversi potrebbero non essere gli stessi.

Il presente documento si riferisce alle seguenti versioni:

Versione di Kubernetes Versione benchmark CIS per Kubernetes Versione CIS GKE Benchmark
1.15 1.5.0 1.0.0

Benchmark CIS Kubernetes

Accesso al benchmark

Il benchmark CIS per Kubernetes è disponibile sul sito web di CIS.

Livelli dei consigli

Nel benchmark CIS per Kubernetes:

Livello Descrizione
Livello 1

I consigli hanno lo scopo di:

  • essere pratici e prudenti;
  • fornire un chiaro vantaggio in termini di sicurezza; e
  • non pregiudicano l'utilità della tecnologia al di là di mezzi accettabili.
  • Livello 2

    Estende il profilo di livello 1.

    I consigli presentano una o più delle seguenti caratteristiche:

  • sono destinati ad ambienti o casi d'uso in cui la sicurezza è fondamentale;
  • funge da misura di difesa in profondità; o
  • possono inibire negativamente l'utilità o le prestazioni della tecnologia.
  • Punteggio dei consigli

    Nel benchmark CIS per Kubernetes:

    Punteggio Descrizione
    Con punteggio Il mancato rispetto di questi suggerimenti diminuirà il punteggio di benchmark finale.
    Senza punteggio Il mancato rispetto di questi consigli non diminuirà il punteggio finale del benchmark.

    Valutazione su GKE

    Utilizziamo i seguenti valori per specificare lo stato dei suggerimenti Kubernetes in GKE:

    Stato Descrizione
    Pass Conforme al consiglio di Benchmark.
    Fail Non rispetta il consiglio di un benchmark.
    Controllo equivalente Non rispetta i termini esatti del suggerimento per il benchmark, ma esistono altri meccanismi in GKE per fornire controlli di sicurezza equivalenti.
    Dipende dall'ambiente GKE non configura gli elementi correlati a questo suggerimento. La configurazione dell'utente determina se il suo ambiente è conforme a un suggerimento di Benchmark.

    Stato su GKE

    Quando crei un nuovo cluster GKE con la versione specificata, ecco le sue prestazioni rispetto al benchmark CIS per Kubernetes.

    Stato del cluster GKE predefinito:

    # Consiglio Punteggio/ Senza punteggio Livello Stato predefinito
    1 Componenti del piano di controllo
    1.1 File di configurazione dei nodi del piano di controllo
    1.1.1 Assicurati che le autorizzazioni del file delle specifiche dei pod del server API siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.2 Assicurati che la proprietà del file della specifica del pod del server API sia impostata su root:root Con punteggio L1 Pass
    1.1.3 Assicurati che le autorizzazioni del file delle specifiche dei pod del gestore del controller siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.4 Assicurati che la proprietà del file della specifica del pod del gestore del controller sia impostata su root:root Con punteggio L1 Pass
    1.1.5 Assicurati che le autorizzazioni del file delle specifiche dei pod dello scheduler siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.6 Assicurati che la proprietà del file della specifica del pod scheduler sia impostata su root:root Con punteggio L1 Pass
    1.1.7 Assicurati che le autorizzazioni del file delle specifiche dei pod etcd siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.8 Assicurati che la proprietà del file della specifica del pod etcd sia impostata su root:root Con punteggio L1 Pass
    1.1.9 Assicurati che le autorizzazioni del file dell'interfaccia di rete del container siano impostate su 644 o più restrittive Senza punteggio L1 Pass
    1.1.10 Assicurati che la proprietà del file dell'interfaccia di rete container sia impostata su root:root Senza punteggio L1 Pass
    1.1.11 Assicurati che le autorizzazioni della directory dei dati etcd siano impostate su 700 o più restrittive Con punteggio L1 Pass
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd Con punteggio L1 Pass
    1.1.13 Assicurati che le autorizzazioni del file admin.conf siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.14 Assicurati che la proprietà del file admin.conf sia impostata su root:root Con punteggio L1 Pass
    1.1.15 Assicurati che le autorizzazioni del file scheduler.conf siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.16 Assicurati che la proprietà del file scheduler.conf sia impostata su root:root Con punteggio L1 Pass
    1.1.17 Assicurati che le autorizzazioni del file controller-manager.conf siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.18 Assicurati che la proprietà del file controller-manager.conf sia impostata su root:root Con punteggio L1 Pass
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root Con punteggio L1 Pass
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 644 o più restrittive Con punteggio L1 Pass
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 Con punteggio L1 Pass
    1,20 Server API
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false Senza punteggio L1 Fail
    1.2.2 Assicurati che l'argomento --basic-auth-file non sia impostato Con punteggio L1 Pass
    1.2.3 Assicurati che il parametro --token-auth-file non sia impostato Con punteggio L1 Fail
    1.2.4 Assicurati che l'argomento --kubelet-https sia impostato su true Con punteggio L1 Pass
    1.2.5 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati come appropriati Con punteggio L1 Pass
    1.2.6 Assicurati che l'argomento --kubelet-certificate-authority sia impostato come appropriato Con punteggio L1 Pass
    1.2.7 Assicurati che l'argomento --permission-mode non sia impostato su AlwaysAllow Con punteggio L1 Pass
    1.2.8 Assicurati che l'argomento --permission-mode includa il nodo Con punteggio L1 Pass
    1.2.9 Assicurati che l'argomento --permission-mode includa RBAC Con punteggio L1 Pass
    1.2.10 Assicurati che il plug-in per il controllo di ammissione EventRateLimit sia impostato Senza punteggio L1 Fail
    1.2.11 Assicurati che il plug-in per il controllo di ammissione AlwaysAdmit non sia impostato Con punteggio L1 Pass
    1.2.12 Assicurati che il plug-in per il controllo di ammissione AlwaysPullImages sia impostato Senza punteggio L1 Fail
    1.2.13 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy Senza punteggio L1 Fail
    1.2.14 Assicurati che il plug-in per il controllo di ammissione ServiceAccount sia impostato Con punteggio L1 Pass
    1.2.15 Assicurati che il plug-in per il controllo di ammissione NamespaceLifecycle sia impostato Con punteggio L1 Pass
    1.2.16 Assicurati che il plug-in PodSecurityPolicy per il controllo di ammissione sia impostato Con punteggio L1 Fail
    1.2.17 Assicurati che il plug-in NodeRestriction per il controllo di ammissione sia impostato Con punteggio L1 Pass
    1.2.18 Assicurati che l'argomento --insecure-bind-address non sia impostato Con punteggio L1 Pass
    1.2.19 Assicurati che l'argomento --insecure-port sia impostato su 0 Con punteggio L1 Pass
    1.2.20 Assicurati che l'argomento --secure-port non sia impostato su 0 Con punteggio L1 Pass
    1.2.21 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail
    1.2.22 Assicurati che l'argomento --audit-log-path sia impostato Con punteggio L1 Controllo equivalente
    1.2.23 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato Con punteggio L1 Controllo equivalente
    1.2.24 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato Con punteggio L1 Controllo equivalente
    1.2.25 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato Con punteggio L1 Controllo equivalente
    1.2.26 Assicurati che l'argomento --request-timeout sia impostato come appropriato Con punteggio L1 Pass
    1.2.27 Assicurati che l'argomento --service-account-lookup sia impostato su true Con punteggio L1 Pass
    1.2.28 Assicurati che l'argomento --service-account-key-file sia impostato come appropriato Con punteggio L1 Pass
    1.2.29 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati correttamente Con punteggio L1 Fail
    1.2.30 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati come appropriati Con punteggio L1 Pass
    1.2.31 Assicurati che l'argomento --client-ca-file sia impostato come appropriato Con punteggio L1 Pass
    1.2.32 Assicurati che l'argomento --etcd-cafile sia impostato come appropriato Con punteggio L1 Fail
    1.2.33 Assicurati che l'argomento --encryption-provider-config sia impostato come appropriato Con punteggio L1 Pass
    1.2.34 Assicurati che i provider di crittografia siano configurati in modo appropriato Con punteggio L1 Fail
    1.2.35 Assicurati che il server API utilizzi solo crittografie crittografiche efficaci Senza punteggio L1 Pass
    1.3 Gestore del controller
    1.3.1 Assicurati che l'argomento --terminated-pod-gc-threshold sia impostato come appropriato Con punteggio L1 Pass
    1.3.2 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail
    1.3.3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true Con punteggio L1 Fail
    1.3.4 Assicurati che l'argomento --service-account-private-key-file sia impostato come appropriato Con punteggio L1 Pass
    1.3.5 Assicurati che l'argomento --root-ca-file sia impostato come appropriato Con punteggio L1 Pass
    1.3.6 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true Con punteggio L2 Controllo equivalente
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 Con punteggio L1 Pass
    1.4 Programma di pianificazione
    1.4.1 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 Con punteggio L1 Pass
    2 ecc.
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati come appropriati Con punteggio L1 Fail
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true Con punteggio L1 Fail
    2.3 Assicurati che l'argomento --auto-tls non sia impostato su true Con punteggio L1 Pass
    2.4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati come appropriati Con punteggio L1 Controllo equivalente
    2.5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true Con punteggio L1 Controllo equivalente
    2.6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true Con punteggio L1 Controllo equivalente
    2.7 Assicurati che venga utilizzata un'autorità di certificazione univoca per etcd Senza punteggio L2 Pass
    3 Configurazione del piano di controllo
    3.1 Autenticazione e autorizzazione
    3.1.1 L'autenticazione dei certificati client non deve essere utilizzata per gli utenti Senza punteggio L2 Pass
    3.2 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo Con punteggio L1 Pass
    3.2.2 Assicurati che i criteri di controllo coprano i principali problemi di sicurezza Senza punteggio L2 Pass
    4 Nodi worker
    4.1 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni per i file di servizio kubelet siano impostate su 644 o più restrittive Con punteggio L1 Pass
    4.1.2 Assicurati che la proprietà del file di servizio kubelet sia impostata su root:root Con punteggio L1 Pass
    4.1.3 Assicurati che le autorizzazioni dei file kubeconfig del proxy siano impostate su 644 o più restrittive Con punteggio L1 Pass
    4.1.4 Assicurati che la proprietà del file kubeconfig del proxy sia impostata su root:root Con punteggio L1 Pass
    4.1.5 Assicurati che le autorizzazioni del file kubelet.conf siano impostate su 644 o più restrittive Con punteggio L1 Pass
    4.1.6 Assicurati che la proprietà del file kubelet.conf sia impostata su root:root Con punteggio L1 Pass
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 644 o più restrittive Con punteggio L1 Pass
    4.1.8 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root Con punteggio L1 Pass
    4.1.9 Assicurati che le autorizzazioni del file di configurazione kubelet siano impostate su 644 o più restrittive Con punteggio L1 Pass
    4.1.10 Assicurati che la proprietà del file di configurazione kubelet sia impostata su root:root Con punteggio L1 Pass
    4.2 Cubelet
    4.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false Con punteggio L1 Pass
    4.2.2 Assicurati che l'argomento --permission-mode non sia impostato su AlwaysAllow Con punteggio L1 Pass
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato come appropriato Con punteggio L1 Pass
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 Con punteggio L1 Fail
    4.2.5 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 Con punteggio L1 Pass
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true Con punteggio L1 Fail
    4.2.7 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true Con punteggio L1 Pass
    4.2.8 Assicurati che l'argomento --hostname-override non sia impostato Senza punteggio L1 Pass
    4.2.9 Assicurati che l'argomento --event-qps sia impostato su 0 o su un livello che garantisca l'acquisizione appropriata degli eventi Senza punteggio L2 Fail
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati come appropriati Con punteggio L1 Controllo equivalente
    4.2.11 Assicurati che l'argomento --rotate-certificates non sia impostato su false Con punteggio L1 Controllo equivalente
    4.2.12 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true Con punteggio L1 Controllo equivalente
    4.2.13 Assicurati che il kubelet utilizzi solo cifrari crittografici efficaci Senza punteggio L1 Fail
    5 Norme
    5.1 Account di servizio e RBAC
    5.1.1 Assicurati che il ruolo cluster-admin venga utilizzato solo dove richiesto Senza punteggio L1 Dipende dall'ambiente
    5.1.2 Riduci a icona l'accesso ai secret Senza punteggio L1 Dipende dall'ambiente
    5.1.3 Riduci al minimo l'utilizzo di caratteri jolly in Role e ClusterRoles Senza punteggio L1 Dipende dall'ambiente
    5.1.4 Riduci a icona l'accesso per creare pod Senza punteggio L1 Dipende dall'ambiente
    5.1.5 Assicurati che gli account di servizio predefiniti non vengano utilizzati attivamente Con punteggio L1 Dipende dall'ambiente
    5.1.6 Assicurati che i token dell'account di servizio vengano montati solo dove necessario Senza punteggio L1 Dipende dall'ambiente
    5.2 Criteri di sicurezza dei pod
    5.2.1 Riduci al minimo l'ammissione di container con privilegi Senza punteggio L1 Dipende dall'ambiente
    5.2.2 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi dell'ID processo host Con punteggio L1 Dipende dall'ambiente
    5.2.3 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi IPC dell'host Con punteggio L1 Dipende dall'ambiente
    5.2.4 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi di rete host Con punteggio L1 Dipende dall'ambiente
    5.2.5 Riduci al minimo l'ammissione di container con allowPrivilegeEscalation Con punteggio L1 Dipende dall'ambiente
    5.2.6 Riduci al minimo l'ammissione dei container root Senza punteggio L2 Dipende dall'ambiente
    5.2.7 Riduci al minimo l'ammissione di container con la funzionalità NET_RAW Senza punteggio L1 Dipende dall'ambiente
    5.2.8 Riduci al minimo l'ammissione di container con funzionalità aggiuntive Senza punteggio L1 Dipende dall'ambiente
    5.2.9 Riduci al minimo l'ammissione di container con funzionalità assegnate Senza punteggio L2 Dipende dall'ambiente
    5.3 Criteri di rete e CNI
    5.3.1 Assicurati che la CNI in uso supporti i criteri di rete Senza punteggio L1 Pass
    5.3.2 Assicurati che per tutti gli spazi dei nomi siano stati definiti criteri di rete Con punteggio L2 Dipende dall'ambiente
    5.4 Gestione dei secret
    5.4.1 Preferisco l'utilizzo dei secret come file anziché dei secret come variabili di ambiente Senza punteggio L1 Dipende dall'ambiente
    5.4.2 Considera l'archiviazione di secret esterna Senza punteggio L2 Dipende dall'ambiente
    5,50 Accesso estensibile
    5.5.1 Configurare la provenienza delle immagini utilizzando il controller di ammissione ImagePolicyWebhook Senza punteggio L2 Dipende dall'ambiente
    5.6 Norme generali
    5.6.1 Crea limiti amministrativi tra le risorse utilizzando gli spazi dei nomi Senza punteggio L1 Dipende dall'ambiente
    5.6.2 Assicurati che il profilo seccomp sia impostato su docker/default nelle definizioni dei pod Senza punteggio L2 Dipende dall'ambiente
    5.6.3 Applica il contesto di sicurezza a pod e container Senza punteggio L2 Dipende dall'ambiente
    5.6.4 Lo spazio dei nomi predefinito non deve essere utilizzato Con punteggio L2 Dipende dall'ambiente

    Valori predefiniti su GKE

    Se l'impostazione predefinita per un nuovo cluster GKE non trasmette un suggerimento del benchmark CIS Kubernetes, di seguito sono riportati i valori predefiniti utilizzati in GKE, con una spiegazione. Alcuni di questi consigli possono essere corretti seguendo le procedure di correzione illustrate nel benchmark GKE CIS. Gli elementi che possono essere controllati automaticamente sono contrassegnati come score nel benchmark GKE CIS.

    Valori predefiniti per i suggerimenti che non funzionano o dipendono dall'ambiente in un cluster GKE predefinito:

    # Consiglio Punteggio/ senza punteggio
    in base al benchmark CIS Kubernetes
    Livello Stato predefinito Valore predefinito Motivazione Punteggio/ senza punteggio
    in base al benchmark GKE CIS
    1 Componenti del piano di controllo
    1,20 Server API
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false Senza punteggio L1 Fail true Alcuni componenti di monitoraggio di GKE utilizzano l'autenticazione anonima per ottenere le metriche. Sebbene GKE consenta l'autenticazione anonima per il kubelet, l'esposizione è identica alla porta di sola lettura poiché GKE disabilita i gestori di debug aggiuntivi. Senza punteggio
    1.2.3 Assicurati che il parametro --token-auth-file non sia impostato Con punteggio L1 Fail Imposta Il bootstrap di alcuni componenti del piano di controllo viene eseguito mediante token statici, che vengono poi utilizzati per l'autenticazione nel server API. Senza punteggio
    1.2.10 Assicurati che il plug-in per il controllo di ammissione EventRateLimit sia impostato Senza punteggio L1 Fail Non impostata GKE non supporta il controller di ammissione con Limite di frequenza eventi poiché è una funzionalità di Kubernetes alpha. Senza punteggio
    1.2.12 Assicurati che il plug-in per il controllo di ammissione AlwaysPullImages sia impostato Senza punteggio L1 Fail Non impostata Il controller di ammissione AlwaysPullImages fornisce una certa protezione per le immagini del registro private nei cluster multitenant non cooperativi, ma rende i registri di container un singolo punto di errore per la creazione di nuovi pod nell'intero cluster. GKE non abilita il controller di ammissione AlwaysPullImages, il che lascia agli amministratori del cluster il compito di implementare il criterio di ammissione al fine di raggiungere autonomamente questo compromesso. Senza punteggio
    1.2.13 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy Senza punteggio L1 Fail Non impostata GKE non abilita il controller di ammissione del contesto di sicurezza per impostazione predefinita. L'utilizzo di un criterio di sicurezza dei pod consente un maggiore controllo ed è preferibile. Senza punteggio
    1.2.16 Assicurati che il plug-in PodSecurityPolicy per il controllo di ammissione sia impostato Con punteggio L1 Fail Non impostata GKE non abilita il controller di ammissione dei criteri di sicurezza dei pod per impostazione predefinita, poiché ciò richiede l'impostazione di un criterio. I clienti GKE possono abilitare PodSecurityPolicy. Senza punteggio, vedi anche 6.10.3
    1.2.21 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail Non impostata GKE utilizza la profilazione per il debug. Senza punteggio
    1.2.22 Assicurati che l'argomento --audit-log-path sia impostato Con punteggio L1 Controllo equivalente Non impostata GKE acquisisce gli audit log, ma non utilizza questi flag per i controlli. Consulta Criterio di controllo di GKE per maggiori dettagli. Senza punteggio
    1.2.23 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato Con punteggio L1 Controllo equivalente Non impostata GKE acquisisce gli audit log, ma non utilizza questi flag per i controlli. Consulta Criterio di controllo di GKE per maggiori dettagli. Senza punteggio
    1.2.24 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato Con punteggio L1 Controllo equivalente Non impostata GKE acquisisce gli audit log, ma non utilizza questi flag per i controlli. Consulta Criterio di controllo di GKE per maggiori dettagli. Senza punteggio
    1.2.25 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato Con punteggio L1 Controllo equivalente Non impostata GKE acquisisce gli audit log, ma non utilizza questi flag per i controlli. Consulta Criterio di controllo di GKE per maggiori dettagli. Senza punteggio
    1.2.29 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati correttamente Con punteggio L1 Fail Non impostata GKE non utilizza attualmente mTLS per proteggere le connessioni tra il server API a etcd. Tieni presente che etcd rimane in ascolto su localhost. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    1.2.32 Assicurati che l'argomento --etcd-cafile sia impostato come appropriato Con punteggio L1 Fail Non impostata GKE non utilizza attualmente mTLS per proteggere le connessioni tra il server API a etcd. Tieni presente che etcd rimane in ascolto su localhost. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    1.2.34 Assicurati che i provider di crittografia siano configurati in modo appropriato Con punteggio L1 Fail identity GKE cripta i contenuti at-rest dei clienti per impostazione predefinita. Per criptare ulteriormente i secret, utilizza la crittografia dei secret a livello di applicazione. Senza punteggio, vedi anche 6.3.1
    1.3 Gestore del controller
    1.3.2 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail true GKE utilizza la profilazione per il debug. Senza punteggio
    1.3.6 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true Con punteggio L2 Controllo equivalente false GKE ruota i certificati kubelet, ma non utilizza questo flag. Senza punteggio
    1.4 Programma di pianificazione
    1.4.1 Assicurati che l'argomento --profiling sia impostato su false Con punteggio L1 Fail true GKE utilizza la profilazione per il debug. Senza punteggio
    2 ecc.
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati come appropriati Con punteggio L1 Fail Non impostata GKE non utilizza attualmente mTLS per proteggere le connessioni tra il server API a etcd. Tieni presente che etcd rimane in ascolto su localhost. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true Con punteggio L1 Fail Non impostata GKE non utilizza attualmente mTLS per proteggere le connessioni tra il server API a etcd. Tieni presente che etcd rimane in ascolto su localhost. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    2.4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati come appropriati Con punteggio L1 Controllo equivalente Non impostata GKE utilizza mTLS per il traffico peer tra le istanze di etcd. Questi flag vengono utilizzati per i cluster a livello di regione, ma non per quelli di zona, poiché esiste una sola istanza etcd in un cluster di zona. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    2.5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true Con punteggio L1 Controllo equivalente Non impostata GKE utilizza mTLS per il traffico peer tra le istanze di etcd. Questi flag vengono utilizzati per i cluster a livello di regione, ma non per quelli di zona, poiché esiste una sola istanza etcd in un cluster di zona. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    2.6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true Con punteggio L1 Controllo equivalente Non impostata GKE utilizza mTLS per il traffico peer tra le istanze di etcd. Questi flag vengono utilizzati per i cluster a livello di regione, ma non per quelli di zona, poiché esiste una sola istanza etcd in un cluster di zona. Per ulteriori dettagli, consulta Attendibilità del cluster. Senza punteggio
    4 Nodi worker
    4.2 Cubelet
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 Con punteggio L1 Fail 10255 Alcuni componenti di monitoraggio di GKE utilizzano la porta kubelet di sola lettura per ottenere le metriche. Con punteggio
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true Con punteggio L1 Fail false GKE non protegge i valori predefiniti del kernel da Kubernetes, poiché i carichi di lavoro dei clienti potrebbero volerli modificare. Con punteggio
    4.2.9 Assicurati che l'argomento --event-qps sia impostato su 0 o su un livello che garantisca l'acquisizione appropriata degli eventi Senza punteggio L2 Fail 5 Gli eventi sono oggetti Kubernetes archiviati in etcd. Per evitare sovraccarichi ecc. vengono conservati solo per un'ora e non costituiscono un meccanismo di controllo della sicurezza appropriato. Se consenti eventi illimitati come suggerito in questo controllo, il cluster espone il cluster a rischi DoS non necessari e contraddice il suggerimento di utilizzare EventRateLimits per l'ammissione. Gli eventi pertinenti alla sicurezza che richiedono un'archiviazione permanente devono essere inviati ai log. Con punteggio
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati come appropriati Con punteggio L1 Controllo equivalente Non impostato GKE utilizza mTLS per il traffico da kubelet al server API. GKE utilizza TLS per il server API per il traffico kubelet, che è autenticato per i cluster GKE 1.12 e versioni successive. GKE non utilizza questi flag, ma li specifichi nel file di configurazione kubelet. Per ulteriori dettagli, consulta Attendibilità del cluster. Con punteggio
    4.2.11 Assicurati che l'argomento --rotate-certificates non sia impostato su false Con punteggio L1 Controllo equivalente Non impostata GKE ruota i certificati server per i cluster GKE 1.12 e versioni successive. GKE non utilizza questi flag, ma li specifichi nel file di configurazione kubelet. GKE non ruota i certificati client, a meno che non siano abilitati i nodi GKE schermati. In questo caso, GKE non utilizza questi flag, ma esegue un processo separato per la rotazione dei certificati. Per ulteriori dettagli, consulta Attendibilità del cluster. Con punteggio
    4.2.12 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true Con punteggio L1 Controllo equivalente Non impostata GKE ruota i certificati server per i cluster GKE 1.12 e versioni successive. GKE non utilizza questi flag, ma li specifichi nel file di configurazione kubelet. Per ulteriori dettagli, consulta Attendibilità del cluster. Con punteggio
    4.2.13 Assicurati che kubelet utilizzi solo crittografie crittografiche efficaci Senza punteggio Fail Non impostata GKE utilizza il set di crittografia consentito predefinito golang, che è considerato sicuro dagli esperti di crittografia ed è anche il valore predefinito per Kubernetes. Senza punteggio
    5 Norme
    5.1 Account di servizio e RBAC
    5.1.1 Assicurati che il ruolo cluster-admin venga utilizzato solo dove richiesto Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.1.2 Riduci a icona l'accesso ai secret Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.1.3 Riduci al minimo l'utilizzo di caratteri jolly in Role e ClusterRoles Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.1.4 Riduci a icona l'accesso per creare pod Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.1.5 Assicurati che gli account di servizio predefiniti non vengano utilizzati attivamente Con punteggio L1 Dipende dall'ambiente n/d Con punteggio
    5.1.6 Assicurati che i token dell'account di servizio vengano montati solo dove necessario Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.2 Criteri di sicurezza dei pod
    5.2.1 Riduci al minimo l'ammissione di container con privilegi Senza punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.2 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi dell'ID processo host Con punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.3 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi IPC dell'host Con punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.4 Riduci al minimo l'ammissione dei container che vogliono condividere lo spazio dei nomi di rete host Con punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.5 Riduci al minimo l'ammissione di container con allowPrivilegeEscalation Con punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.6 Riduci al minimo l'ammissione dei container root Senza punteggio L2 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.7 Riduci al minimo l'ammissione di container con la funzionalità NET_RAW Senza punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.8 Riduci al minimo l'ammissione di container con funzionalità aggiuntive Senza punteggio L1 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.2.9 Riduci al minimo l'ammissione di container con funzionalità assegnate Senza punteggio L2 Dipende dall'ambiente n/d Nessun criterio di sicurezza dei pod è impostato per impostazione predefinita. Con punteggio
    5.3 Criteri di rete e CNI
    5.3.2 Assicurati che per tutti gli spazi dei nomi siano stati definiti criteri di rete Con punteggio L2 Dipende dall'ambiente n/d Con punteggio
    5.4 Gestione dei secret
    5.4.1 Preferisco l'utilizzo dei secret come file anziché dei secret come variabili di ambiente Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.4.2 Considera l'archiviazione di secret esterna Senza punteggio L2 Dipende dall'ambiente n/d Senza punteggio
    5,50 Accesso estensibile
    5.5.1 Configurare la provenienza delle immagini utilizzando il controller di ammissione ImagePolicyWebhook Senza punteggio L2 Dipende dall'ambiente Non abilitato GKE non abilita il controller di ammissione webhook dei criteri delle immagini per impostazione predefinita. La provenienza delle immagini mediante Autorizzazione binaria non è configurata per impostazione predefinita, poiché questo richiede l'impostazione di un criterio. Senza punteggio, vedi anche 6.10.5
    5.6 Norme generali
    5.6.1 Crea limiti amministrativi tra le risorse utilizzando gli spazi dei nomi Senza punteggio L1 Dipende dall'ambiente n/d Senza punteggio
    5.6.2 Assicurati che il profilo seccomp sia impostato su docker/default nelle definizioni dei pod Senza punteggio L2 Dipende dall'ambiente n/d Nessun profilo seccomp è impostato per impostazione predefinita. Senza punteggio
    5.6.3 Applica il contesto di sicurezza a pod e container Senza punteggio L2 Dipende dall'ambiente n/d Nessun contesto di sicurezza è impostato per impostazione predefinita. Senza punteggio
    5.6.4 Lo spazio dei nomi predefinito non deve essere utilizzato Con punteggio L2 Dipende dall'ambiente n/d Con punteggio

    Benchmark CIS GKE

    Accesso al benchmark

    Il CIS GKE Benchmark è disponibile sul sito web del CIS:

    • Consulta l'elenco completo dei benchmark CIS.
    • Sotto l'intestazione Kubernetes, fai clic su Espandi per visualizzare i contenuti correlati.
    • Il benchmark GKE CIS è elencato per il download.

    Livelli di consigli

    Nel benchmark GKE CIS,

    Livello Descrizione
    Livello 1

    I consigli sono pensati per essere ampiamente applicabili. Dovrebbero essere applicati a quasi tutti gli ambienti.

    Livello 2

    I suggerimenti comportano un ambiente di sicurezza più rigoroso, ma non sono necessariamente applicabili a tutti i casi. Potrebbero avere un impatto sulle prestazioni o non essere applicabili insieme ad altri suggerimenti. Dovrebbero essere valutati per il tuo ambiente prima di essere applicati.

    In alcuni casi, ad esempio i carichi di lavoro multi-tenant, questi suggerimenti potrebbero essere più pertinenti.

    Punteggio dei consigli

    Nel benchmark GKE CIS,

    Punteggio Descrizione
    Con punteggio

    I suggerimenti sono facilmente testati utilizzando un metodo automatizzato e hanno un valore valutabile in modo definitivo.

    Questi consigli includono solo prodotti o funzionalità in disponibilità generale.

    Senza punteggio

    I suggerimenti non possono essere facilmente valutati utilizzando l'automazione o richiedono una valutazione per determinare l'implementazione esatta appropriata per il tuo carico di lavoro. Questi consigli possono utilizzare funzionalità o prodotti beta.

    Ad esempio, il Criterio di sicurezza dei pod richiede l'utilizzo di un criterio specifico per il carico di lavoro ed è una funzionalità beta, quindi ha un punteggio senza punteggio.

    Valutazione su GKE

    Per i suggerimenti specifici per GKE (sezione 6), poiché sono tutti configurabili in modo da poter essere configurati in modo da essere trasmessi nel tuo ambiente, utilizziamo i seguenti valori per specificare i valori predefiniti:

    Stato Descrizione
    Predefinito Un nuovo cluster è conforme a un suggerimento di Benchmark per impostazione predefinita.
    Non predefinito Per impostazione predefinita, un nuovo cluster non è conforme a un suggerimento di benchmark.
    Dipende dall'ambiente GKE non configura gli elementi correlati a questo suggerimento. La configurazione dell'utente determina se il suo ambiente è conforme a un suggerimento di Benchmark.

    Valori predefiniti su GKE

    Quando crei un nuovo cluster GKE con la versione specificata, ecco le sue prestazioni rispetto al benchmark CIS per Kubernetes.

    Stato del cluster GKE predefinito:

    # Consiglio Punteggio/ Senza punteggio Livello Stato predefinito
    6 Servizi gestiti
    6.1 Registro immagini e scansione delle immagini
    6.1.1 Assicurati che l'analisi delle vulnerabilità delle immagini utilizzando GCR Container Analysis o un provider di terze parti Con punteggio L1 Non predefinito
    6.1.2 Ridurre al minimo l'accesso degli utenti a GCR Con punteggio L1 Dipende dall'ambiente
    6.1.3 Riduci al minimo l'accesso al cluster in sola lettura per GCR Con punteggio L1 Non predefinito
    6.1.4 Riduci al minimo i registri di container solo a quelli approvati Senza punteggio L2 Non predefinito
    6.2 Identity and Access Management (IAM)
    6.2.1 Preferisco non eseguire cluster GKE utilizzando l'account di servizio predefinito di Compute Engine Con punteggio L2 Non predefinito
    6.2.2 Preferisco l'utilizzo di account di servizio Google Cloud e Workload Identity dedicati Senza punteggio L1 Non predefinito
    6.3 Cloud Key Management Service (Cloud KMS)
    6.3.1 Valuta la possibilità di criptare i secret di Kubernetes utilizzando chiavi gestite in Cloud KMS Con punteggio L1 Non predefinito
    6,40 Metadati del nodo
    6.4.1 Assicurati che le API legacy per i metadati delle istanze Compute Engine siano disabilitate Con punteggio L1 Predefinito
    6.4.2 Assicurati che il server metadati GKE sia abilitato Senza punteggio L2 Non predefinito
    6.5 Configurazione e manutenzione dei nodi
    6.5.1 Assicurati che Container-Optimized OS (COS) venga utilizzato per le immagini dei nodi GKE Con punteggio L2 Predefinito
    6.5.2 Assicurati che la riparazione automatica dei nodi sia abilitata per i nodi GKE Con punteggio L1 Predefinito
    6.5.3 Assicurati che l'upgrade automatico dei nodi sia abilitato per i nodi GKE Con punteggio L1 Predefinito
    6.5.4 Valuta la possibilità di automatizzare la gestione delle versioni di GKE utilizzando i canali di rilascio Senza punteggio L1 Non predefinito
    6.5.5 Assicurati che i nodi GKE schermati siano abilitati Senza punteggio L1 Non predefinito
    6.5.6 Assicurati che il monitoraggio dell'integrità per i nodi GKE schermati sia abilitato Senza punteggio L1 Non predefinito
    6.5.7 Assicurati che l'avvio protetto per i nodi GKE schermati sia abilitato Senza punteggio L2 Non predefinito
    6.6 Networking dei cluster
    6.6.1 Valuta l'abilitazione dei log di flusso VPC e della visibilità tra nodi Senza punteggio L2 Non predefinito
    6.6.2 Preferenza ai cluster nativi di VPC Con punteggio L1 Non predefinito
    6.6.3 Assicurati che le reti autorizzate master siano abilitate Con punteggio L1 Non predefinito
    6.6.4 Assicurati che i cluster vengano creati con endpoint privato abilitato e accesso pubblico disabilitato Con punteggio L2 Non predefinito
    6.6.5 Assicurati che i cluster vengano creati con nodi privati Con punteggio L1 Non predefinito
    6.6.6 Valuta la possibilità di applicare il firewall ai nodi worker GKE Senza punteggio L1 Non predefinito
    6.6.7 Assicurati che il criterio di rete sia abilitato e impostato in modo appropriato Senza punteggio L1 Non predefinito
    6.6.8 Valuta l'utilizzo dei certificati SSL gestiti da Google Senza punteggio L2 Dipende dall'ambiente
    6.7 Logging
    6.7.1 Assicurati che Stackdriver Kubernetes Logging e Monitoring siano abilitati Con punteggio L1 Predefinito
    6.7.2 Valuta la possibilità di abilitare il logging controllato di Linux Senza punteggio L2 Non predefinito
    6.8 Autenticazione e autorizzazione
    6.8.1 Assicurati che l'autenticazione di base mediante password statiche sia disabilitata Con punteggio L1 Predefinito
    6.8.2 Assicurati che l'autenticazione mediante certificati client sia disabilitata Con punteggio L1 Predefinito
    6.8.3 Valuta la possibilità di gestire gli utenti Kubernetes RBAC con Google Gruppi per RBAC Senza punteggio L2 Non predefinito
    6.8.4 Assicurati che l'autorizzazione legacy (ABAC) sia disabilitata Con punteggio L1 Predefinito
    6,90 Spazio di archiviazione
    6.9.1 Valuta la possibilità di abilitare le chiavi di crittografia gestite dal cliente (CMEK) per i dischi permanenti (PD) GKE Senza punteggio L1 Non predefinito
    6,10 Altre configurazioni del cluster
    6.10.1 Assicurati che la UI web di Kubernetes sia disabilitata Con punteggio L1 Predefinito
    6.10.2 Assicurati che i cluster alpha non vengano utilizzati per i carichi di lavoro di produzione Con punteggio L1 Predefinito
    6.10.3 Assicurati che il criterio di sicurezza dei pod sia abilitato e impostato come appropriato Senza punteggio L1 Non predefinito
    6.10.4 Considera GKE Sandbox per l'esecuzione di carichi di lavoro non attendibili Senza punteggio L2 Non predefinito
    6.10.5 Preferisco abilitare Autorizzazione binaria e configurare il criterio in base alle esigenze Senza punteggio L2 Non predefinito
    6.10.6 Preferisco abilitare Cloud Security Command Center (Cloud SCC) Senza punteggio L1 Non predefinito

    Come controllare i Benchmark

    Le istruzioni specifiche per il controllo di ogni suggerimento sono disponibili nell'ambito del CIS Benchmark pertinente. Tuttavia, potresti voler automatizzare alcuni di questi controlli per semplificare la verifica di questi controlli nel tuo ambiente. Gli strumenti elencati di seguito possono aiutarti.

    Tieni presente che ciò non ti consente di controllare i suggerimenti del benchmark Kubernetes CIS che non sono controllabili su GKE. Per i componenti che non puoi controllare direttamente, consulta Valori predefiniti per capire come il tuo ambiente è già configurato da GKE.

    Controllo automatico del benchmark CIS per Kubernetes

    Puoi utilizzare uno strumento open source kube-bench per testare la configurazione del cluster rispetto al benchmark CIS Kubernetes. Tieni presente che non potrai eseguire i test kube-bench master sui carichi di lavoro GKE, poiché non hai accesso diretto al nodo del piano di controllo e potrai eseguire solo i test kube-bench node.

    Assicurati di specificare la versione appropriata, ad esempio:

    kube-bench node --benchmark cis-1.5
    

    Controllo automatico del benchmark CIS GKE

    Security Health Analytics identifica gli errori di configurazione più comuni nel tuo ambiente, come firewall aperti o bucket pubblici. Sono inclusi i suggerimenti per la sicurezza di GKE. Se abiliti Security Health Analytics, riceverai una notifica di eventuali configurazioni errate del cluster in Cloud Security Command Center.

    Molti suggerimenti con punteggio di livello 1 sono coperti dai risultati corrispondenti in Security Health Analytics.

    # Consiglio Punteggio/ Senza punteggio Livello Risultati di Security Health Analytics
    6.1 Registro immagini e scansione delle immagini
    6.1.1 Assicurati che l'analisi delle vulnerabilità delle immagini utilizzando GCR Container Analysis o un provider di terze parti Con punteggio L1 n/d
    6.1.2 Ridurre al minimo l'accesso degli utenti a GCR Con punteggio L1 n/d
    6.1.3 Riduci al minimo l'accesso al cluster in sola lettura per GCR Con punteggio L1 n/d
    6.1.4 Riduci al minimo i registri di container solo a quelli approvati Senza punteggio L2 n/d
    6.2 Identity and Access Management (IAM)
    6.2.1 Preferisco non eseguire cluster GKE utilizzando l'account di servizio predefinito di Compute Engine Con punteggio L2 OVER_PRIVILEGED_ACCOUNT e OVER_PRIVILEGED_SCOPES
    6.2.2 Preferisco l'utilizzo di account di servizio Google Cloud e Workload Identity dedicati Senza punteggio L1 WORKLOAD_IDENTITY_DISABLED
    6.3 Cloud Key Management Service (Cloud KMS)
    6.3.1 Valuta la possibilità di criptare i secret di Kubernetes utilizzando chiavi gestite in Cloud KMS Con punteggio L1 n/d
    6,40 Metadati del nodo
    6.4.1 Assicurati che le API legacy per i metadati delle istanze Compute Engine siano disabilitate Con punteggio L1 LEGACY_METADATA_ENABLED
    6.4.2 Assicurati che il server metadati GKE sia abilitato Senza punteggio L2 n/d
    6.5 Configurazione e manutenzione dei nodi
    6.5.1 Assicurati che Container-Optimized OS (COS) venga utilizzato per le immagini dei nodi GKE Con punteggio L2 COS_NOT_USED
    6.5.2 Assicurati che la riparazione automatica dei nodi sia abilitata per i nodi GKE Con punteggio L1 AUTO_REPAIR_DISABLED
    6.5.3 Assicurati che l'upgrade automatico dei nodi sia abilitato per i nodi GKE Con punteggio L1 AUTO_UPGRADE_DISABLED
    6.5.4 Valuta la possibilità di automatizzare la gestione delle versioni di GKE utilizzando i canali di rilascio Senza punteggio L1 n/d
    6.5.5 Assicurati che i nodi GKE schermati siano abilitati Senza punteggio L1 n/d
    6.5.6 Assicurati che il monitoraggio dell'integrità per i nodi GKE schermati sia abilitato Senza punteggio L1 n/d
    6.5.7 Assicurati che l'avvio protetto per i nodi GKE schermati sia abilitato Senza punteggio L2 n/d
    6.6 Networking dei cluster
    6.6.1 Valuta l'abilitazione dei log di flusso VPC e della visibilità tra nodi Senza punteggio L2 FLOW_LOGS_DISABLED
    6.6.2 Preferenza ai cluster nativi di VPC Con punteggio L1 IP_ALIAS_DISABLED
    6.6.3 Assicurati che le reti autorizzate master siano abilitate Con punteggio L1 MASTER_AUTHORIZED_NETWORKS_DISABLED
    6.6.4 Assicurati che i cluster vengano creati con endpoint privato abilitato e accesso pubblico disabilitato Con punteggio L2 n/d
    6.6.5 Assicurati che i cluster vengano creati con nodi privati Con punteggio L1 PRIVATE_CLUSTER_DISABLED
    6.6.6 Valuta la possibilità di applicare il firewall ai nodi worker GKE Senza punteggio L1 n/d
    6.6.7 Assicurati che il criterio di rete sia abilitato e impostato in modo appropriato Senza punteggio L1 NETWORK_POLICY_DISABLED
    6.6.8 Valuta l'utilizzo dei certificati SSL gestiti da Google Senza punteggio L2 n/d
    6.7 Logging
    6.7.1 Assicurati che Stackdriver Kubernetes Logging e Monitoring siano abilitati Con punteggio L1 CLUSTER_LOGGING_DISABLED e CLUSTER_MONITORING_DISABLED
    6.7.2 Valuta la possibilità di abilitare il logging controllato di Linux Senza punteggio L2 n/d
    6.8 Autenticazione e autorizzazione
    6.8.1 Assicurati che l'autenticazione di base mediante password statiche sia disabilitata Con punteggio L1 n/d
    6.8.2 Assicurati che l'autenticazione mediante certificati client sia disabilitata Con punteggio L1 n/d
    6.8.3 Valuta la possibilità di gestire gli utenti Kubernetes RBAC con Google Gruppi per RBAC Senza punteggio L2 n/d
    6.8.4 Assicurati che l'autorizzazione legacy (ABAC) sia disabilitata Con punteggio L1 LEGACY_AUTHORIZATION_ENABLED
    6,90 Spazio di archiviazione
    6.9.1 Valuta la possibilità di abilitare le chiavi di crittografia gestite dal cliente (CMEK) per i dischi permanenti (PD) GKE Senza punteggio L1 n/d
    6,10 Altre configurazioni del cluster
    6.10.1 Assicurati che la UI web di Kubernetes sia disabilitata Con punteggio L1 WEB_UI_ENABLED
    6.10.2 Assicurati che i cluster alpha non vengano utilizzati per i carichi di lavoro di produzione Con punteggio L1 n/d
    6.10.3 Assicurati che il criterio di sicurezza dei pod sia abilitato e impostato come appropriato Senza punteggio L1 POD_SECURITY_POLICY_DISABLED
    6.10.4 Considera GKE Sandbox per l'esecuzione di carichi di lavoro non attendibili Senza punteggio L2 n/d
    6.10.5 Preferisco abilitare Autorizzazione binaria e configurare il criterio in base alle esigenze Senza punteggio L2 n/d
    6.10.6 Preferisco abilitare Cloud Security Command Center (Cloud SCC) Senza punteggio L1 n/d

    Passaggi successivi