Panoramica della sicurezza di Cloud Service Mesh

La sicurezza di Cloud Service Mesh ti aiuta a mitigare le minacce interne e ridurre le rischio di violazione dei dati, garantendo che tutte le comunicazioni tra i carichi di lavoro sono criptati, autenticati reciprocamente e autorizzati.

Tradizionalmente, la micro-segmentazione che utilizza regole basate sull'IP è stata utilizzata per a mitigare i rischi legati agli addetti ai lavori. Tuttavia, l'adozione di container, servizi e distribuiti, distribuiti su più cloud, fa sì che questo e un approccio più complesso da configurare e da mantenere.

Con Cloud Service Mesh, puoi configurare un livello di servizio sensibile al contesto e richiedere una sicurezza di rete sensibile al contesto che sia indipendente dal livello della rete sottostante. Per questo motivo, Cloud Service Mesh ti consente di adottare postura di difesa in profondità coerente con la sicurezza Zero Trust principi. Consente di raggiungere questa posizione tramite criteri dichiarativi e senza modificare il codice dell'applicazione.

TLS reciproco

Cloud Service Mesh utilizza il protocollo TLS reciproca (mTLS) per l'autenticazione peer. Autenticazione si riferisce all'identità: chi è questo servizio? chi è questo utente finale? e posso fidarmi di quanto che sono chi dicono di essere?

mTLS consente ai carichi di lavoro di verificare le identità reciproche di autenticarsi reciprocamente. Forse hai già familiarità con il linguaggio TLS semplice, grazie alla sua per consentire ai browser di considerare attendibili i server web e criptare i dati che viene scambiato. Quando si utilizza TLS semplice, il client stabilisce che il server può essere considerata attendibile convalidando il certificato. mTLS è un'implementazione di TLS in cui sia il client che il server presentano certificati tra loro e verificano l'identità degli altri.

mTLS è il mezzo con cui Cloud Service Mesh implementa sia l'autenticazione sia la crittografia tra i servizi.

In Cloud Service Mesh 1.6 e versioni successive, mTLS automatico è abilitato per impostazione predefinita. Con cambio automatico mTLS, un proxy sidecar client rileva automaticamente se il server ha un file collaterale. Il lato client invia mTLS ai carichi di lavoro con file collaterali e invia testo normale ai carichi di lavoro senza sidecar. Tuttavia, tieni presente che i servizi accettano sia il testo normale che Traffico mTLS. Per proteggere il tuo mesh di servizi, ti consigliamo di eseguire la migrazione per accettare solo traffico mTLS.

Per ulteriori informazioni sull'applicazione solo di mTLS, vedi Cloud Service Mesh, ad esempio: mTLS.

Configurazione della suite di crittografia

Il seguente elenco include la crittografia predefinita conforme a FIPS di Cloud Service Mesh suite:

ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384

Per maggiore sicurezza, la versione TLS minima lato server supportata La versione 1.2 dei carichi di lavoro di Cloud Service Mesh supporta la personalizzazione delle suite di crittografia. Tieni presente che Cloud Service Mesh supporta anche TLS v1.3, che utilizza suite di crittografia hard-coded e non supporta la loro modifica.

Per ulteriori informazioni sui pacchetti di crittografia, consulta Configurazione TLS comune di Envoy e Autenticazione TLS reciproca di Istio.

Vantaggi per la sicurezza

Cloud Service Mesh offre i seguenti vantaggi in termini di sicurezza:

  • Riduce il rischio di attacchi di ripetizione o di impersonificazione che utilizzano il furto e credenziali. Cloud Service Mesh si basa sui certificati mTLS per l'autenticazione peer, anziché token di connessione come JSON Web Tokens (JWT). Poiché i certificati mTLS sono associati al canale TLS, non è possibile a un'entità all'interno dell'ambiente di produzione per impersonare un'altra entità riproduzione del token di autenticazione senza accesso alle chiavi private.

  • Garantisce la crittografia in transito. L'uso di mTLS per l'autenticazione garantisce inoltre che tutte le comunicazioni TCP siano criptate in transito.

  • Garantisce che solo i clienti autorizzati possano accedere a un servizio con informazioni dati. Solo i clienti autorizzati possono accedere a un servizio con dati sensibili indipendentemente dalla località di rete del client e a livello di applicazione e credenziali. Puoi specificare che solo i clienti con servizio autorizzato di identità o negli spazi dei nomi Kubernetes autorizzati. Puoi usano anche i criteri di accesso basati su IP per concedere l'accesso ai client distribuiti all'esterno nell'ambiente GKE Enterprise.

  • Riduce il rischio di violazione dei dati utente all'interno della tua rete di produzione. Tu garantire che gli addetti ai lavori possano accedere ai dati sensibili solo tramite clienti. Inoltre, puoi fare in modo che determinati clienti possano accedere solo ai dati utente se il client può presentare un token utente valido e di breve durata. Questo riduce il rischio che la compromissione di una singola credenziale client conceda l'accesso da parte di un malintenzionato a tutti i dati utente.

  • Identifica i client che hanno eseguito l'accesso a un servizio con dati sensibili. Il logging degli accessi di Cloud Service Mesh acquisisce l'identità mTLS del client oltre all'indirizzo IP. In questo modo, puoi capire facilmente quale carico di lavoro anche se il carico di lavoro è temporaneo e il deployment è dinamico, e in un altro cluster o rete Virtual Private Cloud (VPC).

Funzionalità

Questa sezione descrive le funzionalità che Cloud Service Mesh fornisce per realizzare e i suoi vantaggi in termini di sicurezza.

Rotazione automatica del certificato e della chiave

L'uso di mTLS basato sulle identità di servizio consente di criptare tutti i TCP comunicazioni e fornisce una credenziale più sicura e non riproducibile per l'accesso controllo. Una delle principali sfide dell'uso di mTLS su larga scala è la gestione delle chiavi e certificati per tutti i carichi di lavoro di destinazione. Cloud Service Mesh si occupa di ruotare Chiavi e certificati mTLS per i carichi di lavoro di GKE Enterprise senza interruzioni le comunicazioni. È possibile configurare intervalli più piccoli di aggiornamento dei certificati ridurre i rischi.

Autorità di certificazione Cloud Service Mesh

Cloud Service Mesh include un certificato privato gestito per più regioni l'autorità di certificazione Cloud Service Mesh, per il rilascio di certificati per mTLS. L'autorità di certificazione Cloud Service Mesh è un servizio altamente affidabile e scalabile, ottimizzato per carichi di lavoro con scalabilità dinamica su una piattaforma cloud. Con dell'autorità di certificazione Cloud Service Mesh, Google gestisce la sicurezza e la disponibilità Backend CA. L'autorità di certificazione Cloud Service Mesh ti consente di affidarti a un'unica radice di attendibilità nei cluster GKE Enterprise. Quando utilizzi l'autorità di certificazione Cloud Service Mesh, puoi: si basano sui pool di identità per i carichi di lavoro per fornire un isolamento granulare. Di Per impostazione predefinita, l'autenticazione non riesce se il client e il server non si trovano nello stesso pool di identità per i carichi di lavoro.

I certificati emessi dall'autorità di certificazione Cloud Service Mesh includono i seguenti dati su dei servizi della tua applicazione:

  • ID del progetto Google Cloud
  • Lo spazio dei nomi GKE
  • Il nome dell'account di servizio GKE

Certificate Authority Service

In alternativa all'autorità di certificazione Cloud Service Mesh, puoi configurare Cloud Service Mesh per utilizzare Certificate Authority Service, che è adatto per i seguenti casi d'uso:

  • Se sono necessarie autorità di certificazione diverse su cui firmare i certificati dei carichi di lavoro in diversi cluster.
  • Se vuoi utilizzare i certificati plug-in CA personalizzati Istiod.
  • Se devi eseguire il backup delle chiavi di firma in un HSM gestito.
  • Se operi in un settore altamente regolamentato e sei soggetto a conformità.
  • Se vuoi collegare la tua CA Cloud Service Mesh a un'azienda personalizzata per firmare i certificati dei carichi di lavoro.

Il costo dell'autorità di certificazione Cloud Service Mesh è incluso in Cloud Service Mesh pricing. Il servizio CA non è incluso nella configurazione di base Il prezzo di Cloud Service Mesh è addebitato separatamente. Inoltre, CA Service prevede uno SLA (accordo sul livello del servizio) esplicito, al contrario dell'autorità di certificazione Cloud Service Mesh.

Per questa integrazione, a tutti i carichi di lavoro in Cloud Service Mesh vengono concessi due Ruoli IAM:

Criteri di controllo dell'accesso sensibile all'identità (firewall)

Con Cloud Service Mesh, puoi configurare criteri di sicurezza di rete in base all'identità mTLS rispetto all'indirizzo IP del peer. Questo consente di Creare criteri indipendenti dalla località di rete del carico di lavoro. Al momento sono disponibili solo le comunicazioni tra i cluster nello stesso progetto Google Cloud supportati.

Richiedi criteri di controllo dell'accesso sensibile alle rivendicazioni (firewall)

Oltre all'identità mTLS, puoi concedere l'accesso in base alle rivendicazioni delle richieste nell'intestazione JWT delle richieste HTTP o gRPC. Cloud Service Mesh ti consente di dichiarare che un JWT sia firmato da un'entità attendibile. Ciò significa che puoi configurare criteri che consentono l'accesso da determinati client solo in caso di rivendicazione di una richiesta o corrisponde a un valore specificato.

Autenticazione degli utenti con Identity-Aware Proxy

Autentichi gli utenti che accedono a qualsiasi servizio esposto su una il gateway in entrata Cloud Service Mesh utilizzando Identity-Aware Proxy (IAP). IAP può autenticare gli utenti che accedono da un browser, si integrano con provider di identità personalizzati ed emettere un token JWT di breve durata o un RCToken che può essere utilizzato per concedere l'accesso al gateway in entrata o a un servizio downstream (utilizzando una side-car). Per ulteriori informazioni, vedi Integrazione di IAP con Cloud Service Mesh.

Autenticazione degli utenti con il provider di identità esistente

Puoi integrare il tuo provider di identità esistente con Cloud Service Mesh per l'autenticazione degli utenti finali e il controllo dell'accesso basati su browser carichi di lavoro con scale out impegnativi. Per ulteriori informazioni, vedi Configurare l'autenticazione utente di Cloud Service Mesh.

Logging e monitoraggio degli accessi

Cloud Service Mesh garantisce che i log e le metriche degli accessi siano disponibili Google Cloud Observability e fornisce una dashboard integrata per comprendere i pattern di accesso di un servizio o di un carico di lavoro in base a questi dati. Tu puoi anche scegliere di configurare una destinazione privata. Cloud Service Mesh consente si riduce il rumore nei log degli accessi registrando gli accessi riusciti solo una volta in un configurabile. Richieste rifiutate da un criterio di sicurezza o dei risultati in un errore vengono sempre registrati. Ciò consente di ridurre significativamente associati all'importazione, all'archiviazione e all'elaborazione dei log, senza perdite dei principali segnali di sicurezza.

Conforme a FIPS

Tutti i componenti e i proxy del piano di controllo nel cluster utilizzano l'architettura x86 Crittografia convalidata FIPS 140-2 moduli.

Limitazioni

La sicurezza di Cloud Service Mesh attualmente presenta le seguenti limitazioni:

  • L'autenticazione utente che utilizza IAP richiede che un servizio sia pubblicata su internet. IAP e Cloud Service Mesh ti consentono configurare criteri che possono limitare l'accesso a utenti e client autorizzati in un in un intervallo IP consentito. Se scegli di esporre il servizio solo ai client all'interno nella stessa rete, devi configurare un motore dei criteri personalizzati per l'utente l'autenticazione e l'emissione di token.

Passaggi successivi