Questa pagina mostra come controllare automaticamente le configurazioni dei carichi di lavoro problemi di sicurezza e ottenere consigli attuabili per migliorare la della tua postura di Google Kubernetes Engine (GKE) Autopilot di cluster standard. Il controllo della configurazione dei carichi di lavoro è una funzionalità della dashboard della strategia di sicurezza. Per ulteriori informazioni, vedi Informazioni sul controllo della configurazione dei carichi di lavoro.
Prezzi
La dashboard relativa alla posizione di sicurezza è offerta senza costi aggiuntivi in GKE tramite l'API Container Security.
Le voci aggiunte all'utilizzo di Cloud Logging Prezzi di Cloud Logging.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installa e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente
eseguendo
gcloud components update
.
Abilita l'API Container Security.
Requisiti
-
Per ottenere le autorizzazioni necessarie per utilizzare il controllo della configurazione dei carichi di lavoro, chiedi all'amministratore di concederti Ruolo IAM Security Posture Viewer (
roles/containersecurity.viewer
) per il tuo progetto Google Cloud. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare il controllo delle vulnerabilità dei carichi di lavoro. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per utilizzare il controllo della configurazione dei carichi di lavoro sono necessarie le seguenti autorizzazioni:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
-
- Il controllo della configurazione del carico di lavoro richiede GKE versione 1.21 e successivi.
Attivare il controllo della configurazione del carico di lavoro
Il controllo della configurazione del carico di lavoro è abilitato per impostazione predefinita nei nuovi cluster Autopilot e Standard che eseguono la versione 1.27 e successive. Puoi anche attivare manualmente questa funzionalità utilizzando gcloud CLI o la console Google Cloud.
Abilita il controllo della configurazione su un nuovo cluster
gcloud
Crea un nuovo cluster GKE utilizzando gcloud CLI:
gcloud container clusters create-auto CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster.LOCATION
: il Località di Compute Engine per in un cluster Kubernetes.
Console
Vai alla pagina Google Kubernetes Engine nella console Google Cloud.
Vai a Google Kubernetes Engine- Fai clic su Crea.
- Nella sezione GKE Autopilot, fai clic su Configura.
- Nel riquadro di navigazione, fai clic su Impostazioni avanzate. Se invece stai creando un cluster Standard, fai clic su Sicurezza.
- Nella sezione Sicurezza, seleziona Controllo della configurazione casella di controllo.
- Configura altre opzioni per il cluster e fai clic su Crea quando è tutto pronto.
Attivare il controllo della configurazione in un cluster esistente
gcloud
Aggiorna il cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.LOCATION
: il Località Compute Engine del tuo in un cluster Kubernetes.
Console
Vai alla pagina Security posture nella console Google Cloud.
Vai a Security posture- Fai clic sulla scheda Impostazioni.
- Nella sezione Cluster abilitati per il controllo della configurazione, fai clic su Seleziona i cluster.
- Seleziona le caselle di controllo relative ai cluster che vuoi aggiungere.
- Nel menu a discesa Seleziona azione, scegli Imposta su Base.
- Fai clic su Applica.
Se utilizzi la versione Enterprise di Google Kubernetes Engine (GKE) per gestire parchi risorse di cluster, puoi anche configurare le impostazioni di controllo della configurazione a livello di parco risorse che si applicano a tutti i cluster membri. Per istruzioni, vedi Configura le funzionalità della dashboard della strategia di sicurezza di GKE a livello di parco risorse.
esegui il deployment di un carico di lavoro di test
Esegui il deployment di un'applicazione di esempio che viola intenzionalmente la sicurezza dei pod Standard.
Salva il seguente manifest come
misconfig-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: helloweb labels: app: hello spec: selector: matchLabels: app: hello tier: web template: metadata: labels: app: hello tier: web spec: containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 ports: - containerPort: 8080 securityContext: runAsNonRoot: false resources: requests: cpu: 200m
Esegui il deployment dell'applicazione nel tuo cluster:
kubectl apply -f misconfig-sample.yaml
Se vuoi provare altre violazioni, modifica misconfig-sample.yaml
con la configurazione "non valida" corrispondente.
Visualizza e gestisci i risultati del controllo della configurazione
Il controllo iniziale può richiedere fino a 15 minuti per restituire i risultati. GKE visualizza i risultati nella dashboard della security posture e aggiunge automaticamente voci ai log del cluster.
Visualizza risultati
Per vedere una panoramica dei problemi rilevati nei cluster del progetto carichi di lavoro, segui questi passaggi:
Vai alla pagina Posizione di sicurezza nella console Google Cloud.
Fai clic sulla scheda Problemi.
Nel riquadro Filtra problemi, nella sezione Tipo di problema, seleziona la casella di controllo Configurazione.
Visualizzare i dettagli e i consigli relativi ai problemi
Per visualizzare informazioni dettagliate su un problema di configurazione specifico, fai clic sulla riga contenente il problema.
Il riquadro Problema di configurazione mostra le seguenti informazioni:
- Descrizione: una descrizione del problema.
- Azione consigliata: una panoramica delle azioni che puoi intraprendere per risolvere il problema
un problema di configurazione. Questa sezione include i seguenti dettagli:
- Risorse che richiedono una correzione
- Esempi di comandi che puoi eseguire per applicare la correzione alle risorse interessate
- Le istruzioni della console Google Cloud, se applicabili, per risolvere il problema
Visualizza i log per i problemi rilevati
GKE aggiunge voci a Logging per ogni rilevamento problema.
Vai a Esplora log nella console Google Cloud.
Nel campo Query specifica la seguente query:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_MISCONFIG"
Fai clic su Esegui query.
Per ricevere notifiche quando GKE aggiunge nuovi risultati a Logging, configura avvisi basati su log per questa query. Per ulteriori informazioni, consulta Configurare gli avvisi basati su log.
Esegui la pulizia
Elimina il carico di lavoro di esempio di cui hai eseguito il deployment.
kubectl delete deployment helloweb
Se vuoi, elimina il cluster che hai utilizzato.
gcloud container clusters delete CLUSTER_NAME \ --region=COMPUTE_REGION
Disattivare il controllo della configurazione del carico di lavoro
Puoi disabilitare il controllo della configurazione dei carichi di lavoro utilizzando gcloud CLI o la console Google Cloud.
gcloud
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \ --region=LOCATION \ --security-posture=disabled
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.LOCATION
: la regione o la zona Compute Engine per il tuo cluster.
Console
Vai alla pagina Posizione di sicurezza nella console Google Cloud.
Vai a Security posture- Fai clic sulla scheda Impostazioni.
- Nella sezione Cluster abilitati per il controllo della configurazione, fai clic su Seleziona i cluster.
- Nella scheda Controllo abilitato, seleziona le caselle di controllo per i cluster da rimuovere.
- Fai clic su Disattiva controllo, quindi su Conferma per disattivare il controllo su questi cluster.
Limitazioni del controllo della configurazione del carico di lavoro
- I pool di nodi di Windows Server non sono supportati.
- Il controllo della configurazione dei carichi di lavoro non esegue la scansione dei carichi di lavoro gestiti da GKE, ad esempio i carichi di lavoro nello spazio dei nomi
kube-system
. - Il controllo della configurazione del carico di lavoro è disponibile solo per i cluster con meno risorse più di 1000 nodi.
La dashboard della security posture supporta fino a 150.000 risultati del controllo della configurazione dei carichi di lavoro per ogni cluster. Quando il numero di risultati per un cluster supera questo limite, la dashboard della security posture non mostra più i risultati della configurazione in un cluster Kubernetes.
Per risolvere il problema, utilizza i log in Log per identificare i problemi di configurazione e implementare i manifest aggiornati. Quando il numero non supera i 150.000, la dashboard della security posture inizia a visualizzare i risultati per il cluster.
Passaggi successivi
- Scopri di più sulla dashboard della postura di sicurezza.
- Scopri di più su come funziona il controllo della configurazione.
- Scopri come proteggere i tuoi cluster in base ai suggerimenti di Google.