Questa pagina ti aiuta a iniziare e ti guida nell'utilizzo della dashboard della postura di sicurezza per rilevare le vulnerabilità. Controlla i requisiti, seleziona uno dei livelli disponibili e scopri come attivare analisi delle vulnerabilitàà, eseguire il deployment di un workload di test, visualizzare i risultati e i consigli e disattivare la scansione.
Questa pagina è rivolta agli esperti di sicurezza che monitorano i cluster per rilevare problemi di sicurezza. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti diGoogle Cloud , consulta Ruoli utente e attività comuni di GKE.
Prima di leggere questa pagina, assicurati di conoscere la panoramica generale della scansione delle vulnerabilità del carico di lavoro.
Prezzi
Per le informazioni sui prezzi, consulta la sezione Prezzi della dashboard della postura di sicurezza di GKE.
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à,
installala e poi
inizializza
gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima versione
eseguendo
gcloud components update
.
Abilita l'API Container Security.
Per utilizzare gli approfondimenti avanzati sulle vulnerabilità, abilita l'API Container Analysis.
Requisiti
-
Per ottenere le autorizzazioni necessarie per utilizzare analisi delle vulnerabilità dei carichi di lavoro, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore postura di sicurezza (
roles/containersecurity.viewer
) nel tuo progetto Google Cloud . Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare analisi delle vulnerabilità dei carichi di lavoro. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare l'analisi delle vulnerabilità dei workload 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 ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
-
- Advanced Vulnerability Insights richiede GKE 1.27 o versioni successive.
Livelli di analisi delle vulnerabilità dei workload
L'analisi delle vulnerabilità viene attivata a livelli, ognuno dei quali aggiunge funzionalità di analisi come segue. Se utilizzi Google Kubernetes Engine (GKE) Enterprise per gestire flotte di cluster, puoi anche configurare le impostazioni dianalisi delle vulnerabilitàà a livello di flotta che si applicano a tutti i cluster membri. Per istruzioni, consulta Configurare le funzionalità della dashboard della postura di sicurezza di GKE a livello di parco risorse.
Livello | Funzionalità abilitate | Requisito della versione di GKE |
---|---|---|
Standardstandard |
Analisi delle vulnerabilità del sistema operativo del container |
|
Advanced Vulnerability Insightsenterprise |
|
|
Per saperne di più su ogni funzionalità, consulta Informazioni sull'analisi delle vulnerabilità dei workload.
Abilita analisi delle vulnerabilità del sistema operativo dei container
L'analisi delle vulnerabilità del sistema operativo del container è abilitata per impostazione predefinita nei nuovi cluster Autopilot che eseguono la versione 1.27 e successive. Questa sezione mostra come abilitare questa funzionalità nei nuovi cluster Standard esistenti e nei cluster Autopilot che eseguono versioni precedenti alla 1.27.
Abilitare la scansione del sistema operativo del container su un cluster esistente
gcloud
Aggiorna il cluster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=standard
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.CONTROL_PLANE_LOCATION
: la posizione del control plane del cluster. Fornisci una regione per i cluster Standard e Autopilot regionali o una zona per i cluster Standard zonali.
Console
Vai alla pagina Postura di sicurezza nella console Google Cloud .
Vai a Postura di sicurezza- Fai clic sulla scheda Impostazioni.
- Nella sezione Cluster abilitati per l'analisi delle vulnerabilità, fai clic su Seleziona cluster.
- Seleziona le caselle di controllo dei cluster che vuoi aggiungere.
- Nel menu a discesa Seleziona azione, seleziona Imposta su Base.
- Fai clic su Applica.
Abilitare gli insight avanzati sulle vulnerabilità
Advanced Vulnerability Insights consente l'analisi continua delle applicazioni in esecuzione per i seguenti tipi di vulnerabilità:
- Vulnerabilità del sistema operativo dei container
- Vulnerabilità dei pacchetti di lingua
Quando abiliti Advanced Vulnerability Insights, la funzionalità di analisi delle vulnerabilità del sistema operativo del container viene attivata automaticamente e non può essere disattivata separatamente.
Requisiti
Assicurati di aver abilitato l'API Container Analysis nel tuo progetto.
Abilita l'API Container Analysis
Abilitare Advanced Vulnerability Insights in un cluster esistente
gcloud
Aggiorna il cluster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=enterprise
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.CONTROL_PLANE_LOCATION
: la posizione del control plane del cluster. Fornisci una regione per i cluster Standard e Autopilot regionali o una zona per i cluster Standard zonali.
Console
Vai alla pagina Postura di sicurezza nella console Google Cloud .
Vai a Postura di sicurezza- Fai clic sulla scheda Impostazioni.
- Nella sezione Cluster abilitati per l'analisi delle vulnerabilità, fai clic su Seleziona cluster.
- Seleziona le caselle di controllo dei cluster che vuoi aggiungere.
- Nel menu a discesa Seleziona azione, seleziona Imposta su Avanzate.
- Fai clic su Applica.
Esegui il deployment di un carico di lavoro di test
Nella sezione seguente, utilizzerai manifest di deployment di esempio. Un deployment è un oggetto API Kubernetes che consente di eseguire più repliche di pod distribuite tra i nodi di un cluster.
I seguenti manifest hanno vulnerabilità note a scopo dimostrativo. In pratica, se sai che un'applicazione è vulnerabile, probabilmente non dovresti eseguirla.
Salva il seguente manifest come
os-vuln-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend:v5 env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80
Esamina il seguente manifest, che contiene una vulnerabilità Maven nota:
(Facoltativo) Recupera le credenziali per il tuo cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Esegui il deployment delle applicazioni nel tuo cluster:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
Per testare altre vulnerabilità, prova a eseguire il deployment di versioni precedenti di immagini come
nginx
negli ambienti di staging.
Visualizzare e intervenire sui risultati
La scansione iniziale richiede almeno 15 minuti per restituire i risultati, a seconda del numero di carichi di lavoro scansionati. GKE mostra i risultati nella dashboard della postura di sicurezza e aggiunge automaticamente le voci a Logging.
Visualizza risultati
Per visualizzare una panoramica dei problemi rilevati nei cluster e nei workload del progetto:
Vai alla pagina Postura 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 Vulnerabilità.
Visualizzare i dettagli e i consigli relativi al problema
Per visualizzare informazioni dettagliate su una vulnerabilità specifica, fai clic sulla riga contenente il problema.
Il riquadro Problema di vulnerabilità mostra le seguenti informazioni:
- Descrizione:una descrizione del problema, incluso un numero CVE, se applicabile, e una descrizione dettagliata della vulnerabilità e del suo potenziale impatto.
- Azione consigliata:azioni che puoi intraprendere per risolvere la vulnerabilità, ad esempio versioni del pacchetto corrette e dove applicare la correzione.
Visualizza i log per i problemi rilevati
GKE aggiunge voci al bucket di log _Default
in Logging
per ogni problema rilevato. Questi log vengono conservati solo per un periodo specifico. Per maggiori dettagli, vedi
Periodi di conservazione dei log.
Nella console Google Cloud , vai a Esplora log:
Vai a Esplora logNel 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_VULNERABILITY"
Fai clic su Esegui query.
Per ricevere notifiche quando GKE aggiunge nuovi risultati a Logging, configura avvisi basati sui 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 frontend
(Facoltativo) Elimina il cluster che hai utilizzato:
gcloud container clusters delete CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Disabilita l'analisi delle vulnerabilità dei workload
Puoi disattivare analisi delle vulnerabilità dei carichi di lavoro utilizzando gcloud CLI o la console Google Cloud .
gcloud
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=disabled
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.CONTROL_PLANE_LOCATION
: la posizione del control plane del cluster. Fornisci una regione per i cluster Standard e Autopilot regionali o una zona per i cluster Standard zonali.
Console
Vai alla pagina Postura di sicurezza nella console Google Cloud .
Vai a Postura di sicurezza- Fai clic sulla scheda Impostazioni.
- Nella sezione Cluster abilitati per l'analisi delle vulnerabilità, fai clic su Seleziona cluster.
- Seleziona le caselle di controllo dei cluster da rimuovere.
- Nel menu a discesa Seleziona azione, seleziona Imposta su Disattivato.
- Fai clic su Applica.
Passaggi successivi
- Scopri di più sulla dashboard della postura di sicurezza.
- Scopri come analizzare i tuoi carichi di lavoro per individuare problemi di configurazione.