Monitoraggio della sicurezza delle applicazioni

Google Cloud ha potenti funzionalità di sicurezza integrate a ogni livello che funzionano separatamente e insieme per proteggerti da problemi di sicurezza, inclusa la sicurezza della piattaforma e delle applicazioni. Tuttavia, con una difesa in profondità come questa, non è sempre facile scegliere quali funzionalità potrebbero portare vantaggi a una particolare applicazione o valutare il funzionamento dei criteri di sicurezza in fase di runtime. Per aiutarti, la dashboard per la sicurezza di Anthos offre una panoramica delle funzionalità di sicurezza attuali delle tue applicazioni, nonché una visualizzazione più dettagliata del controllo dei criteri per mostrare dove è possibile modificare le configurazioni di sicurezza o i carichi di lavoro per migliorare la postura di sicurezza.

Questo documento offre agli operatori di piattaforme e applicazioni una panoramica sul monitoraggio della sicurezza delle applicazioni Anthos. Per saperne di più su ciascuna funzionalità di sicurezza e sul relativo monitoraggio, segui i link alla documentazione sulle funzionalità in Passaggi successivi?

La dashboard per la sicurezza di Anthos attualmente monitora i cluster su Google Cloud, VMware e bare metal.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare e controllare la sicurezza delle applicazioni, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:

  • roles/monitoring.viewer (Monitoring Viewer)
  • roles/logging.viewer (Logs Viewer)
  • roles/serviceusage.serviceUsageViewer (Service Usage Viewer)
  • roles/servicesecurityinsights.securityInsightsViewer (Security Insights Viewer)

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per visualizzare e controllare la sicurezza delle applicazioni. Per visualizzare le autorizzazioni necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per visualizzare e verificare la sicurezza delle applicazioni sono necessarie le seguenti autorizzazioni:

  • resourcemanager.projects.get
  • opsconfigmonitoring.resourceMetadata.list
  • serviceusage.services.list
  • servicesecurityinsights.projectStates.get
  • Per visualizzare la panoramica della sicurezza delle applicazioni:
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.list
  • Per controllare lo stato attuale di tutte le funzionalità di sicurezza monitorate:
    • servicesecurityinsights.clusterSecurityInfo.list
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.securityInfo.list
    • servicesecurityinsights.workloadPolicies.list
  • Per visualizzare i dettagli sulla sicurezza dei carichi di lavoro:
    • monitoring.timeSeries.list
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.get
    • servicesecurityinsights.workloadSecurityInfo.get
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.workloadPolicies.list

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Cluster supportati

I seguenti tipi di cluster sono supportati nella dashboard per la sicurezza di Anthos:

  • Cluster GKE su Google Cloud
  • GKE su VMware
  • GKE su Bare Metal

Per monitorare la sicurezza nei cluster VMware e bare metal, devi abilitare il logging e il monitoraggio delle applicazioni. Per eseguire questa operazione, segui le istruzioni riportate nella documentazione relativa a GKE su VMware e GKE su Bare Metal.

Visualizza la panoramica sulla sicurezza delle applicazioni

Per visualizzare la dashboard di sicurezza di Anthos nella console Google Cloud:

Per impostazione predefinita, viene visualizzata la scheda Riepilogo criteri, che mostra lo stato delle funzionalità di sicurezza delle applicazioni Anthos nel progetto, inclusi i link per saperne di più e attivare le funzionalità. Le funzionalità sono elencate sotto due intestazioni: Controllo dell'accesso e Autenticazione.

Screenshot della visualizzazione di riepilogo delle norme

Controllo dell'accesso

Questa sezione mostra lo stato delle funzionalità di autorizzazione Anthos selezionate. Le tre aree sono:

  • Autorizzazione binaria, che consente di garantire che venga eseguito il deployment nei cluster solo delle immagini attendibili.
  • Criterio di rete di Kubernetes, che consente di specificare quali pod sono autorizzati a comunicare tra loro e con altri endpoint di rete.
  • Controllo dell'accesso ai servizi di Anthos Service Mesh, che consente di configurare un controllo granulare degli accessi ai servizi mesh in base agli account di servizio e ai contesti delle richieste.

Per tutte le funzionalità non abilitate nel tuo progetto, puoi fare clic per abilitarla (o scoprire come abilitarla).

Per le funzionalità che sono attivate, puoi visualizzarne lo stato attuale e fare clic per visualizzare ulteriori dettagli sull'intervallo di tempo selezionato, tra cui le azioni che sono state rifiutate in base ai tuoi criteri di controllo dell'accesso'accesso e altri eventi interessanti. Ad esempio, in questo progetto sono stati bloccati tre deployment su un cluster nell'ora precedente a causa dei criteri di Autorizzazione binaria:

Screenshot dei dettagli sulla sicurezza di Autorizzazione binaria

Autenticazione

Questa sezione mostra lo stato delle funzionalità di autenticazione di Anthos. Attualmente questa visualizzazione mostra se hai creato un criterio per applicare il protocollo TLS (mTLS) reciproca in ogni cluster in cui utilizzi Anthos Service Mesh. mTLS è un protocollo di sicurezza che garantisce che il traffico sia sicuro e attendibile in entrambe le direzioni tra due servizi.

Tieni presente che viene mostrato soltanto se il mesh di servizi dispone di un criterio mTLS: per verificare se il criterio protegge in modo efficace il traffico e se il traffico non criptato è consentito nel tuo mesh in fase di runtime, devi consultare la visualizzazione più dettagliata Controllo criteri, come descritto nella sezione successiva.

Controlla la sicurezza delle applicazioni

La visualizzazione di controllo fornisce una valutazione più dettagliata del runtime della tua attuale strategia di sicurezza delle applicazioni, cluster per cluster. Per passare alla visualizzazione di controllo:

  1. Seleziona la scheda Policy Audit (Controllo criteri).
  2. Seleziona il Cluster e, facoltativamente, lo Spazio dei nomi che vuoi monitorare dai menu a discesa.

Come nella visualizzazione di riepilogo, puoi vedere lo stato attuale di tutte le funzionalità di sicurezza monitorate. Per mTLS, puoi anche vedere se i tuoi criteri attualmente consentono il traffico non criptato nel tuo mesh di servizi su questo cluster. Questo può accadere se mTLS è abilitato ovunque in modalità permissiva, che consente ai servizi di ricevere sia il traffico mTLS sia in testo normale. Questo è utile per evitare interruzioni impreviste del servizio durante la migrazione a mTLS rigoroso, ma dovrebbe essere aggiornato se vuoi la crittografia end-to-end in tutto il mesh.

L'elenco Carichi di lavoro consente quindi di vedere come funzionano le funzionalità di sicurezza a livello di carico di lavoro. Per ogni carico di lavoro puoi visualizzare:

  • Se sono stati applicati i criteri di rete di Kubernetes
  • I criteri di controllo dell'accesso al servizio Anthos Service Mesh che si applicano al carico di lavoro
  • Il criterio mTLS di Anthos Service Mesh che si applica al carico di lavoro: Permissivo (valore predefinito se non hai creato criteri espliciti applicabili al carico di lavoro), Disattiva o Rigoroso

Visualizza i dettagli della sicurezza dei carichi di lavoro

Seleziona i singoli carichi di lavoro nell'elenco Carichi di lavoro della visualizzazione di controllo per visualizzare ulteriori dettagli sulla loro sicurezza nella visualizzazione dei carichi di lavoro. Per ogni carico di lavoro puoi visualizzare le seguenti informazioni:

  • Se applicabile, un link per visualizzare la definizione dei criteri specifica per ogni funzionalità di sicurezza delle applicazioni che si applica al carico di lavoro.

Screenshot del link a un criterio della rete

  • Dettagli generali del carico di lavoro, tra cui nome, cluster e servizio correlato.
  • Richieste di servizio da e verso questo carico di lavoro, incluse le eventuali richieste rifiutate dai criteri. Se una richiesta viene rifiutata, puoi visualizzare in dettaglio i log pertinenti in Cloud Logging, in modo da risolvere i problemi relativi a rifiuti specifici e trovare altre informazioni utili sulla richiesta.

Screenshot delle richieste di servizio da e verso un carico di lavoro

  • Richieste di criteri di rete da e verso questo carico di lavoro se il logging dei criteri di rete di Dataplane V2 è abilitato nel cluster. Nella sezione successiva puoi scoprire di più su come visualizzare le informazioni sui criteri di rete e comprendere l'impatto sul carico di lavoro.
  • I pod in esecuzione gestiti da questo carico di lavoro.

Visualizza la connettività dei carichi di lavoro con Dataplane V2

Se nel cluster contenente il carico di lavoro è abilitato Dataplane V2, la sezione Richieste di criteri di rete viene visualizzata nell'ambito della visualizzazione del carico di lavoro. Se il logging dei criteri di rete è configurato in modo da registrare le connessioni consentite e negate, viene visualizzato anche il traffico in entrata e in uscita per il carico di lavoro, come nell'esempio seguente.

Screenshot delle richieste dei criteri di rete da e verso un carico di lavoro

La tabella fornisce inoltre informazioni aggiuntive sulle connessioni registrate dal logging dei criteri di rete di Dataplane V2. Per visualizzare queste informazioni per un carico di lavoro specifico:

  1. Fai clic sul menu Altre azioni nella riga della tabella relativa al carico di lavoro che ti interessa.
  2. Dal menu, seleziona le informazioni aggiuntive che vuoi visualizzare:
    • Seleziona Visualizza in GKE per accedere all'interfaccia utente di GKE e ottenere ulteriori informazioni sul carico di lavoro.
    • Seleziona Visualizza log di rifiuto per passare a Cloud Logging con i filtri corrispondenti alle voci di log pertinenti.
    • Seleziona Visualizza connettività criteri di rete per visualizzare un diagramma di connettività che mostra la strategia di sicurezza osservata per ogni direzione della connessione (In uscita e in entrata). Di seguito è riportato un diagramma di esempio.

Screenshot della connettività dei criteri di rete

Simula la connessione tra carichi di lavoro in base ai criteri di rete di cui è stato eseguito il deployment

Se nel cluster che contiene il carico di lavoro è abilitata l'applicazione dei criteri di rete, nella parte superiore della pagina di visualizzazione del carico di lavoro viene visualizzato il pulsante Simula criterio di rete. Questa funzionalità consente di simulare se il carico di lavoro visualizzato può inviare o ricevere traffico in base a un'analisi della configurazione dei criteri di rete di cui è stato eseguito il deployment.

Per simulare la connessione tra i carichi di lavoro:

  1. Fai clic sul pulsante Simula criterio di rete per il carico di lavoro per il quale testare il traffico.
  2. Seleziona la direzione del traffico (in entrata o in uscita) per il carico di lavoro.
  3. Seleziona lo spazio dei nomi e il carico di lavoro da cui testare il traffico.
  4. Fai clic su Simula. Viene visualizzato un diagramma di connettività che mostra lo stato di traffico in uscita e in entrata per la connessione. Il diagramma mostrato è simile a quello utilizzato per la visualizzazione della connettività dei carichi di lavoro con Dataplane V2.

Di seguito è riportato un esempio del modulo per simulare la connessione dei criteri di rete:

Screenshot della simulazione dei criteri di rete

Che cosa succede dopo?