Abilita ispezione TLS

Questa pagina descrive come abilitare l'ispezione TLS (Transport Layer Security) per l'istanza di Secure Web Proxy. Secure Web Proxy offre un servizio di ispezione TLS che consente di intercettare il traffico TLS, ispezionare la richiesta criptata e applicare policy di sicurezza. Per saperne di più sull'ispezione TLS, consulta la panoramica dell'ispezione TLS.

Prima di iniziare

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

Abilita Certificate Authority Service

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

Per abilitare il servizio CA, utilizza il seguente comando:

  gcloud services enable privateca.googleapis.com
  

Crea un pool di CA

Un pool di autorità di certificazione (CA) è una raccolta di più CA con una policy di emissione dei certificati comune e una policy Identity and Access Management (IAM). I pool di CA consentono di ruotare le catene di attendibilità senza interruzioni o tempi di inattività per i loro payload.

Prima di poter utilizzare il servizio CA per creare una CA, devi creare un pool di CA. Questa sezione ti illustra le autorizzazioni necessarie per completare questa attività e poi descrive come creare un pool di CA.

Per generare i certificati, l'ispezione TLS utilizza un account di servizio separato per ogni progetto denominato service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com. Assicurati di aver concesso le autorizzazioni a questo account di servizio per utilizzare il pool di CA. Se questo accesso viene revocato, l'ispezione TLS smette di funzionare.

Per recuperare PROJECT_NUMBER utilizzando PROJECT_ID del progetto del pool di CA, utilizza il seguente comando:

gcloud projects describe <var>PROJECT_ID</var>
    --format="value(projectNumber)"

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: nome del pool di CA
  • TIER: livello della CA, devops o enterprise

    Ti consigliamo di creare il pool di CA nel livello devops perché non è necessario monitorare i certificati emessi singolarmente.

  • PROJECT_ID: ID del progetto del pool di CA

  • REGION: località del pool di CA

Crea un pool di CA subordinate

Se hai più scenari di emissione dei certificati, puoi creare una CA subordinata per ciascuno di questi scenari. Puoi creare una CA subordinata in un pool di CA, e la CA radice firma tutte le CA in quel pool di CA. Questi certificati vengono utilizzati per firmare i certificati server generati per l'ispezione TLS.

Per creare un pool di CA subordinate, utilizza uno dei seguenti metodi.

Crea un pool di CA subordinate utilizzando una CA radice esistente archiviata in Certificate Authority Service

Per generare una CA subordinata:

  1. Crea un pool di CA
  2. Crea CA subordinate all'interno di un pool di CA

Crea un pool di CA subordinate utilizzando una CA radice esistente ospitata 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 esiste una CA radice, puoi crearne una all'interno del servizio CA.

Per creare una CA radice:

  1. Crea una CA radice
  2. Crea un pool di CA subordinate utilizzando una CA radice esistente archiviata nel servizio CA

Crea un account di servizio

Un account di servizio consente di fornire le autorizzazioni necessarie per l'ispezione TLS senza compromettere la sicurezza degli account utente o dell'istanza di Secure Web Proxy.

Se non hai un account di servizio, devi crearne uno e poi concedere le autorizzazioni richieste a questo account di servizio.

  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_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.

    Per recuperare PROJECT_NUMBER utilizzando PROJECT_ID del progetto del pool di CA, utilizza il seguente comando:

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"
    
  2. Per l'account di servizio che hai creato, concedi le autorizzazioni per generare certificati con il pool di CA.

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

Configura Secure Web Proxy per l'ispezione TLS

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

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

Crea una policy di ispezione TLS

Console

  1. Nella Google Cloud console, vai alla pagina Policy di ispezione TLS.

    Vai alle policy di ispezione TLS

  2. Nel menu del selettore dei progetti, seleziona il tuo progetto.

  3. Fai clic su Crea policy di ispezione TLS.

  4. Nel campo Nome, inserisci un nome per la policy.

  5. (Facoltativo) Nel campo Descrizione, inserisci una descrizione per la policy.

  6. Nell'elenco Regione, seleziona la regione in cui vuoi creare la policy.

  7. Nell'elenco Pool di CA, seleziona il pool di CA da cui vuoi creare i certificati.

    Se non hai configurato un pool di CA, fai clic su Nuovo pool e segui le istruzioni nella sezione Crea un pool di CA.

  8. Fai clic su Crea.

gcloud

  1. Crea il file TLS_INSPECTION_FILE.yaml. Sostituisci TLS_INSPECTION_FILE con il nome file richiesto.

  2. Aggiungi il seguente codice al file YAML per configurare la TlsInspectionPolicy richiesta:

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

    Sostituisci quanto segue:

    • PROJECT_ID: ID del progetto
    • REGION: regione in cui creare la policy
    • TLS_INSPECTION_NAME: nome della policy di ispezione TLS di Secure Web Proxy
    • CA_POOL: nome del pool di CA da cui creare i certificati

    Il pool di CA deve esistere nella stessa regione.

Importa la policy di ispezione TLS

Importa la policy 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 la policy di ispezione TLS alla policy di sicurezza

Console

Crea la policy del proxy web

  1. Nella Google Cloud console, vai alla pagina Policy SWP.

    Vai alle policy SWP

  2. Fai clic su Crea una policy.

  3. Inserisci un nome per la policy che vuoi creare, ad esempio myswppolicy.

  4. Inserisci una descrizione della policy, ad esempio My new swp policy.

  5. Nell'elenco Regioni, seleziona la regione in cui vuoi creare la policy di Secure Web Proxy.

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

  7. Nell'elenco Policy di ispezione TLS, seleziona la policy di ispezione TLS che hai creato.

  8. Se vuoi creare regole per la policy, fai clic su Continua e poi su Aggiungi regola. Per maggiori dettagli, vedi Creare regole di Secure Web Proxy.

  9. Fai clic su Crea.

Crea regole di Secure Web Proxy

  1. Nella Google Cloud console, vai alla pagina Policy SWP.

    Vai alle policy SWP

  2. Nel menu del selettore dei progetti, seleziona l'ID organizzazione o la cartella che contiene la policy.

  3. Fai clic sul nome della policy.

  4. Fai clic su Aggiungi regola.

  5. Compila i campi della regola:

    1. Nome
    2. Descrizione
    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 (Nega).
    6. Nella sezione Corrispondenza sessione, specifica i criteri per la corrispondenza della sessione. Per saperne di più sulla sintassi di SessionMatcher, consulta il riferimento al linguaggio del matcher CEL.
    7. Per abilitare l'ispezione TLS, seleziona Abilita l'ispezione TLS.
    8. Nella sezione Corrispondenza applicazione, specifica i criteri per la corrispondenza della richiesta. Se non abiliti la regola per l'ispezione TLS, la richiesta può corrispondere solo al traffico HTTP.
    9. Fai clic su Crea.
  6. Fai clic su Aggiungi regola per aggiungere un'altra regola.

  7. Fai clic su Crea per creare la policy.

Configura un proxy web

  1. Nella Google Cloud console, vai alla pagina Proxy web.

    Vai ai proxy web

  2. Fai clic su Crea un proxy web sicuro.

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

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

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

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

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

  8. (Facoltativo) Inserisci l'indirizzo IP di Secure Web Proxy. Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP di Secure Web Proxy che si trova nella subnet creata nel passaggio precedente. Se non inserisci l'indirizzo IP, l'istanza di Secure Web Proxy sceglie automaticamente un indirizzo IP dalla subnet selezionata.

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

  10. Nell'elenco Policy, seleziona la policy che hai creato per associare il proxy web.

  11. 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 la policy di 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 della policy 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 una policy di ispezione TLS a una policy di sicurezza esistente policy di sicurezza, crea il file POLICY_FILE.yaml. Sostituisci POLICY_FILE con il nome file.

      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
    

Passaggi successivi