Benchmark CIS Kubernetes

Questo documento introduce il benchmark Kubernetes CIS, spiega come controllare la tua conformità al benchmark e spiega cosa configurano i cluster Anthos su VMware (GKE on-prem) quando non puoi implementare un suggerimento autonomamente.

Informazioni sui benchmark CIS

Il Center for Internet Security (CIS) rilascia benchmark per consigli sulla best practice per la sicurezza. Il Benchmark di Kubernetes CIS fornisce una serie di suggerimenti per la configurazione di Kubernetes e supportare una solida strategia di sicurezza. Il benchmark è legato a una specifica versione di Kubernetes. Il benchmark Kubernetes CIS è stato scritto per la distribuzione Kubernetes open source ed è pensato per essere il più universale possibile nelle distribuzioni.

Versioni

I numeri di versione di benchmark diversi potrebbero non essere gli stessi. Questo documento fa riferimento alle seguenti versioni:

Versione Anthos Versione di Kubernetes Versione benchmark CIS Kubernetes
1,9 1,21,5 1.6

Utilizzare il benchmark CIS Kubernetes

Accedere al benchmark

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

Livelli di consiglio

La tabella seguente descrive i livelli di suggerimenti nel benchmark Kubernetes CIS.

Livello Descrizione
Livello 1

I consigli hanno lo scopo di:

  • essere pratici e prudenti;
  • Fornire un chiaro vantaggio in termini di sicurezza; e
  • non inibire l'utilità della tecnologia al di là dei 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;
  • fungere da misura di profondità; oppure
  • potrebbe inibire negativamente l'utilità o le prestazioni della tecnologia.
  • Stato della valutazione

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

    Punteggio Descrizione
    Automatico Rappresenta i suggerimenti per la valutazione completa di un controllo tecnico e la convalida a uno stato di superamento/errore. I consigli includono 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 alcuni 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 cluster Anthos su VMware

    Utilizziamo i seguenti valori per specificare lo stato dei suggerimenti Kubernetes nei cluster Anthos su VMware.

    Stato Descrizione
    Superate Conforme a un consiglio relativo ai benchmark.
    Non superate Non è conforme a un consiglio basato su benchmark.
    Controllo equivalente Non rispetta i termini esatti nel suggerimento di benchmark, ma esistono altri meccanismi nei cluster Anthos su VMware per fornire controlli di sicurezza equivalenti.
    Dipende dall'ambiente I cluster Anthos su VMware non configurano elementi correlati a questo suggerimento. La configurazione dell'utente determina se il suo ambiente è conforme a un consiglio di benchmark.

    Cluster Anthos sull'architettura VMware

    I cluster Anthos su VMware utilizzano un cluster amministratore per gestire uno o più cluster utente che eseguono carichi di lavoro Kubernetes effettivi. Maggiori informazioni su questa architettura sono disponibili nella panoramica di Anthos Anthos su VMware. La configurazione di cluster di utenti e di amministratori viene valutata in base ai benchmark seguenti.

    Stato dei cluster Anthos su VMware

    Quando crei un nuovo cluster in Cluster Anthos su VMware con la versione specificata, scopri le sue prestazioni rispetto al benchmark CIS Kubernetes.

    Stato dei cluster Anthos sul cluster di amministrazione VMware

    # Suggerimento Livello Stato
    1 Configurazione della sicurezza dei nodi master
    1,1 File di configurazione dei nodi master
    1,1,1 Assicurati che le autorizzazioni dei file della specifica dei pod del server API siano impostate su un valore pari o superiore a 644 (automatico) L1 Superate
    1,1 Assicurati che la proprietà del file della specifica del pod del server API sia impostata su root:root (automatica) L1 Superate
    1,1,3 Assicurati che le autorizzazioni dei file della specifica dei pod del gestore controller siano impostate su 644 o su un livello più restrittivo (automatico) L1 Superate
    1,1 Assicurati che la proprietà del file della specifica del pod del gestore controller sia impostata su root:root (automatica) L1 Superate
    1,1,5 Assicurati che le autorizzazioni del file della specifica dei pod dello scheduler siano impostate su 644 o su un livello più restrittivo (automatico) L1 Superate
    1,1 Assicurati che la proprietà del file della specifica del pod dello scheduler sia impostata su root:root (automatica) L1 Superate
    1,1,7 Assicurati che le autorizzazioni del file della specifica del pod etcd siano impostate su un valore pari o superiore a 644 (automatico) L1 Superate
    1,1,8 Assicurati che la proprietà del file della specifica del pod etcd sia impostata su root:root (automatica) L1 Superate
    1,1 Assicurati che le autorizzazioni del file Container Network Interface siano impostate su 644 o più restrittive (Manuale) L1 Superate
    1,1 Assicurati che la proprietà del file di Container Network Interface sia impostata su root:root (Manuale) L1 Superate
    1,1 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su un valore pari o superiore a 700 (automatico) L1 Superate
    1,1 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (automatica) L1 Controllo equivalente
    1,1,13 Assicurati che le autorizzazioni dell'amministratore.conf. file siano impostate su 644 o più restrittive (automatiche) L1 Superate
    1,1,14 Assicurati che l'amministratore.proprietà del file conf sia impostata su root:root (automatico) L1 Superate
    1,1 Assicurati che le autorizzazioni del file .conf scheduler siano impostate su 644 o più restrittive (Automatico) L1 Superate
    1,1,16 Assicurati che la proprietà del file dello scheduler.conf sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1,17 Assicurati che le autorizzazioni del file controller-manager.conf siano impostate su 644 o più restrittive (automatiche) L1 Superate
    1,1 Assicurati che la proprietà del file controller-manager.conf sia impostata su root:root (automatico) L1 Superate
    1,1 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Superate
    1,1,20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 644 o un livello più restrittivo (manuale) L1 Superate
    1,1,21 Assicurati che le autorizzazioni del file della chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Superate
    1,2 Server API
    1,2 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Non superate
    1,2 Assicurati che il parametro --token-auth-file non sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --kubelet-https sia impostato su true (automatico) L1 Superate
    1,2 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati correttamente (automatico) L1 Superate
    1,2 Assicurati che l'argomento --kubelet-certificate-authority sia impostato come appropriato (automatico) L1 Superate
    1,2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automatico) L1 Superate
    1,2,7 Assicurati che l'argomento --authorization-mode includa Node (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --authorization-mode includa RBAC (Automatico) L1 Superate
    1,2 Assicurati che il plug-in Controllo dell'ammissione EventRateLimit sia impostato (Manuale) L1 Non superate
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysAdmit non sia impostato (automatico) L1 Superate
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Dipende dall'ambiente
    1,2 Assicurati che il plug-in di controllo di ammissione SecurityContextNega sia impostato se PodSecurityPolicy non viene utilizzato (manuale) L1 Controllo equivalente
    1,2 Assicurati che il plugin di controllo del controllo di ammissione sia impostato su (Automatico) L1 Superate
    1,2 Assicurati che il plug-in del controllo di ammissione NamespaceLifecycle sia impostato (Automatico) L1 Superate
    1,2 Assicurati che il plug-in di controllo di ammissione del pod PodPolicyPolicy sia impostato (automatico) L1 Controllo equivalente
    1,2 Assicurati che il plug-in di controllo del controllo di ammissione NodeRestriction sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --insecure-bind-address non sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --insecure-port sia impostato su 0 (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --secure-port non sia impostato su 0 (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,2,21 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Superate
    1,2,22 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Controllo equivalente
    1,2,23 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Superate
    1,2,24 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Superate
    1,2,25 Assicurati di impostare l'argomento --request-timeout come appropriato (Manuale) L1 Superate
    1,2,26 Assicurati che l'argomento --service-account-lookup sia impostato su true (automatico) L1 Superate
    1,2,27 Assicurati che l'argomento --service-account-key-file sia impostato come appropriato (automatico) L1 Superate
    1,2,28 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati correttamente (automatico) L1 Superate
    1,2,29 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (automatico) L1 Superate
    1,2,30 Assicurati che l'argomento --client-ca-file sia impostato come appropriato (automatico) L1 Superate
    1,2,31 Assicurati che l'argomento --etcd-cafile sia impostato come appropriato (automatico) L1 Superate
    1,2,32 Assicurati di impostare l'argomento --encryption-provider-config come appropriato (Manuale) L1 Non superate
    1,2 Assicurati che i provider di crittografia siano configurati correttamente (manuale) L1 Non superate
    1,2 Assicurati che il server API utilizzi solo algoritmi di crittografia crittografici efficaci (manuali) L1 Superate
    1,3 Gestore del controller
    1,3 Assicurati di impostare l'argomento --terminated-pod-gc-threshold come appropriato (Manuale) L1 Superate
    1,3 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true (automatico) L1 Superate
    1,3 Assicurati che l'argomento --service-account-private-key-file sia impostato come appropriato (automatico) L1 Superate
    1,3 Assicurati che l'argomento --root-ca-file sia impostato come appropriato (automatico) L1 Superate
    1,3 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true (Automatico) L3 Superate
    1,3 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Superate
    1,4 Pianificazione
    1,4 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,4 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Superate
    2 Configurazione dei nodi Etcd
    2 File di configurazione dei nodi Etcd
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati correttamente (automatico) L1 Superate
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true (automatico) L1 Superate
    2,3 Assicurati che l'argomento --auto-tls non sia impostato su true (automatico) L1 Superate
    2,4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati correttamente (automatico) L1 Superate
    2,5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true (automatico) L1 Superate
    2,6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true (automatico) L1 Superate
    2.7 Assicurati che venga utilizzata un'autorità di certificazione univoca per etcd (manuale) L3 Superate
    3 Configurazione piano di controllo
    3,1 Autenticazione e autorizzazione
    3.1.1 L'autenticazione mediante certificato client non deve essere utilizzata per gli utenti (manuale). L3 Superate
    3,2 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo (manuale) L1 Superate
    3.2.2 Assicurati che il criterio di controllo includa le principali preoccupazioni relative alla sicurezza (manuale) L3 Controllo equivalente
    4 Configurazione della sicurezza dei nodi worker
    4,1 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni del file del servizio kubelet siano impostate su 644 o più restrittive (automatiche) L1 Superate
    4.1.2 Assicurati che la proprietà del file del servizio kubelet sia impostata su root:root (Automatica) L1 Superate
    4.1.3 Se esiste un file kubeconfig del proxy, verifica che le autorizzazioni siano impostate su un valore pari o superiore a 644 (Manuale) L1 Superate
    4.1.4 Se esiste un file kubeconfig proxy, assicurati che la proprietà sia impostata su root:root (Manuale) L1 Superate
    4,1 Assicurati che le autorizzazioni del file --kubeconfig kubelet.conf siano impostate su 644 o più restrittivo (automatico) L1 Controllo equivalente
    4.1.6 Assicurati che la proprietà del file --kubeconfig kubelet.conf sia impostata su root:root (Manuale) L1 Controllo equivalente
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su un importo pari o superiore a 644 (Manuale) L1 Superate
    4,1 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root (Manuale) L1 Superate
    4,1 Assicurati che il file di configurazione di kubelet --config sia impostato su 644 o più restrittivo (automatico) L1 Superate
    4.1.10 Assicurati che la proprietà del file di configurazione --config di kubelet sia impostata su root:root (Automatica) L1 Superate
    4,2 Cavalletta
    4.2.1 Assicurati che l'argomento autenticazione anonima sia impostato su falso (automatico) L1 Superate
    4.2.2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automatico) L1 Superate
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato come appropriato (automatico) L1 Superate
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non superate
    4,2 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 (Manuale) L1 Superate
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non superate
    4.2.7 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Superate
    4,2 Assicurati che l'argomento --hostname-override non sia impostato (Manuale) L1 Superate
    4,2 Assicurati che l'argomento --event-qps sia impostato su 0 o un livello che garantisca l'acquisizione di eventi appropriata (Manuale) L3 Non superate
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (Manuale) L1 Controllo equivalente
    4.2.11 Assicurati che l'argomento --rotate-certificates non sia impostato su false (Manuale) L1 Superate
    4.2.12 Verifica che l'argomento RuotaKubeletServerCertificate sia impostato su true (Manuale) L1 Superate
    4.2.13 Assicurati che il Kubelet utilizzi solo algoritmi di crittografia crittografici efficaci (manuali) L1 Superate

    Descrizioni di errori e controlli equivalenti per i cluster Anthos sul cluster di amministrazione VMware

    # Suggerimento Livello Stato Valore Motivazione
    1,1 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (automatica) L1 Controllo equivalente root:root Il container etcd viene eseguito come root e la directory dei dati etcd è di proprietà di root:root.
    1,1,16 Assicurati che la proprietà del file dello scheduler.conf sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,2 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Non superate non impostato Alcuni cluster Anthos sui componenti di monitoraggio di VMware utilizzano l'autenticazione anonima per eseguire i controlli di integrità.
    1,2 Assicurati che il plug-in Controllo dell'ammissione EventRateLimit sia impostato (Manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano il controller di ammissione Limite di frequenza, in quanto è una funzionalità Kubernetes Alpha.
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Dipende dall'ambiente non impostato Il controller di ammissione AlwaysPullImages offre alcune protezioni per le immagini del registro privato in cluster multi-tenant non cooperativi, con il rischio di rendere i registri container un punto di errore singolo per la creazione di nuovi pod in tutto il cluster. I cluster Anthos su VMware non consentono il controller di ammissione AlwaysPullImages, che consente agli amministratori del cluster di implementare il criterio di ammissione per trovare un compromesso.
    1,2 Assicurati che il plug-in di controllo di ammissione SecurityContextNega sia impostato se PodSecurityPolicy non viene utilizzato (manuale) L1 Controllo equivalente non impostato I criteri relativi alle impostazioni di sicurezza nei pod vengono gestiti mediante Policy Controller e Anthos Config Management.
    1,2 Assicurati che il plug-in di controllo di ammissione del pod PodPolicyPolicy sia impostato (automatico) L1 Controllo equivalente non impostato I criteri relativi alle impostazioni di sicurezza nei pod vengono gestiti mediante Policy Controller e Anthos Config Management.
    1,2,22 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Controllo equivalente non impostato I cluster Anthos su VMware acquisiscono gli audit log, ma non utilizzano questi flag per il controllo. Per maggiori dettagli, consulta il criterio Anthos Cluster on VMware Audit.
    1,2,25 Assicurati di impostare l'argomento --request-timeout come appropriato (Manuale) L1 Avviso
    1,2,32 Assicurati di impostare l'argomento --encryption-provider-config come appropriato (Manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano ancora la crittografia dei secret a livello di applicazione.
    1,2 Assicurati che i provider di crittografia siano configurati correttamente (manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano ancora la crittografia dei secret a livello di applicazione.
    3.2.2 Assicurati che il criterio di controllo includa le principali preoccupazioni relative alla sicurezza (manuale) L3 Controllo equivalente non impostato I cluster Anthos su VMware acquisiscono gli audit log, ma non utilizzano questi flag per il controllo. Per maggiori dettagli, consulta il criterio Anthos Cluster on VMware Audit.
    4,1 Assicurati che le autorizzazioni del file --kubeconfig kubelet.conf siano impostate su 644 o più restrittivo (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    4.1.6 Assicurati che la proprietà del file --kubeconfig kubelet.conf sia impostata su root:root (Manuale) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non superate 10255 Alcuni cluster Anthos sui componenti di monitoraggio di VMware utilizzano la porta di sola lettura kubelet per ottenere metriche.
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non superate false I cluster Anthos su VMware consentono a kubelet di configurare le impostazioni del kernel necessarie.
    4,2 Assicurati che l'argomento --event-qps sia impostato su 0 o un livello che garantisca l'acquisizione di eventi appropriata (Manuale) L3 Non superate non impostato Gli eventi sono oggetti Kubernetes archiviati in etcd. Per evitare di sovraccaricare l'app, le creatività vengono conservate solo per un'ora e non rappresentano un meccanismo di controllo della sicurezza appropriato. Consentire eventi illimitati come suggerito in questo controllo espone il cluster a rischi DoS inutili e contraddicono il consiglio di utilizzare il valore EventRateLimit per l'ammissione. Gli eventi rilevanti per la sicurezza che richiedono l'archiviazione permanente devono essere inviati ai log.
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (Manuale) L1 Controllo equivalente non impostato I cluster Anthos su VMware gestiscono il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.

    Stato dei cluster Anthos sul cluster utente VMware

    # Suggerimento Livello Stato
    1 Configurazione della sicurezza dei nodi master
    1,1 File di configurazione dei nodi master
    1,1,1 Assicurati che le autorizzazioni dei file della specifica dei pod del server API siano impostate su un valore pari o superiore a 644 (automatico) L1 Controllo equivalente
    1,1 Assicurati che la proprietà del file della specifica del pod del server API sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1,3 Assicurati che le autorizzazioni dei file della specifica dei pod del gestore controller siano impostate su 644 o su un livello più restrittivo (automatico) L1 Controllo equivalente
    1,1 Assicurati che la proprietà del file della specifica del pod del gestore controller sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1,5 Assicurati che le autorizzazioni del file della specifica dei pod dello scheduler siano impostate su 644 o su un livello più restrittivo (automatico) L1 Controllo equivalente
    1,1 Assicurati che la proprietà del file della specifica del pod dello scheduler sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1,7 Assicurati che le autorizzazioni del file della specifica del pod etcd siano impostate su un valore pari o superiore a 644 (automatico) L1 Controllo equivalente
    1,1,8 Assicurati che la proprietà del file della specifica del pod etcd sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1 Assicurati che le autorizzazioni del file Container Network Interface siano impostate su 644 o più restrittive (Manuale) L1 Superate
    1,1 Assicurati che la proprietà del file di Container Network Interface sia impostata su root:root (Manuale) L1 Superate
    1,1 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su un valore pari o superiore a 700 (automatico) L1 Controllo equivalente
    1,1 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (automatica) L1 Controllo equivalente
    1,1,13 Assicurati che le autorizzazioni dell'amministratore.conf. file siano impostate su 644 o più restrittive (automatiche) L1 Controllo equivalente
    1,1,14 Assicurati che l'amministratore.proprietà del file conf sia impostata su root:root (automatico) L1 Controllo equivalente
    1,1 Assicurati che le autorizzazioni del file .conf scheduler siano impostate su 644 o più restrittive (Automatico) L1 Controllo equivalente
    1,1,16 Assicurati che la proprietà del file dello scheduler.conf sia impostata su root:root (automatica) L1 Controllo equivalente
    1,1,17 Assicurati che le autorizzazioni del file controller-manager.conf siano impostate su 644 o più restrittive (automatiche) L1 Controllo equivalente
    1,1 Assicurati che la proprietà del file controller-manager.conf sia impostata su root:root (automatico) L1 Controllo equivalente
    1,1 Assicurati che la directory PKI di Kubernetes e la proprietà del file siano impostate su root:root (Automatico) L1 Superate
    1,1,20 Assicurati che le autorizzazioni del file del certificato PKI di Kubernetes siano impostate su 644 o un livello più restrittivo (manuale) L1 Superate
    1,1,21 Assicurati che le autorizzazioni del file della chiave PKI di Kubernetes siano impostate su 600 (Manuale) L1 Superate
    1,2 Server API
    1,2 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Non superate
    1,2 Assicurati che il parametro --token-auth-file non sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --kubelet-https sia impostato su true (automatico) L1 Superate
    1,2 Assicurati che gli argomenti --kubelet-client-certificate e --kubelet-client-key siano impostati correttamente (automatico) L1 Superate
    1,2 Assicurati che l'argomento --kubelet-certificate-authority sia impostato come appropriato (automatico) L1 Superate
    1,2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automatico) L1 Superate
    1,2,7 Assicurati che l'argomento --authorization-mode includa Node (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --authorization-mode includa RBAC (Automatico) L1 Superate
    1,2 Assicurati che il plug-in Controllo dell'ammissione EventRateLimit sia impostato (Manuale) L1 Non superate
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysAdmit non sia impostato (automatico) L1 Superate
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Dipende dall'ambiente
    1,2 Assicurati che il plug-in di controllo di ammissione SecurityContextNega sia impostato se PodSecurityPolicy non viene utilizzato (manuale) L1 Controllo equivalente
    1,2 Assicurati che il plugin di controllo del controllo di ammissione sia impostato su (Automatico) L1 Superate
    1,2 Assicurati che il plug-in del controllo di ammissione NamespaceLifecycle sia impostato (Automatico) L1 Superate
    1,2 Assicurati che il plug-in di controllo di ammissione del pod PodPolicyPolicy sia impostato (automatico) L1 Controllo equivalente
    1,2 Assicurati che il plug-in di controllo del controllo di ammissione NodeRestriction sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --insecure-bind-address non sia impostato (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --insecure-port sia impostato su 0 (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --secure-port non sia impostato su 0 (Automatico) L1 Superate
    1,2 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,2,21 Assicurati che l'argomento --audit-log-path sia impostato (Automatico) L1 Superate
    1,2,22 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Controllo equivalente
    1,2,23 Assicurati che l'argomento --audit-log-maxbackup sia impostato su 10 o come appropriato (Automatico) L1 Superate
    1,2,24 Assicurati che l'argomento --audit-log-maxsize sia impostato su 100 o come appropriato (Automatico) L1 Superate
    1,2,25 Assicurati di impostare l'argomento --request-timeout come appropriato (Manuale) L1 Superate
    1,2,26 Assicurati che l'argomento --service-account-lookup sia impostato su true (automatico) L1 Superate
    1,2,27 Assicurati che l'argomento --service-account-key-file sia impostato come appropriato (automatico) L1 Superate
    1,2,28 Assicurati che gli argomenti --etcd-certfile e --etcd-keyfile siano impostati correttamente (automatico) L1 Superate
    1,2,29 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (automatico) L1 Superate
    1,2,30 Assicurati che l'argomento --client-ca-file sia impostato come appropriato (automatico) L1 Superate
    1,2,31 Assicurati che l'argomento --etcd-cafile sia impostato come appropriato (automatico) L1 Superate
    1,2,32 Assicurati di impostare l'argomento --encryption-provider-config come appropriato (Manuale) L1 Non superate
    1,2 Assicurati che i provider di crittografia siano configurati correttamente (manuale) L1 Non superate
    1,2 Assicurati che il server API utilizzi solo algoritmi di crittografia crittografici efficaci (manuali) L1 Superate
    1,3 Gestore del controller
    1,3 Assicurati di impostare l'argomento --terminated-pod-gc-threshold come appropriato (Manuale) L1 Superate
    1,3 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,3 Assicurati che l'argomento --use-service-account-credentials sia impostato su true (automatico) L1 Superate
    1,3 Assicurati che l'argomento --service-account-private-key-file sia impostato come appropriato (automatico) L1 Superate
    1,3 Assicurati che l'argomento --root-ca-file sia impostato come appropriato (automatico) L1 Superate
    1,3 Assicurati che l'argomento RuotaKubeletServerCertificate sia impostato su true (Automatico) L3 Superate
    1,3 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Superate
    1,4 Pianificazione
    1,4 Assicurati che l'argomento --profiling sia impostato su false (Automatico) L1 Superate
    1,4 Assicurati che l'argomento --bind-address sia impostato su 127.0.0.1 (Automatico) L1 Superate
    2 Configurazione dei nodi Etcd
    2 File di configurazione dei nodi Etcd
    2.1 Assicurati che gli argomenti --cert-file e --key-file siano impostati correttamente (automatico) L1 Superate
    2.2 Assicurati che l'argomento --client-cert-auth sia impostato su true (automatico) L1 Superate
    2,3 Assicurati che l'argomento --auto-tls non sia impostato su true (automatico) L1 Superate
    2,4 Assicurati che gli argomenti --peer-cert-file e --peer-key-file siano impostati correttamente (automatico) L1 Superate
    2,5 Assicurati che l'argomento --peer-client-cert-auth sia impostato su true (automatico) L1 Superate
    2,6 Assicurati che l'argomento --peer-auto-tls non sia impostato su true (automatico) L1 Superate
    2.7 Assicurati che venga utilizzata un'autorità di certificazione univoca per etcd (manuale) L3 Superate
    3 Configurazione piano di controllo
    3,1 Autenticazione e autorizzazione
    3.1.1 L'autenticazione mediante certificato client non deve essere utilizzata per gli utenti (manuale). L3 Superate
    3,2 Logging
    3.2.1 Assicurati che venga creato un criterio di controllo minimo (manuale) L1 Superate
    3.2.2 Assicurati che il criterio di controllo includa le principali preoccupazioni relative alla sicurezza (manuale) L3 Controllo equivalente
    4 Configurazione della sicurezza dei nodi worker
    4,1 File di configurazione dei nodi worker
    4.1.1 Assicurati che le autorizzazioni del file del servizio kubelet siano impostate su 644 o più restrittive (automatiche) L1 Superate
    4.1.2 Assicurati che la proprietà del file del servizio kubelet sia impostata su root:root (Automatica) L1 Superate
    4.1.3 Se il file kubeconfig del proxy esiste, assicurati che le autorizzazioni siano impostate su un valore pari o superiore a 644 (Manuale) L1 Superate
    4.1.4 Se il file kubeconfig del proxy esiste, assicurati che la proprietà sia impostata su root:root (Manuale) L1 Superate
    4,1 Assicurati che le autorizzazioni del file --kubeconfig kubelet.conf siano impostate su 644 o più restrittivo (automatico) L1 Controllo equivalente
    4.1.6 Assicurati che la proprietà del file --kubeconfig kubelet.conf sia impostata su root:root (Manuale) L1 Controllo equivalente
    4.1.7 Assicurati che le autorizzazioni dei file delle autorità di certificazione siano impostate su un importo pari o superiore a 644 (Manuale) L1 Superate
    4,1 Assicurati che la proprietà del file delle autorità di certificazione client sia impostata su root:root (Manuale) L1 Superate
    4,1 Assicurati che il file di configurazione di kubelet --config sia impostato su 644 o più restrittivo (automatico) L1 Superate
    4.1.10 Assicurati che la proprietà del file di configurazione --config di kubelet sia impostata su root:root (Automatica) L1 Superate
    4,2 Cavalletta
    4.2.1 Assicurati che l'argomento autenticazione anonima sia impostato su falso (automatico) L1 Superate
    4.2.2 Assicurati che l'argomento --authorization-mode non sia impostato su AlwaysAllow (Automatico) L1 Superate
    4.2.3 Assicurati che l'argomento --client-ca-file sia impostato come appropriato (automatico) L1 Superate
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non superate
    4,2 Assicurati che l'argomento --streaming-connection-idle-timeout non sia impostato su 0 (Manuale) L1 Superate
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non superate
    4.2.7 Assicurati che l'argomento --make-iptables-util-chains sia impostato su true (automatico) L1 Superate
    4,2 Assicurati che l'argomento --hostname-override non sia impostato (Manuale) L1 Superate
    4,2 Assicurati che l'argomento --event-qps sia impostato su 0 o un livello che garantisca l'acquisizione di eventi appropriata (Manuale) L3 Non superate
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (Manuale) L1 Controllo equivalente
    4.2.11 Assicurati che l'argomento --rotate-certificates non sia impostato su false (Manuale) L1 Superate
    4.2.12 Verifica che l'argomento RuotaKubeletServerCertificate sia impostato su true (Manuale) L1 Superate
    4.2.13 Assicurati che il Kubelet utilizzi solo algoritmi di crittografia crittografici efficaci (manuali) L1 Superate

    Descrizioni di errori e controlli equivalenti per i cluster Anthos sul cluster utente VMware

    # Suggerimento Livello Stato Valore Motivazione
    1,1,1 Assicurati che le autorizzazioni dei file della specifica dei pod del server API siano impostate su un valore pari o superiore a 644 (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che la proprietà del file della specifica del pod del server API sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,3 Assicurati che le autorizzazioni dei file della specifica dei pod del gestore controller siano impostate su 644 o su un livello più restrittivo (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che la proprietà del file della specifica del pod del gestore controller sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,5 Assicurati che le autorizzazioni del file della specifica dei pod dello scheduler siano impostate su 644 o su un livello più restrittivo (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che la proprietà del file della specifica del pod dello scheduler sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,7 Assicurati che le autorizzazioni del file della specifica del pod etcd siano impostate su un valore pari o superiore a 644 (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,8 Assicurati che la proprietà del file della specifica del pod etcd sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che le autorizzazioni per la directory dei dati etcd siano impostate su un valore pari o superiore a 700 (automatico) L1 Controllo equivalente 755 La directory dei dati etcd ha le autorizzazioni 755 predefinite, ma le relative sottodirectory sono 700.
    1,1 Assicurati che la proprietà della directory dei dati etcd sia impostata su etcd:etcd (automatica) L1 Controllo equivalente root:root Il container etcd viene eseguito come root e la directory dei dati etcd è di proprietà di root:root.
    1,1,13 Assicurati che le autorizzazioni dell'amministratore.conf. file siano impostate su 644 o più restrittive (automatiche) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,14 Assicurati che l'amministratore.proprietà del file conf sia impostata su root:root (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che le autorizzazioni del file .conf scheduler siano impostate su 644 o più restrittive (Automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,16 Assicurati che la proprietà del file dello scheduler.conf sia impostata su root:root (automatica) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1,17 Assicurati che le autorizzazioni del file controller-manager.conf siano impostate su 644 o più restrittive (automatiche) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,1 Assicurati che la proprietà del file controller-manager.conf sia impostata su root:root (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    1,2 Assicurati che l'argomento --anonymous-auth sia impostato su false (Manuale) L1 Non superate non impostato Alcuni cluster Anthos sui componenti di monitoraggio di VMware utilizzano l'autenticazione anonima per eseguire i controlli di integrità.
    1,2 Assicurati che il plug-in Controllo dell'ammissione EventRateLimit sia impostato (Manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano il controller di ammissione Limite di frequenza, in quanto è una funzionalità Kubernetes Alpha.
    1,2 Assicurati che il plug-in di controllo di ammissione AlwaysPullImages sia impostato (manuale) L1 Dipende dall'ambiente non impostato Il controller di ammissione AlwaysPullImages offre alcune protezioni per le immagini del registro privato in cluster multi-tenant non cooperativi, con il rischio di rendere i registri container un punto di errore singolo per la creazione di nuovi pod in tutto il cluster. I cluster Anthos su VMware non consentono il controller di ammissione AlwaysPullImages, che consente agli amministratori del cluster di implementare il criterio di ammissione per trovare un compromesso.
    1,2 Assicurati che il plug-in di controllo di ammissione SecurityContextNega sia impostato se PodSecurityPolicy non viene utilizzato (manuale) L1 Controllo equivalente non impostato I criteri relativi alle impostazioni di sicurezza nei pod vengono gestiti mediante Policy Controller e Anthos Config Management.
    1,2 Assicurati che il plug-in di controllo di ammissione del pod PodPolicyPolicy sia impostato (automatico) L1 Controllo equivalente non impostato I criteri relativi alle impostazioni di sicurezza nei pod vengono gestiti mediante Policy Controller e Anthos Config Management.
    1,2,22 Assicurati che l'argomento --audit-log-maxage sia impostato su 30 o come appropriato (Automatico) L1 Controllo equivalente non impostato I cluster Anthos su VMware acquisiscono gli audit log, ma non utilizzano questi flag per il controllo. Per maggiori dettagli, consulta il criterio Anthos Cluster on VMware Audit.
    1,2,25 Assicurati di impostare l'argomento --request-timeout come appropriato (Manuale) L1 Avviso
    1,2,32 Assicurati di impostare l'argomento --encryption-provider-config come appropriato (Manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano ancora la crittografia dei secret a livello di applicazione.
    1,2 Assicurati che i provider di crittografia siano configurati correttamente (manuale) L1 Non superate non impostato I cluster Anthos su VMware non supportano ancora la crittografia dei secret a livello di applicazione.
    3.2.2 Assicurati che il criterio di controllo includa le principali preoccupazioni relative alla sicurezza (manuale) L3 Controllo equivalente non impostato I cluster Anthos su VMware acquisiscono gli audit log, ma non utilizzano questi flag per il controllo. Per maggiori dettagli, consulta il criterio Anthos Cluster on VMware Audit.
    4,1 Assicurati che le autorizzazioni del file --kubeconfig kubelet.conf siano impostate su 644 o più restrittivo (automatico) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    4.1.6 Assicurati che la proprietà del file --kubeconfig kubelet.conf sia impostata su root:root (Manuale) L1 Controllo equivalente Le specifiche dei pod del piano di controllo sono protette da un criterio di autorizzazione RBAC allo stesso modo restrittivo nel cluster di amministrazione e non sono presenti come file su disco.
    4.2.4 Assicurati che l'argomento --read-only-port sia impostato su 0 (Manuale) L1 Non superate 10255 Alcuni cluster Anthos sui componenti di monitoraggio di VMware utilizzano la porta di sola lettura kubelet per ottenere metriche.
    4.2.6 Assicurati che l'argomento --protect-kernel-defaults sia impostato su true (automatico) L1 Non superate false I cluster Anthos su VMware consentono a kubelet di configurare le impostazioni del kernel necessarie.
    4,2 Assicurati che l'argomento --event-qps sia impostato su 0 o un livello che garantisca l'acquisizione di eventi appropriata (Manuale) L3 Non superate non impostato Gli eventi sono oggetti Kubernetes archiviati in etcd. Per evitare di sovraccaricare l'app, le creatività vengono conservate solo per un'ora e non rappresentano un meccanismo di controllo della sicurezza appropriato. Consentire eventi illimitati come suggerito in questo controllo espone il cluster a rischi DoS inutili e contraddicono il consiglio di utilizzare il valore EventRateLimit per l'ammissione. Gli eventi rilevanti per la sicurezza che richiedono l'archiviazione permanente devono essere inviati ai log.
    4.2.10 Assicurati che gli argomenti --tls-cert-file e --tls-private-key-file siano impostati correttamente (Manuale) L1 Controllo equivalente non impostato I cluster Anthos su VMware gestiscono il protocollo TLS del server kubelet utilizzando il flag --rotate-server-certificates.

    Benchmark di controllo

    Istruzioni specifiche per il controllo dei singoli Consigli sono disponibili nel Benchmark di CIS pertinente. Tuttavia, puoi automatizzare alcuni di questi controlli per semplificare la verifica di questi controlli nel tuo ambiente. A tale scopo, può utilizzare lo strumento seguente.

    Controllo automatico del benchmark CIS Kubernetes

    Puoi utilizzare uno strumento open source kube-bench per testare la configurazione del cluster in base al benchmark CIS Kubernetes.

    Assicurati di specificare la versione appropriata. Ad esempio:

    kube-bench node --benchmark cis-1.6