Progetto di sicurezza: PCI su GKE

Last reviewed 2023-12-06 UTC

Il progetto base PCI su Google Kubernetes Engine contiene un set di configurazioni e script di Terraform che mostrano come eseguire il bootstrap di un ambiente PCI in Google Cloud. Il cuore di questo progetto è l'applicazione Online Boutique, che consente agli utenti di sfogliare gli articoli, aggiungerli al carrello e acquistarli.

Questo progetto è stato sviluppato per lo standard Payment Card Industry Data Security Standard (PCI DSS) versione 3.2.1. Il progetto consente di eseguire il deployment su GKE di carichi di lavoro allineati agli standard PCI DSS in modo ripetibile, supportato e sicuro.

Architettura

Panoramica del progetto

In questo progetto, esegui il bootstrap di un ambiente dati del titolare della carta (CDE) in Google Cloud che contiene la seguente gerarchia di risorse:

  • Una risorsa organizzativa.
  • Una risorsa cartella. Le risorse delle cartelle forniscono un meccanismo di raggruppamento e limiti di isolamento tra i progetti.
  • Risorse del progetto. Esegui il deployment dei seguenti progetti Google Cloud:

    • Rete: il progetto host per il VPC condiviso.
    • Gestione: un progetto che conterrà l'infrastruttura di logging e monitoraggio, come Cloud Logging.
    • Ambito: un progetto che contiene le risorse nell'ambito. In questa soluzione, il progetto è un cluster GKE progettato per eseguire le applicazioni nell'ambito. Nell'esempio sono inclusi i servizi Frontend, Payment e Checkout.
    • Fuori ambito: un progetto che contiene le risorse fuori ambito. Nella soluzione si tratta di un cluster GKE progettato per eseguire il resto dei servizi.

Panoramica del progetto.

Applicazione e progetti

Il seguente diagramma illustra il confine CDE su Google Cloud e quali progetti rientrano nell'ambito della valutazione PCI dell'applicazione demo dei microservizi. Durante la creazione dell'ambiente, puoi utilizzare un'illustrazione come questa per comunicare a Google Cloud le risorse da e verso il confine PCI.

Il percorso 1 mostra i dati di log dei cluster Kubernetes che accedono a Cloud Logging.

Deployment dell'applicazione.

Layout di rete

Questo diagramma illustra i dettagli della rete e della subnet all'interno di ogni progetto. Documenta i flussi di dati tra i progetti e in entrata e in uscita dal confine del CDE.

Layout di rete.

Traffico criptato

Questo diagramma mostra il traffico criptato in entrata e in uscita dal confine PCI:

  1. Il traffico criptato TLS (HTTPS) dall'esterno del VPC va al bilanciatore del carico pubblico in ambito.
  2. Il traffico criptato TLS tra i nodi del cluster Kubernetes all'interno dell'ambito e il cluster fuori ambito va ai bilanciatori del carico interni.
  3. Il traffico dai bilanciatori del carico interni al cluster fuori ambito viene criptato con mTLS utilizzando Istio.
  4. Le comunicazioni all'interno di ogni cluster sono criptate con mTLS utilizzando Istio.

Traffico criptato.

Mappatura della conformità

Il progetto descritto in questo documento risponde a una serie di requisiti di conformità PCI DSS. La tabella di questa sezione evidenzia alcuni di questi requisiti.

Le voci della tabella seguente non soddisfano tutti i requisiti; la conformità con alcuni requisiti è soddisfatta dall'infrastruttura Google Cloud nell'ambito di una responsabilità condivisa tra te e Google. La conformità ad altri requisiti deve essere implementata da te. Per una spiegazione dettagliata del modello di responsabilità condivisa, consulta Esplorazione della sicurezza dei container: il modello di responsabilità condivisa in GKE sul blog di Google Cloud.

I numeri tra parentesi si riferiscono alle sezioni del documento Payment Card Industry (PCI) Data Security Standard. Puoi scaricare il documento dalla raccolta di documenti del sito web del PCI Security Standards Council.

Requisito Sezione Descrizione
Implementare la segmentazione e la protezione dei confini 1.3.2, 1.3.4 Questo progetto consente di implementare una segmentazione logica utilizzando i progetti Google Cloud. La segmentazione consente di creare un confine per la valutazione PCI. Questo progetto esegue Istio su Google Kubernetes Engine come componente aggiuntivo che consente di creare un mesh di servizi intorno al cluster GKE che include tutti i componenti necessari. Il progetto crea anche un perimetro di sicurezza utilizzando VPC per tutti i progetti Google Cloud che rientrano nell'ambito dello standard PCI.
Configura l'accesso con privilegi minimi alle risorse Google Cloud 7,1, 7,2 Questo progetto consente di implementare controllo dell'accesso basato sui ruoli per gestire chi ha accesso alle risorse Google Cloud. Il progetto implementa anche controlli dell'accesso specifici per GKE come il controllo degli accessi basato sui ruoli (RBAC) e gli spazi dei nomi per limitare l'accesso alle risorse del cluster.
Stabilire criteri a livello di organizzazione   Con questo progetto, definisci criteri che si applicano alla tua risorsa Organizzazione Google Cloud, come ad esempio:
Forza la separazione dei compiti tramite un VPC condiviso 7.1.2, 7.1.3 Questo progetto utilizza un VPC condiviso per la connettività e il controllo di rete segregata per applicare la separazione dei compiti.
Rafforza la sicurezza del cluster 2,2, 2,2,5 I cluster GKE in questo progetto sono protetti come descritto nella guida di protezione di GKE.

Questo elenco è solo un sottoinsieme dei controlli di sicurezza implementati in questo progetto che possono soddisfare i requisiti PCI DSS. Puoi trovare un elenco completo dei requisiti soddisfatti nel documento Requisiti PCI DSS (PDF) su GitHub.

Asset di cui è possibile eseguire il deployment

Il repository PCI e GKE Blueprint su GitHub contiene un set di configurazioni e script Terraform che mostrano come eseguire il bootstrap di un ambiente PCI in Google Cloud. Il progetto PCI su GKE illustra anche i servizi, gli strumenti e i progetti di Google Cloud utili per avviare un ambiente PCI Google Cloud.

Domande frequenti

Risorse

  • Conformità PCI DSS su Google Cloud. Questa guida ti aiuta a risolvere i problemi specifici delle applicazioni Google Kubernetes Engine (GKE) al momento di implementare le responsabilità del cliente per i requisiti PCI DSS.