Benchmark CIS per Kubernetes

Questo documento introduce il CIS Kubernetes Benchmark e spiega come verificare la conformità al benchmark. Per i suggerimenti che non puoi implementare autonomamente, il documento spiega cosa fa Google Distributed Cloud per rispondere al suggerimento.

Utilizzo dei CIS Benchmarks

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

Versioni

La tabella seguente elenca le versioni di Google Distributed Cloud, Kubernetes e del CIS Kubernetes Benchmark utilizzate per eseguire la valutazione descritta in questo documento:

1,29

Versione Google Distributed Cloud Versione di Kubernetes Versione del benchmark CIS per Kubernetes
1.29.0-gke.1449 1.29.3-gke.600 v1.8.0

1,28

Versione Google Distributed Cloud Versione di Kubernetes Versione del benchmark CIS per Kubernetes
1.28.0-gke.435 1.28.3-gke.700 v1.7.0

1,16

Versione Google Distributed Cloud Versione di Kubernetes Versione del benchmark CIS per Kubernetes
1.16.0 1.27.4-gke.1600 V1.23 (1.0.1)

Tieni presente che i numeri di versione per benchmark diversi potrebbero non corrispondere.

Benchmark CIS Kubernetes

Le sezioni seguenti forniscono informazioni di base per aiutarti a interpretare lo stato del benchmark Kubernetes CIS per Google Distributed Cloud.

Accesso al benchmark

CIS Kubernetes Benchmark è disponibile sul sito web di CIS.

Livelli dei consigli

Nel CIS Kubernetes Benchmark,

Livello Descrizione
Livello 1

I consigli hanno lo scopo di:

  • pratica e prudente;
  • fornire un evidente vantaggio in termini di sicurezza; e
  • non inibire l'utilità della tecnologia al di là dei mezzi accettabili.
  • Livello 2

    Estende il profilo del livello 1.

    I consigli presentano una o più delle seguenti caratteristiche:

  • sono destinate ad ambienti o casi d'uso in cui la sicurezza è fondamentale;
  • agisca come difesa in profondità; oppure
  • possono inibire negativamente l'utilità o le prestazioni della tecnologia.
  • Stato valutazione

    Per ogni consiglio è incluso uno stato di valutazione. Lo stato della valutazione indica se il suggerimento dato può essere automatizzato o se l'implementazione richiede passaggi manuali. Entrambi gli stati sono ugualmente importanti e sono determinati e supportati come definito nella seguente tabella:

    Punteggio Descrizione
    Automatico Rappresenta i suggerimenti per i quali la valutazione di un controllo tecnico può essere completamente automatizzata e convalidata se lo stato è Superato/Non superato. I suggerimenti includeranno le informazioni necessarie per implementare l'automazione.
    Manuale Rappresenta i suggerimenti per i quali la valutazione di un controllo tecnico non può essere completamente automatizzata e richiede tutti o alcuni passaggi manuali per convalidare che lo stato configurato sia impostato come previsto. Lo stato previsto può variare a seconda dell'ambiente.

    Valutazione su Google Distributed Cloud

    Utilizziamo i seguenti valori per specificare lo stato dei suggerimenti Kubernetes in Google Distributed Cloud:

    Stato Descrizione
    Conforme È conforme a un consiglio sui benchmark.
    Non conforme Non rispetta i consigli sui benchmark.
    Controllo equivalente Non rispetta i termini esatti nel suggerimento sui benchmark, ma esistono altri meccanismi in Google Distributed Cloud per fornire controlli di sicurezza equivalenti.
    Dipende dall'ambiente Google Distributed Cloud non configura elementi relativi a questo suggerimento. La configurazione dell'utente determina se il suo ambiente è conforme a un consiglio di benchmark.

    Architettura distribuita di Google

    Google Distributed Cloud supporta più configurazioni di cluster e tipi di cluster. Ogni tipo di cluster supportato (amministratore, utente, ibrido e autonomo) viene valutato rispetto al benchmark CIS. Le seguenti valutazioni e giustificazioni si applicano a tutti i tipi di cluster supportati. Ulteriori informazioni sulle configurazioni di cluster supportate da Google Distributed Cloud sono disponibili in Scelta dei modelli di deployment.

    Stato su Google Distributed Cloud

    Le sezioni seguenti contengono le valutazioni per i nuovi cluster creati con la versione specificata di Google Distributed Cloud. Queste valutazioni sono un indicatore delle prestazioni dei nuovi cluster senza carichi di lavoro utente rispetto al CIS Kubernetes Benchmark. Se esegui il deployment dei tuoi carichi di lavoro prima di controllare autonomamente i benchmark, i risultati potrebbero essere diversi.

    Stato dei cluster Google Distributed Cloud:

    1,29

    # Suggerimento Livello Stato
    1 cis-1.8
    1,10 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 600 o più restrittive (automatizzate) L1 Conforme
    1.1.2 Assicurati che la proprietà del file delle specifiche dei pod del server API sia impostata su root:root (Automatico) L1 Conforme
    1.1.3 Assicurati che le autorizzazioni dei file delle specifiche dei pod del gestore del controller siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.4 Assicurati che la proprietà del file delle specifiche del pod del gestore del controller sia impostata su root:root (Automatico) L1 Conforme
    1.1.5 Assicurati che le autorizzazioni dei file delle specifiche dei pod dello scheduler siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.6 Assicurati che la proprietà del file delle specifiche dei pod dello scheduler sia impostata su root:root (Automatico) L1 Conforme
    1.1.7 Assicurati che le autorizzazioni dei file delle specifiche dei pod etcd siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.8 Assicurati che la proprietà del file delle specifiche del pod etcd sia impostata su root:root (Automatico) L1 Conforme
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Controllo equivalente
    1.1.10 Assicurati che la proprietà del file dell'interfaccia di rete del container sia impostata su root:root (Manuale) L1 Conforme
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente
    1.1.13 Assicurati che le autorizzazioni del file di configurazione.di amministrazione siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.14 Assicurati che la proprietà del file di configurazione.di amministratore sia impostata su root:root (Automatico) L1 Conforme
    1.1.15 Assicurati che le autorizzazioni del file conf del scheduler. siano impostate su 600 o su un valore più restrittivo (automatico) L1 Conforme
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.17 Assicurati che le autorizzazioni del file di configurazione.controller-manager siano impostate su 600 o su un valore più restrittivo (automatizzato) L1 Conforme
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 600 o più restrittive (Manuale) L1 Controllo equivalente
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente
    1,20 Server API
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso
    1.2.2 Assicurati che il parametro --token-auth-file non sia impostato (Automatico) L1 Conforme
    1.2.3 Assicurati che --DenyServiceExternalIPs sia impostato (Manuale) L1 Controllo equivalente
    1.2.4 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.5 Assicurati che l'argomento --kubelet-certificate-authority sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.6 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    1.2.7 Assicurati che l'argomento --authorization-mode includa il nodo (automatico) L1 Conforme
    1.2.8 Assicurati che l'argomento --authorization-mode includa RBAC (automatico) L1 Conforme
    1.2.9 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso
    1.2.10 Assicurati che il plug-in di controllo di ammissione AlwaysAdmit non sia impostato (automatico) L1 Conforme
    1.2.11 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso
    1.2.12 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso
    1.2.13 Assicurati che il plug-in di controllo di ammissione ServiceAccount sia impostato (automatico) L1 Avviso
    1.2.14 Assicurati che il plug-in di controllo di ammissione NamespaceLifecycle sia impostato (automatico) L1 Conforme
    1.2.15 Assicurati che il plug-in di controllo di ammissione NodeRestriction sia impostato (automatico) L1 Conforme
    1.2.16 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.2.17 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Conforme
    1.2.18 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Conforme
    1.2.19 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Conforme
    1.2.20 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Conforme
    1.2.21 Assicurati che l'argomento --request-timeout sia impostato come appropriato (Manuale) L1 Conforme
    1.2.22 Assicurati che l'argomento --service-account-lookup sia impostato su true (automatico) L1 Conforme
    1.2.23 Assicurati che l'argomento --service-account-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.24 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.25 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.26 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.27 Assicurati che l'argomento --etcd-cafile sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.28 Assicurati che l'argomento --encryption-provider-config sia impostato come appropriato (Manuale) L1 Conforme
    1.2.29 Assicurati che i provider di crittografia siano configurati in modo appropriato (manuale) L1 Conforme
    1.2.30 Assicurati che il server API utilizzi solo crittografie crittografiche efficaci (manuali) L1 Conforme
    1,30 Responsabile del titolare
    1.3.1 Assicurati che l'argomento --terminated-pod-gc-threshold sia impostato come appropriato (Manuale) L1 Conforme
    1.3.2 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.3.3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true (automatico) L1 Conforme
    1.3.4 Assicurati che l'argomento --service-account-private-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.5 Assicurati che l'argomento --root-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.6 Assicurati che l'argomento PivotKubeletServerCertificate sia impostato su true (Automated) (Automatico) L2 Conforme
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso
    1,40 Programmatore
    1.4.1 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso
    2 cis-1.8
    2 Configurazione del nodo Etcd
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true (automatico) L1 Conforme
    2.3 Assicurati che l'argomento --auto-tls non sia impostato su true (automatico) L1 Conforme
    2,4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2,5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true (automatico) L1 Conforme
    2,6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true (automatico) L1 Conforme
    2.7 Assicurati di utilizzare un'autorità di certificazione univoca per etcd (manuale) L2 Conforme
    3 cis-1.8
    3,10 Autenticazione e autorizzazione
    3.1.1 L'autenticazione del certificato client non deve essere utilizzata per gli utenti (manuale) L2 Conforme
    3.1.2 L'autenticazione del token dell'account di servizio non deve essere utilizzata per gli utenti (manuale) L1 Conforme
    3.1.3 L'autenticazione del token di bootstrap non deve essere utilizzata per gli utenti (manuale) L1 Conforme
    3,20 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo (manuale) L1 Conforme
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente
    4 cis-1.8
    4,10 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni dei file del servizio kubelet siano impostate su 600 o più restrittive (automatiche) L1 Non conforme
    4.1.2 Assicurati che la proprietà dei file del servizio kubelet sia impostata su root:root (Automatico) L1 Conforme
    4.1.3 Se esiste un file kubeconfig del proxy, assicurati che le autorizzazioni siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Conforme
    4.1.4 Se esiste un file kubeconfig del proxy, assicurati che la proprietà sia impostata su root:root (Manuale) L1 Conforme
    4.1.5 Assicurati che le autorizzazioni del file kubelet.conf --kubeconfig siano impostate su 600 o più restrittive (automatiche) L1 Conforme
    4.1.6 Assicurati che la proprietà del file kubelet.conf --kubeconfig sia impostata su root:root (Automatico) L1 Conforme
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 600 o più restrittive (Manuale) L1 Non conforme
    4.1.8 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root (manuale) L1 Conforme
    4.1.9 Se il file di configurazione YAML kubelet config. viene utilizzato, convalida le autorizzazioni impostate su 600 o su un valore più restrittivo (automatico) L1 Non conforme
    4.1.10 Se il file di configurazione YAML kubelet config. viene utilizzato, convalida la proprietà del file è impostato su root:root (automatico) L1 Conforme
    4,20 Kubelet
    4.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Automatico) L1 Conforme
    4.2.2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    4.2.4 Verifica che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Conforme
    4.2.5 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 (Manuale) L1 Conforme
    4.2.6 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Non conforme
    4.2.7 Assicurati che l'argomento --hostname-override non sia impostato (Manuale) L1 Conforme
    4.2.8 Assicurati che l'argomento eventRecordQPS sia impostato su un livello che garantisca l'acquisizione appropriata degli eventi (manuale) L1 Conforme
    4.2.9 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L2 Controllo equivalente
    4.2.10 Assicurati che l'argomento --rotate-certificates non sia impostato su false (automatico) L1 Controllo equivalente
    4.2.11 Verifica che l'argomento RuotaKubeletServerCertificate sia impostato su true (Manuale) L1 Conforme
    4.2.12 Assicurati che Kubelet utilizzi solo crittografie crittografiche efficaci (manuale) L1 Conforme
    4.2.13 Assicurati che sia impostato un limite per i PID dei pod (manuale) L1 Avviso

    1,28

    # Suggerimento Livello Stato
    1 cis-1.7
    1,10 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 600 o più restrittive (automatizzate) L1 Conforme
    1.1.2 Assicurati che la proprietà del file delle specifiche dei pod del server API sia impostata su root:root (Automatico) L1 Conforme
    1.1.3 Assicurati che le autorizzazioni dei file delle specifiche dei pod del gestore del controller siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.4 Assicurati che la proprietà del file delle specifiche del pod del gestore del controller sia impostata su root:root (Automatico) L1 Conforme
    1.1.5 Assicurati che le autorizzazioni dei file delle specifiche dei pod dello scheduler siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.6 Assicurati che la proprietà del file delle specifiche dei pod dello scheduler sia impostata su root:root (Automatico) L1 Conforme
    1.1.7 Assicurati che le autorizzazioni dei file delle specifiche dei pod etcd siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.8 Assicurati che la proprietà del file delle specifiche del pod etcd sia impostata su root:root (Automatico) L1 Conforme
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Controllo equivalente
    1.1.10 Assicurati che la proprietà del file dell'interfaccia di rete del container sia impostata su root:root (Manuale) L1 Conforme
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente
    1.1.13 Assicurati che le autorizzazioni del file di configurazione.di amministrazione siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.14 Assicurati che la proprietà del file di configurazione.di amministratore sia impostata su root:root (Automatico) L1 Conforme
    1.1.15 Assicurati che le autorizzazioni del file conf del scheduler. siano impostate su 600 o su un valore più restrittivo (automatico) L1 Conforme
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.17 Assicurati che le autorizzazioni del file di configurazione.controller-manager siano impostate su 600 o su un valore più restrittivo (automatizzato) L1 Conforme
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 600 o più restrittive (Manuale) L1 Controllo equivalente
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente
    1,20 Server API
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso
    1.2.2 Assicurati che il parametro --token-auth-file non sia impostato (Automatico) L1 Conforme
    1.2.3 Assicurati che --DenyServiceExternalIPs sia impostato (Manuale) L1 Controllo equivalente
    1.2.4 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.5 Assicurati che l'argomento --kubelet-certificate-authority sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.6 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    1.2.7 Assicurati che l'argomento --authorization-mode includa il nodo (automatico) L1 Conforme
    1.2.8 Assicurati che l'argomento --authorization-mode includa RBAC (automatico) L1 Conforme
    1.2.9 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso
    1.2.10 Assicurati che il plug-in di controllo di ammissione AlwaysAdmit non sia impostato (automatico) L1 Conforme
    1.2.11 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso
    1.2.12 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso
    1.2.13 Assicurati che il plug-in di controllo di ammissione ServiceAccount sia impostato (automatico) L1 Avviso
    1.2.14 Assicurati che il plug-in di controllo di ammissione NamespaceLifecycle sia impostato (automatico) L1 Conforme
    1.2.15 Assicurati che il plug-in di controllo di ammissione NodeRestriction sia impostato (automatico) L1 Conforme
    1.2.16 Assicurati che l'argomento --secure-port non sia impostato su 0. Nota: questo suggerimento è obsoleto e verrà eliminato in base alla procedura di consenso (manuale) L1 Conforme
    1.2.17 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.2.18 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Conforme
    1.2.19 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Conforme
    1.2.20 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Non conforme
    1.2.21 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Conforme
    1.2.22 Assicurati che l'argomento --request-timeout sia impostato come appropriato (Manuale) L1 Conforme
    1.2.23 Assicurati che l'argomento --service-account-lookup sia impostato su true (automatico) L1 Conforme
    1.2.24 Assicurati che l'argomento --service-account-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.25 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.26 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.27 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.28 Assicurati che l'argomento --etcd-cafile sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.29 Assicurati che l'argomento --encryption-provider-config sia impostato come appropriato (Manuale) L1 Conforme
    1.2.30 Assicurati che i provider di crittografia siano configurati in modo appropriato (manuale) L1 Conforme
    1.2.31 Assicurati che il server API utilizzi solo crittografie crittografiche efficaci (manuali) L1 Conforme
    1,30 Responsabile del titolare
    1.3.1 Assicurati che l'argomento --terminated-pod-gc-threshold sia impostato come appropriato (Manuale) L1 Conforme
    1.3.2 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.3.3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true (automatico) L1 Conforme
    1.3.4 Assicurati che l'argomento --service-account-private-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.5 Assicurati che l'argomento --root-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.6 Assicurati che l'argomento PivotKubeletServerCertificate sia impostato su true (Automated) (Automatico) L2 Conforme
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso
    1,40 Programmatore
    1.4.1 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso
    2 cis-1.7
    2 Configurazione del nodo Etcd
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true (automatico) L1 Conforme
    2.3 Assicurati che l'argomento --auto-tls non sia impostato su true (automatico) L1 Conforme
    2,4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2,5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true (automatico) L1 Conforme
    2,6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true (automatico) L1 Conforme
    2.7 Assicurati di utilizzare un'autorità di certificazione univoca per etcd (manuale) L2 Conforme
    3 cis-1.7
    3,10 Autenticazione e autorizzazione
    3.1.1 L'autenticazione del certificato client non deve essere utilizzata per gli utenti (manuale) L2 Conforme
    3.1.2 L'autenticazione del token dell'account di servizio non deve essere utilizzata per gli utenti (manuale) L1 Conforme
    3.1.3 L'autenticazione del token di bootstrap non deve essere utilizzata per gli utenti (manuale) L1 Conforme
    3,20 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo (manuale) L1 Conforme
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente
    4 cis-1.7
    4,10 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni dei file del servizio kubelet siano impostate su 600 o più restrittive (automatiche) L1 Non conforme
    4.1.2 Assicurati che la proprietà dei file del servizio kubelet sia impostata su root:root (Automatico) L1 Conforme
    4.1.3 Se esiste un file kubeconfig del proxy, assicurati che le autorizzazioni siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Conforme
    4.1.4 Se esiste un file kubeconfig del proxy, assicurati che la proprietà sia impostata su root:root (Manuale) L1 Conforme
    4.1.5 Assicurati che le autorizzazioni del file kubelet.conf --kubeconfig siano impostate su 600 o più restrittive (automatiche) L1 Conforme
    4.1.6 Assicurati che la proprietà del file kubelet.conf --kubeconfig sia impostata su root:root (Automatico) L1 Conforme
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 600 o più restrittive (Manuale) L1 Non conforme
    4.1.8 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root (manuale) L1 Conforme
    4.1.9 Se viene utilizzato il file di configurazione YAML kubelet config., convalida le autorizzazioni impostate su 600 o su un valore più restrittivo (manuale) L1 Non conforme
    4.1.10 Se il file di configurazione YAML kubelet config.viene utilizzato, la proprietà del file è impostata su root:root (manuale) L1 Conforme
    4,20 Kubelet
    4.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Automatico) L1 Conforme
    4.2.2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    4.2.4 Verifica che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Conforme
    4.2.5 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 (Manuale) L1 Conforme
    4.2.6 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Non conforme
    4.2.7 Assicurati che l'argomento --hostname-override non sia impostato (Manuale) L1 Conforme
    4.2.8 Assicurati che l'argomento eventRecordQPS sia impostato su un livello che garantisca l'acquisizione appropriata degli eventi (manuale) L1 Conforme
    4.2.9 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L2 Controllo equivalente
    4.2.10 Assicurati che l'argomento --rotate-certificates non sia impostato su false (automatico) L1 Controllo equivalente
    4.2.11 Verifica che l'argomento RuotaKubeletServerCertificate sia impostato su true (Manuale) L1 Conforme
    4.2.12 Assicurati che Kubelet utilizzi solo crittografie crittografiche efficaci (manuale) L1 Conforme
    4.2.13 Assicurati che sia impostato un limite per i PID dei pod (manuale) L1 Avviso

    1,16

    # Suggerimento Livello Stato
    1 cis-1.23
    1,10 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 (automatizzate) L1 Conforme
    1.1.2 Assicurati che la proprietà del file delle specifiche dei pod del server API sia impostata su root:root (Automatico) L1 Conforme
    1.1.3 Assicurati che le autorizzazioni dei file delle specifiche dei pod del gestore del controller siano impostate su 644 o più restrittive (automatizzate) L1 Conforme
    1.1.4 Assicurati che la proprietà del file delle specifiche del pod del gestore del controller sia impostata su root:root (Automatico) L1 Conforme
    1.1.5 Assicurati che le autorizzazioni dei file delle specifiche dei pod dello scheduler siano impostate su 644 o più restrittive (automatizzate) L1 Conforme
    1.1.6 Assicurati che la proprietà del file delle specifiche dei pod dello scheduler sia impostata su root:root (Automatico) L1 Conforme
    1.1.7 Assicurati che le autorizzazioni dei file delle specifiche dei pod etcd siano impostate su 644 o più restrittive (automatizzate) L1 Conforme
    1.1.8 Assicurati che la proprietà del file delle specifiche del pod etcd sia impostata su root:root (Automatico) L1 Conforme
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 644 o su un valore più restrittivo (Manuale) L1 Controllo equivalente
    1.1.10 Assicurati che la proprietà del file dell'interfaccia di rete del container sia impostata su root:root (Manuale) L1 Conforme
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente
    1.1.13 Assicurati che le autorizzazioni del file di configurazione.di amministrazione siano impostate su 600 o più restrittive (automatizzate) L1 Conforme
    1.1.14 Assicurati che la proprietà del file di configurazione.di amministratore sia impostata su root:root (Automatico) L1 Conforme
    1.1.15 Assicurati che le autorizzazioni del file conf del scheduler. siano impostate su 644 o su un valore più restrittivo (automatico) L1 Conforme
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.17 Assicurati che le autorizzazioni del file di configurazione.controller-manager siano impostate su 644 o su un valore più restrittivo (automatizzato) L1 Conforme
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 644 o più restrittive (Manuale) L1 Conforme
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente
    1,20 Server API
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso
    1.2.2 Assicurati che il parametro --token-auth-file non sia impostato (Automatico) L1 Conforme
    1.2.3 Assicurati che --DenyServiceExternalIPs non sia impostato (automatico) L1 Conforme
    1.2.4 Assicurati che l'argomento --kubelet-https sia impostato su true (automatico) L1 Conforme
    1.2.5 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.6 Assicurati che l'argomento --kubelet-certificate-authority sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.7 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    1.2.8 Assicurati che l'argomento --authorization-mode includa il nodo (automatico) L1 Conforme
    1.2.9 Assicurati che l'argomento --authorization-mode includa RBAC (automatico) L1 Conforme
    1.2.10 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso
    1.2.11 Assicurati che il plug-in di controllo di ammissione AlwaysAdmit non sia impostato (automatico) L1 Conforme
    1.2.12 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso
    1.2.13 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso
    1.2.14 Assicurati che il plug-in di controllo di ammissione ServiceAccount sia impostato (automatico) L1 Conforme
    1.2.15 Assicurati che il plug-in di controllo di ammissione NamespaceLifecycle sia impostato (automatico) L1 Conforme
    1.2.16 Assicurati che il plug-in di controllo di ammissione NodeRestriction sia impostato (automatico) L1 Conforme
    1.2.17 Assicurati che l'argomento --secure-port non sia impostato su 0 (Automatico) L1 Conforme
    1.2.18 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.2.19 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Non conforme
    1.2.20 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Non conforme
    1.2.21 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Non conforme
    1.2.22 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Non conforme
    1.2.23 Assicurati che l'argomento --request-timeout sia impostato come appropriato (Manuale) L1 Conforme
    1.2.24 Assicurati che l'argomento --service-account-lookup sia impostato su true (automatico) L1 Conforme
    1.2.25 Assicurati che l'argomento --service-account-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.26 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.27 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    1.2.28 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.29 Assicurati che l'argomento --etcd-cafile sia impostato in modo appropriato (automatico) L1 Conforme
    1.2.30 Assicurati che l'argomento --encryption-provider-config sia impostato come appropriato (Manuale) L1 Conforme
    1.2.31 Assicurati che i provider di crittografia siano configurati in modo appropriato (manuale) L1 Conforme
    1.2.32 Assicurati che il server API utilizzi solo crittografie crittografiche efficaci (manuali) L1 Conforme
    1,30 Responsabile del titolare
    1.3.1 Assicurati che l'argomento --terminated-pod-gc-threshold sia impostato come appropriato (Manuale) L1 Conforme
    1.3.2 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.3.3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true (automatico) L1 Conforme
    1.3.4 Assicurati che l'argomento --service-account-private-key-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.5 Assicurati che l'argomento --root-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    1.3.6 Assicurati che l'argomento PivotKubeletServerCertificate sia impostato su true (Automated) (Automatico) L2 Conforme
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Conforme
    1,40 Programmatore
    1.4.1 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Conforme
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Conforme
    2 cis-1.23
    2 Configurazione del nodo Etcd
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true (automatico) L1 Conforme
    2.3 Assicurati che l'argomento --auto-tls non sia impostato su true (automatico) L1 Conforme
    2,4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati in modo appropriato (automatico) L1 Conforme
    2,5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true (automatico) L1 Conforme
    2,6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true (automatico) L1 Conforme
    2.7 Assicurati di utilizzare un'autorità di certificazione univoca per etcd (manuale) L2 Conforme
    3 cis-1.23
    3,10 Autenticazione e autorizzazione
    3.1.1 L'autenticazione del certificato client non deve essere utilizzata per gli utenti (manuale) L2 Conforme
    3,20 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo (manuale) L1 Conforme
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente
    4 cis-1.23
    4,10 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni dei file del servizio kubelet siano impostate su 644 o più restrittive (automatiche) L1 Conforme
    4.1.2 Assicurati che la proprietà dei file del servizio kubelet sia impostata su root:root (Automatico) L1 Conforme
    4.1.3 Se esiste un file kubeconfig del proxy, assicurati che le autorizzazioni siano impostate su 644 o su un valore più restrittivo (Manuale) L1 Conforme
    4.1.4 Se esiste un file kubeconfig del proxy, assicurati che la proprietà sia impostata su root:root (Manuale) L1 Conforme
    4.1.5 Assicurati che le autorizzazioni del file kubelet.conf --kubeconfig siano impostate su 644 o più restrittive (automatiche) L1 Conforme
    4.1.6 Assicurati che la proprietà del file kubelet.conf --kubeconfig sia impostata su root:root (Automatico) L1 Conforme
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 644 o più restrittive (Manuale) L1 Conforme
    4.1.8 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root (manuale) L1 Conforme
    4.1.9 Assicurati che le autorizzazioni del file di configurazione --config di kubelet siano impostate su 644 o più restrittive (automatiche) L1 Conforme
    4.1.10 Assicurati che la proprietà del file di configurazione di kubelet --config sia impostata su root:root (Automatico) L1 Conforme
    4,20 Kubelet
    4.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Automatico) L1 Conforme
    4.2.2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automated) L1 Conforme
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato in modo appropriato (automatico) L1 Conforme
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non conforme
    4.2.5 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 (Manuale) L1 Conforme
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non conforme
    4.2.7 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Conforme
    4.2.8 Assicurati che l'argomento --hostname-override non sia impostato (Manuale) L1 Conforme
    4.2.9 Assicurati che l'argomento --event-qps sia impostato su 0 o su un livello che garantisca l'acquisizione appropriata degli eventi (manuale) L2 Avviso
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L1 Controllo equivalente
    4.2.11 Assicurati che l'argomento --rotate-certificates non sia impostato su false (automatico) L1 Conforme
    4.2.12 Verifica che l'argomento RuotaKubeletServerCertificate sia impostato su true (Manuale) L1 Conforme
    4.2.13 Assicurati che Kubelet utilizzi solo crittografie crittografiche efficaci (manuale) L1 Controllo equivalente

    Errori e controlli equivalenti per un cluster di amministrazione Google Distributed Cloud:

    1,29

    # Suggerimento Livello Stato Valore Motivazione
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Controllo equivalente 755 Il percorso dell'interfaccia di rete del container Anthos clusters on bare metal è /opt/cni/bin e la relativa autorizzazione è impostata su 755 per il normale funzionamento del cluster.
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente 755 La directory dei dati etcd ha le autorizzazioni 755 predefinite, ma le relative sottodirectory sono 700.
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente 2003:2003 La directory dei dati etcd, /var/lib/etcd, è di proprietà di 2003:2003 grazie al piano di controllo senza root per una maggiore sicurezza.
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente 2002:2002 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente 2001:2001 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente variable:variable Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 600 o più restrittive (Manuale) L1 Controllo equivalente 644 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente 600~640 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso non impostato Alcune operazioni di Anthos clusters on bare metal, come l'alta disponibilità, richiedono l'abilitazione dell'autenticazione anonima.
    1.2.3 Assicurati che --DenyServiceExternalIPs sia impostato (Manuale) L1 Controllo equivalente non impostato Abilitato per impostazione predefinita in Kubernetes v1.25 e versioni successive.
    1.2.9 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso non impostato Da correggere nelle release future.
    1.2.11 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso non impostato Il controller di ammissione AlwaysPullImages fornisce una certa protezione per le immagini di registro private nei cluster multitenant non cooperativi, al costo di rendere i registri di container un single point of failure per la creazione di nuovi pod nell'intero cluster. Anthos clusters on bare metal non abilita il controller di ammissione AlwaysPullImages, perciò gli amministratori del cluster devono implementare i criteri di ammissione per ottenere questo compromesso autonomamente.
    1.2.12 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso non impostato Anthos clusters on bare metal non abilita il criterio di sicurezza dei pod. L'ammissione della sicurezza dei pod è abilitata per impostazione predefinita nei cluster Kubernetes 1.23; consulta https://kubernetes.io/docs/concepts/security/pod-security-admission/
    1.2.13 Assicurati che il plug-in di controllo di ammissione ServiceAccount sia impostato (automatico) L1 Avviso non impostato Da correggere nelle release future.
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso non impostato Da correggere nelle release future.
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso non impostato Da correggere nelle release future.
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente non impostato Anthos clusters on bare metal acquisisce gli audit log, ma non utilizza questi flag per i controlli e altre informazioni su logging e monitoraggio.
    4.1.1 Assicurati che le autorizzazioni dei file del servizio kubelet siano impostate su 600 o più restrittive (automatiche) L1 Non conforme 644 Da correggere nelle release future.
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 600 o più restrittive (Manuale) L1 Non conforme 644 Da correggere nelle release future.
    4.1.9 Se il file di configurazione YAML kubelet config. viene utilizzato, convalida le autorizzazioni impostate su 600 o su un valore più restrittivo (automatico) L1 Non conforme 644 Da correggere nelle release future.
    4.2.6 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Non conforme false Le macchine cluster Anthos on Bare Metal non proteggono i valori predefiniti del kernel da Kubernetes, poiché i carichi di lavoro dei clienti potrebbero modificarli.
    4.2.9 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L2 Controllo equivalente non impostato Anthos clusters on bare metal gestisce il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.
    4.2.10 Assicurati che l'argomento --rotate-certificates non sia impostato su false (automatico) L1 Controllo equivalente non impostato Anthos clusters on bare metal gestisce il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.
    4.2.13 Assicurati che sia impostato un limite per i PID dei pod (manuale) L1 Avviso non impostato Il kubelet --pod-max-pids di Anthos clusters on bare metal non è impostato per impostazione predefinita, perciò non esiste alcun limite esplicito al numero di PID che un pod può utilizzare. Il pod eredita il limite PID complessivo dell'host, che in genere è impostato dal parametro kernel pid_max del sistema operativo. Il sistema operativo è di proprietà dell'utente.

    1,28

    # Suggerimento Livello Stato Valore Motivazione
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 600 o su un valore più restrittivo (Manuale) L1 Controllo equivalente 755 Il percorso dell'interfaccia di rete del container Anthos clusters on bare metal è /opt/cni/bin e la relativa autorizzazione è impostata su 755 per il normale funzionamento del cluster.
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente 755 La directory dei dati etcd ha le autorizzazioni 755 predefinite, ma le relative sottodirectory sono 700.
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente 2003:2003 La directory dei dati etcd, /var/lib/etcd, è di proprietà di 2003:2003 grazie al piano di controllo senza root per una maggiore sicurezza.
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente 2002:2002 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente 2001:2001 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente variable:variable Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 600 o più restrittive (Manuale) L1 Controllo equivalente 644 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente 600~640 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso non impostato Alcune operazioni di Anthos clusters on bare metal, come l'alta disponibilità, richiedono l'abilitazione dell'autenticazione anonima.
    1.2.3 Assicurati che --DenyServiceExternalIPs sia impostato (Manuale) L1 Controllo equivalente non impostato Abilitato per impostazione predefinita in Kubernetes v1.25 e versioni successive.
    1.2.9 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso non impostato Da correggere nelle release future.
    1.2.11 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso non impostato Il controller di ammissione AlwaysPullImages fornisce una certa protezione per le immagini di registro private nei cluster multitenant non cooperativi, al costo di rendere i registri di container un single point of failure per la creazione di nuovi pod nell'intero cluster. Anthos clusters on bare metal non abilita il controller di ammissione AlwaysPullImages, perciò gli amministratori del cluster devono implementare i criteri di ammissione per ottenere questo compromesso autonomamente.
    1.2.12 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso non impostato Anthos clusters on bare metal non abilita il criterio di sicurezza dei pod. L'ammissione della sicurezza dei pod è abilitata per impostazione predefinita nei cluster Kubernetes 1.23; consulta https://kubernetes.io/docs/concepts/security/pod-security-admission/
    1.2.13 Assicurati che il plug-in di controllo di ammissione ServiceAccount sia impostato (automatico) L1 Avviso non impostato Da correggere nelle release future.
    1.2.20 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Non conforme 1 Da correggere nelle release future.
    1.3.7 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso non impostato Da correggere nelle release future.
    1.4.2 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Avviso non impostato Da correggere nelle release future.
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente non impostato Anthos clusters on bare metal acquisisce gli audit log, ma non utilizza questi flag per i controlli e altre informazioni su logging e monitoraggio.
    4.1.1 Assicurati che le autorizzazioni dei file del servizio kubelet siano impostate su 600 o più restrittive (automatiche) L1 Non conforme 644 Da correggere nelle release future.
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su 600 o più restrittive (Manuale) L1 Non conforme 644 Da correggere nelle release future.
    4.1.9 Se viene utilizzato il file di configurazione YAML kubelet config., convalida le autorizzazioni impostate su 600 o su un valore più restrittivo (manuale) L1 Non conforme 644 Da correggere nelle release future.
    4.2.6 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Non conforme false Le macchine cluster Anthos on Bare Metal non proteggono i valori predefiniti del kernel da Kubernetes, poiché i carichi di lavoro dei clienti potrebbero modificarli.
    4.2.9 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L2 Controllo equivalente non impostato Anthos clusters on bare metal gestisce il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.
    4.2.10 Assicurati che l'argomento --rotate-certificates non sia impostato su false (automatico) L1 Controllo equivalente non impostato Anthos clusters on bare metal gestisce il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.
    4.2.13 Assicurati che sia impostato un limite per i PID dei pod (manuale) L1 Avviso non impostato Il kubelet --pod-max-pids di Anthos clusters on bare metal non è impostato per impostazione predefinita, perciò non esiste alcun limite esplicito al numero di PID che un pod può utilizzare. Il pod eredita il limite PID complessivo dell'host, che in genere è impostato dal parametro kernel pid_max del sistema operativo. Il sistema operativo è di proprietà dell'utente.

    1,16

    # Suggerimento Livello Stato Valore Motivazione
    1.1.9 Assicurati che le autorizzazioni dei file dell'interfaccia di rete del container siano impostate su 644 o su un valore più restrittivo (Manuale) L1 Controllo equivalente 755 Il percorso dell'interfaccia di rete del container Anthos clusters on bare metal è /opt/cni/bin e la relativa autorizzazione è impostata su 755 per il normale funzionamento del cluster.
    1.1.11 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su 700 o su un valore più restrittivo (automatico) L1 Controllo equivalente 755 La directory dei dati etcd ha le autorizzazioni 755 predefinite, ma le relative sottodirectory sono 700.
    1.1.12 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (Automatico) L1 Controllo equivalente 2003:2003 La directory dei dati etcd, /var/lib/etcd, è di proprietà di 2003:2003 grazie al piano di controllo senza root per una maggiore sicurezza.
    1.1.16 Assicurati che la proprietà del file di configurazione.del programma di pianificazione sia impostata su root:root (Automatico) L1 Controllo equivalente 2002:2002 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.18 Assicurati che la proprietà del file di configurazione.controller-manager sia impostata su root:root (Automatico) L1 Controllo equivalente 2001:2001 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.19 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Controllo equivalente variable:variable Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.1.21 Assicurati che le autorizzazioni del file di chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Controllo equivalente 600~640 Anthos clusters on bare metal, a partire dalla release 1.9.0, implementa il piano di controllo rootless per una maggiore sicurezza.
    1.2.1 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Avviso non impostato Alcune operazioni di Anthos clusters on bare metal, come l'alta disponibilità, richiedono l'abilitazione dell'autenticazione anonima.
    1.2.10 Assicurati che il plug-in di controllo di ammissione EventRateLimit sia impostato (Manuale) L1 Avviso
    1.2.12 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Avviso non impostato Il controller di ammissione AlwaysPullImages fornisce una certa protezione per le immagini di registro private nei cluster multitenant non cooperativi, al costo di rendere i registri di container un single point of failure per la creazione di nuovi pod nell'intero cluster. Anthos clusters on bare metal non abilita il controller di ammissione AlwaysPullImages, perciò gli amministratori del cluster devono implementare i criteri di ammissione per ottenere questo compromesso autonomamente.
    1.2.13 Assicurati che il plug-in per il controllo di ammissione SecurityContextDeny sia impostato se non viene utilizzato PodSecurityPolicy (manuale) L1 Avviso non impostato Anthos clusters on bare metal non abilita il criterio di sicurezza dei pod. L'ammissione della sicurezza dei pod è abilitata per impostazione predefinita nei cluster Kubernetes 1.23; consulta https://kubernetes.io/docs/concepts/security/pod-security-admission/
    1.2.19 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Non conforme non impostato per impostazione predefinita; imposta /var/log/apiserver/audit.log solo se l'audit logging di Cloud è disabilitato Per impostazione predefinita, i cluster Anthos clusters on bare metal inviano gli audit log del server API Kubernetes a Google Cloud.
    1.2.20 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Non conforme non impostato per impostazione predefinita; imposta 30 solo se l'audit logging di Cloud è disabilitato Per impostazione predefinita, i cluster Anthos clusters on bare metal inviano gli audit log del server API Kubernetes a Google Cloud.
    1.2.21 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Non conforme non impostato per impostazione predefinita, imposta 10 solo se l'audit logging di Cloud è disabilitato Per impostazione predefinita, i cluster Anthos clusters on bare metal inviano gli audit log del server API Kubernetes a Google Cloud.
    1.2.22 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Non conforme non impostato per impostazione predefinita, imposta 100 solo se l'audit logging di Cloud è disabilitato Per impostazione predefinita, i cluster Anthos clusters on bare metal inviano gli audit log del server API Kubernetes a Google Cloud.
    3.2.2 Assicurati che il criterio di controllo copra i principali problemi di sicurezza (manuale) L2 Controllo equivalente non impostato Anthos clusters on bare metal acquisisce gli audit log, ma non utilizza questi flag per i controlli e altre informazioni su logging e monitoraggio.
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non conforme 10255 Anthos clusters on bare metal imposta attualmente l'argomento --read-only-port su 10255 per la raccolta di metriche da kubelet.
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non conforme false Le macchine cluster Anthos on Bare Metal non proteggono i valori predefiniti del kernel da Kubernetes, poiché i carichi di lavoro dei clienti potrebbero modificarli.
    4.2.9 Assicurati che l'argomento --event-qps sia impostato su 0 o su un livello che garantisca l'acquisizione appropriata degli eventi (manuale) L2 Avviso non impostato Gli eventi sono oggetti Kubernetes archiviati in etcd. Per evitare di sovraccaricare gli etcd, vengono conservati solo per un'ora e non sono un meccanismo di controllo di sicurezza appropriato. Se consenti eventi illimitati, come suggerito in questo controllo, il cluster viene esposto a rischi DoS non necessari e contraddice il suggerimento di utilizzare admission EventRateLimits. Gli eventi rilevanti per la sicurezza che richiedono spazio di archiviazione permanente devono essere inviati ai log.
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati in modo appropriato (manuale) L1 Controllo equivalente non impostato Anthos clusters on bare metal gestisce il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.
    4.2.13 Assicurati che Kubelet utilizzi solo crittografie crittografiche efficaci (manuale) L1 Controllo equivalente Nei nodi Anthos clusters on bare metal, kubelet utilizza le suite di crittografia Go predefinite. Anthos clusters on bare metal non offre opzioni di configurazione che consentono all'utente di personalizzare la selezione delle suite di crittografia. Tieni presente che i client moderni negoziano suite di crittografia e non utilizzeranno le crittografie deboli se sono disponibili crittografie più efficaci.

    Come controllare i benchmark

    Le istruzioni specifiche per il controllo di ciascun suggerimento sono disponibili nell'ambito del CIS Benchmark pertinente. Tuttavia, ti consigliamo di automatizzare alcuni di questi controlli per semplificarne la verifica nel tuo ambiente. Strumenti come quello elencato nella sezione seguente possono esserti utili.

    Controllo automatico del CIS Kubernetes Benchmark

    Puoi utilizzare uno strumento open source kube-bench per testare la configurazione del cluster rispetto al CIS Kubernetes Benchmark.

    Assicurati di specificare la versione appropriata, come mostrato nell'esempio seguente:

    kube-bench node --benchmark cis-1.8