Abilita ispezione TLS

In questa pagina viene descritto come abilitare l'ispezione TLS (Transport Layer Security) per la tua istanza Secure Web Proxy.

Prima di iniziare

Prima di configurare Secure Web Proxy per l'ispezione TLS, completa le attività indicate nelle sezioni seguenti.

Abilita CAS

Secure Web Proxy utilizza Certificate Authority Service (CAS) per generare i certificati utilizzati per l'ispezione TLS.

Per abilitare CAS, utilizza il comando seguente:

  gcloud services enable privateca.googleapis.com
  

Crea un pool di CA

Devi creare un pool di autorità di certificazione (CA) prima di poter utilizzare le CA per creare una CA. Questa sezione illustra le autorizzazioni necessarie per completare questa attività, quindi descrive come creare un pool di CA.

Per generare certificati, l'ispezione TLS utilizza un account di servizio separato per ogni progetto chiamato service-{project ID}@gcp-sa-certmanager.iam.gserviceaccount.com. Assicurati di aver concesso a questo account di servizio le autorizzazioni per utilizzare il pool di CA. Se questo accesso viene revocato, l'ispezione TLS smetterà di funzionare.

Per creare il pool, utilizza il comando gcloud privateca pools create e specifica l'ID del pool subordinato, il livello, l'ID progetto e la località.

    gcloud privateca pools create SUBORDINATE_POOL_ID
        --tier=TIER
        --project=PROJECT_ID
        --location=REGION
  

Sostituisci quanto segue:

  • SUBORDINATE_POOL_ID: il nome del pool di CA
  • TIER: il livello CA, devops o enterprise

    Ti consigliamo di creare il pool di CA nel livello devops, poiché il monitoraggio dei certificati emessi singolarmente non è necessario.

  • PROJECT_ID: l'ID del progetto del pool di CA

  • REGION: la località del pool di CA

Crea un pool di CA subordinato

Puoi creare un pool di CA subordinato e la CA radice firma tutte le CA in quel pool. Questi certificati vengono utilizzati per firmare i certificati server generati per l'ispezione TLS.

Per creare un pool subordinato, utilizza uno dei seguenti metodi.

Crea un pool di CA subordinato utilizzando una CA radice esistente archiviata in CAS

Per generare una CA subordinata:

  1. Crea un pool di CA.
  2. Crea CA subordinate in un pool di CA.

Crea un pool di CA subordinato utilizzando una CA radice esistente tenuta esternamente

Per generare una CA subordinata:

  1. Crea un pool di CA.
  2. Crea CA subordinate firmate da una CA radice esterna.

Crea una CA radice

Se non disponi di una CA radice, puoi crearne una all'interno di CAS. Per creare una CA principale:

  1. Crea una CA radice.
  2. Segui i passaggi descritti in Creare un pool di CA subordinato utilizzando una CA radice esistente archiviata in CA.

Per ulteriori informazioni sui pool di CA, consulta la documentazione di Certificate Authority Service.

Crea un account di servizio

Se non disponi di un account di servizio, devi crearne uno e concedere le autorizzazioni richieste.

  1. Crea un account di servizio:

    gcloud beta services identity create \
        --service=networksecurity.googleapis.com \
        --project=PROJECT_ID
    

    In risposta, Google Cloud CLI crea un account di servizio denominato service-{project ID}@gcp-sa-networksecurity.iam.gserviceaccount.com.

  2. Per l'account di servizio che hai creato, concedi le autorizzazioni per generare certificati con il tuo pool di CA:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --member='serviceAccount:SERVICE_ACCOUNT' \
        --role='roles/privateca.certificateManager' \
        --location='REGION'
    

Configurare Secure Web Proxy per l'ispezione TLS

Puoi continuare con le attività in questa sezione solo dopo aver completato le attività prerequisiti elencate nella sezione Prima di iniziare.

Per configurare l'ispezione TLS, completa le attività indicate nelle sezioni seguenti.

Crea un criterio di ispezione TLS

  1. Crea il file TLS_INSPECTION_FILE.yaml. Sostituisci TLS_INSPECTION_FILE con il nome file che preferisci.

  2. Aggiungi il codice seguente al file YAML per configurare il criterio Tls InspectorionPolicy desiderato:

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero del progetto
    • REGION: la regione in cui creare il criterio
    • TLS_INSPECTION_NAME: il nome del criterio di ispezione TLS con Secure Web Proxy
    • CA_POOL: il nome del pool di CA da cui creare i certificati

      Il pool di CA deve esistere all'interno della stessa regione.

Importa il criterio di ispezione TLS

Importa il criterio di ispezione TLS che hai creato nel passaggio precedente:

gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
  --source=TLS_INSPECTION_FILE.yaml \
  --location=REGION

Aggiungi il criterio di ispezione TLS al criterio di sicurezza

Console

Crea il criterio del proxy web

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic sulla scheda Norme.

  4. Fai clic su Crea un criterio.

  5. Inserisci un nome per il criterio che vuoi creare, ad esempio myswppolicy.

  6. Inserisci una descrizione del criterio, ad esempio My new swp policy.

  7. Nell'elenco Regioni, seleziona la regione in cui vuoi creare il criterio Secure Web Proxy.

  8. Per configurare l'ispezione TLS, seleziona Configura ispezione TLS.

  9. Nell'elenco Criterio di ispezione TLS, seleziona il criterio di ispezione TLS che hai creato.

  10. Se vuoi creare regole per il criterio, fai clic su Continua e poi su Aggiungi regola. Per maggiori dettagli, consulta Creare regole di Secure Web Proxy.

  11. Fai clic su Crea.

Crea le regole del proxy web

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Nel menu del selettore dei progetti, seleziona l'ID organizzazione o la cartella che contiene il criterio.

  4. Fai clic sul nome della norma.

  5. Fai clic su Aggiungi regola.

  6. Completa i campi delle regole:

    1. Nome
    2. Description
    3. Stato
    4. Priorità: l'ordine di valutazione numerico della regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.
    5. Nella sezione Azione, specifica se le connessioni che corrispondono alla regola sono consentite (Consenti) o negate (Rifiuta).
    6. Nella sezione Corrispondenza sessione, specifica i criteri per corrispondere alla sessione. Per ulteriori informazioni sulla sintassi di SessionMatcher, consulta la documentazione sul linguaggio matcher CEL.
    7. Per abilitare l'ispezione TLS, seleziona Abilita ispezione TLS.
    8. Nella sezione Corrispondenza applicazione, specifica i criteri per soddisfare la richiesta. Se non abiliti la regola per l'ispezione TLS, la richiesta può corrispondere solo al traffico HTTP.
    9. Fai clic su Crea.
  7. Fai clic su Aggiungi regola per aggiungere un'altra regola.

  8. Fai clic su Crea per creare il criterio.

Configura un proxy web

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic sulla scheda proxy web.

  4. Fai clic su Configura un proxy web.

  5. Inserisci un nome per il proxy web che vuoi creare, ad esempio myswp.

  6. Inserisci una descrizione del proxy web, ad esempio My new swp.

  7. Nell'elenco Regioni, seleziona la regione in cui vuoi creare il proxy web.

  8. Nell'elenco Rete, seleziona la rete in cui vuoi creare il proxy web.

  9. Nell'elenco Subnet, seleziona la subnet in cui vuoi creare il proxy web.

  10. Inserisci l'indirizzo IP del proxy web.

  11. Nell'elenco Certificato, seleziona il certificato che vuoi utilizzare per creare il proxy web.

  12. Nell'elenco Criterio, seleziona il criterio che hai creato per associare il proxy web.

  13. Fai clic su Crea.

Cloud Shell

  1. Crea il file policy.yaml:

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    
  2. Crea il criterio Secure Web Proxy:

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. Crea il file rule.yaml:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com
      description: Allow example.com
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'example.com'
      applicationMatcher: request.path.contains('index.html')
      tlsInspectionEnabled: true
    
  4. Crea la regola del criterio di sicurezza:

      gcloud network-security gateway-security-policies rules import allow-example-com \
          --source=rule.yaml \
          --location=REGION \
          --gateway-security-policy=policy1
    
  5. Per collegare un criterio di ispezione TLS a un criterio di sicurezza esistente, crea il file POLICY_FILE.yaml. Sostituisci POLICY_FILE con il nome file che preferisci.

      description: My Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    

Che cosa succede dopo?