CIS Kubernetes Punto di riferimento

Il Center for Internet Security ( CIS ) pubblica il benchmark Kubernetes dell' CIS come quadro di riferimento per procedure specifiche volte a configurare Kubernetes in modo più sicuro e con standard conformi alle varie normative di settore.

Quando una nuova versione Kubernetes viene rilasciata come parte di una versione supportata Red Hat OpenShift, gli ingegneri IBM confrontano la configurazione predefinita di un cluster che esegue la versione Kubernetes con il benchmark e pubblicano i risultati in questa documentazione. Puoi esaminare in che modo le specifiche versioni dei tuoi cluster Red Hat® OpenShift® on IBM Cloud® soddisfano il benchmark CIS Kubernetes.

Versioni di benchmark supportate

Utilizzare l'elenco per trovare i risultati dei benchmark di CIS Kubernetes per le versioni supportate.

Utilizzo del benchmark

In qualità di amministratore della sicurezza o revisore, potresti voler confrontare gli standard interni della tua azienda e i requisiti normativi esterni con il benchmark dell' CISKubernetes. Le raccomandazioni di riferimento sono fornite dal Center for Internet Security, non dall' IBM. IBM potrebbe non configurare le impostazioni predefinite in modo da soddisfare tutte le raccomandazioni, ma documenta se la raccomandazione è stata soddisfatta per aiutarti nella tua revisione. Ad esempio, è possibile utilizzare il benchmark in un controllo per confermare che sono in vigore le misure di sicurezza di base e per identificare le aree in cui è possibile migliorare la propria sicurezza.

Cosa comprende il benchmark?

Il benchmark copre i consigli per i componenti master, etcd, le configurazioni del piano di controllo, i nodi di lavoro e le politiche come per gli utenti, la rete e la sicurezza del pod.

Cosa significano le raccomandazioni di benchmark?

Le raccomandazioni di benchmark hanno punteggio, livelli, stato dei risultati e responsabilità come segue.

  • Calcolo del punteggio
    • Punteggio: il punteggio benchmark complessivo aumenta o diminuisce a seconda che la raccomandazione sia soddisfatta o meno.
    • Non valutato: il punteggio di riferimento complessivo non viene influenzato, se la raccomandazione viene soddisfatta.
  • Livelli
    • Livello 1: Pratiche misure di sicurezza che possono essere configurate senza inibire il servizio.
    • Livello 2: misure di sicurezza più approfondite che potrebbero ridurre le prestazioni o la funzionalità di un servizio.
  • Risultato
    • Pass: il servizio è conforme alla raccomandazione del benchmark.
    • Errore: il servizio non è conforme alla raccomandazione del benchmark per impostazione predefinita. Fare riferimento alla sezione di risoluzione per una spiegazione e le possibili azioni che è possibile intraprendere per rispettare la raccomandazione del benchmark.
  • Responsabilità
    • IBM: IBM è responsabile della configurazione dell'impostazione consigliata dal benchmark.
    • Condiviso: l'Utente e IBM condividono la responsabilità per la configurazione dell'impostazione consigliata dal benchmark.

Di quali parti del benchmark sono responsabile?

Poiché Red Hat OpenShift on IBM Cloud è un'offerta gestita, IBM già configura molte impostazioni di sicurezza per te. Ad esempio, IBM gestisce e applica automaticamente gli aggiornamenti al tuo master cluster. Per i tuoi nodi di lavoro, IBM fornisce aggiornamenti di sicurezza e versione, ma devi applicare gli aggiornamenti. L'utente è anche responsabile delle applicazioni del carico di lavoro e dei dati. Per ulteriori informazioni, vedi Le tue responsabilità mentre utilizzi Red Hat OpenShift on IBM Cloud.

Cosa succede se una parte del servizio non rispetta una raccomandazione?

Per prima cosa, controllare la spiegazione dell'errore per eventuali passi di correzione.

Quindi, determinare se l'errore è accettabile in base ai propri requisiti di sicurezza. Ad esempio, alcuni consigli potrebbero essere requisiti di configurazione più approfonditi di quelli richiesti da determinati processi o standard. Inoltre, alcune raccomandazioni non vengono valutate e non influiscono sul punteggio di riferimento complessivo.

Successivamente, decidi se il componente rientra nella tua responsabilità. In tal caso, potrebbe essere necessario modificare la modalità di configurazione di tale componente. Ad esempio, potresti configurare i vincoli del contesto di protezione per tutte le distribuzioni della tua applicazione. Per i componenti che non rientrano direttamente nella tua responsabilità, valuta se puoi utilizzare un altro servizio IBM Cloud per soddisfare il consiglio.

Cos' altro posso fare per incrementare la sicurezza e la conformità del mio cluster?

Consultare Sicurezza per Red Hat OpenShift on IBM Cloud.

Esecuzione del benchmark CIS Kubernetes del nodo di lavoro

Per esaminare i risultati del benchmark CIS Kubernetes per la Sezione 4: Configurazione di sicurezza dei nodi worker, è possibile eseguire il test autonomamente. Poiché sei proprietario dei nodi di lavoro e sei parzialmente responsabile della loro conformità, potresti apportare modifiche alla configurazione che vuoi convalidare da solo.

Questi passaggi si applicano solo ai cluster che eseguono la versione 4.5 o successive di Red Hat OpenShift.

Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.

  1. Creare un progetto per le risorse per eseguire il benchmark.

    oc create ns ibm-kube-bench-test
    
  2. Crea una ConfigMap con i file di configurazione config e node dal repository kube - samples GitHub.

    1. Scaricare i file di configurazione config e node in una directory locale denominata ibm. È anche possibile clonare il repository e passare alla directory ibm.
    2. Creare la ConfigMap utilizzando l'opzione --from-file per specificare la directory ibm in cui sono stati scaricati i file di configurazione.
        oc create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
        ```
    
  3. Creare un lavoro per eseguire il test del benchmark in base alle configurazioni precedentemente create.

    oc apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
    
  4. Verificare che il lavoro sia stato completato.

    oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
    

    Output di esempio

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. Esamina i risultati del benchmark CIS Kubernetes per i tuoi nodi di lavoro controllando i log del pod.

    oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
    

    Output di esempio

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. Facoltativo: una volta terminata la revisione dei risultati, eliminare le risorse create.

    oc delete ns ibm-kube-bench-test