Abilita ispezione TLS

Questa pagina descrive come attivare 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 i criteri di sicurezza. Per ulteriori informazioni 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, compila le attività nelle sezioni seguenti.

Attiva il servizio dell'autorità di certificazione

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

Per attivare 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 un criterio di emissione dei certificati comune e un criterio 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.

Devi creare un pool di CA prima di poter utilizzare CA Service per creare una CA. Questa sezione illustra le autorizzazioni necessarie per completare questa attività e descrive come creare un pool di CA.

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

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

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"

Per creare il pool, utilizza il comando gcloud privateca pools create e specifica l'ID pool secondario, 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: livello CA, devops o enterprise

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

  • PROJECT_ID: ID del progetto del pool di CA

  • REGION: posizione del pool di CA

Crea un pool di CA subordinate

Se hai più scenari di rilascio 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 nel pool. Questi certificati vengono utilizzati per firmare i certificati server generati per l'ispezione TLS.

Per creare un pool di CA secondario, 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. Creare un pool di CA
  2. Creare CA subordinate all'interno di un pool di CA

Crea un pool di CA subordinate utilizzando una CA radice esistente detenuta esternamente

Per generare una CA subordinata:

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

Crea una CA radice

Se non esiste una CA principale, puoi crearne una all'interno di CA Service.

Per creare una CA radice:

  1. Creare una CA radice
  2. Crea un pool di CA secondario utilizzando una CA radice esistente memorizzata 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 dei tuoi account utente o dell'istanza di Secure Web Proxy stessa.

Se non hai un account di servizio, devi crearne uno e poi 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 chiamato service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.

    Per recuperare il PROJECT_NUMBER utilizzando il 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'
    

Configurare 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 console Google Cloud, vai alla pagina Criteri di ispezione TLS.

    Vai alle policy di ispezione TLS

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

  3. Fai clic su Crea criterio di ispezione TLS.

  4. In Nome, inserisci un nome.

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

  6. Nell'elenco Regione, seleziona la regione per la quale vuoi creare la policy di ispezione TLS.

  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 riportate in Creare un pool di CA.

  8. (Facoltativo) Nell'elenco Versione TLS minima, seleziona la versione TLS minima supportata dal criterio.

  9. Per la Configurazione attendibilità, seleziona una delle seguenti opzioni:

    • Solo CA pubbliche: seleziona questa opzione se vuoi considerare attendibili i server con certificati firmati pubblicamente.
    • Solo CA private: seleziona questa opzione se vuoi considerare attendibili i server con certificati firmati privatamente.

      Nell'elenco Configurazione attendibilità privata, seleziona la configurazione attendibilità con il repo attendibilità configurato da utilizzare per considerare attendibili i certificati del server a monte. Per ulteriori informazioni su come creare una configurazione attendibilità, consulta Creare una configurazione attendibilità.

    • CA pubbliche e private: seleziona questa opzione se vuoi utilizzare sia le CA pubbliche sia quelle private.

  10. (Facoltativo) Nell'elenco Profilo della suite di crittografia, seleziona il tipo di profilo TLS. Puoi scegliere uno dei seguenti valori:

    • Compatibile: consente al set più ampio di client, inclusi i client che supportano solo funzionalità TLS obsolete, di negoziare TLS.
    • Moderno: supporta un'ampia gamma di funzionalità TLS, consentendo ai client moderni di negoziare TLS.
    • Con restrizioni: supporta un insieme ridotto di funzionalità TLS inteso a soddisfare requisiti di conformità più rigidi.
    • Personalizzato: ti consente di selezionare singolarmente le funzionalità TLS.

      Nell'elenco Suite di crittografia, seleziona le suite di crittografia supportate dal profilo personalizzato.

  11. 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 il valore obbligatorio TlsInspectionPolicy:

    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 deve essere creato il criterio
    • TLS_INSPECTION_NAME: nome del criterio di ispezione TLS di Secure Web Proxy
    • CA_POOL: il nome del pool di CA da cui devono essere creati i certificati

    Il pool di CA deve esistere nella stessa regione.

Importa il criterio di ispezione TLS

Importa il criterio di ispezione TLS 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 di rete.

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  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 della norma, ad esempio My new swp policy.

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

  8. Per configurare l'ispezione TLS, seleziona Configura l'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.

Creare regole di Secure Web Proxy

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

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  3. Nel menu di selezione del progetto, seleziona l'ID dell'organizzazione o la cartella contenente il criterio.

  4. Fai clic sul nome del criterio.

  5. Fai clic su Aggiungi regola.

  6. 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 ulteriori informazioni sulla sintassi di SessionMatcher, consulta il riferimento al linguaggio dei corrispondenti CEL.
    7. Per attivare l'ispezione TLS, seleziona Attiva ispezione TLS.
    8. Nella sezione Corrispondenza delle applicazioni, specifica i criteri per la corrispondenza della richiesta. Se non attivi 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.

Configurare un proxy web

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

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  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 da utilizzare per creare il proxy web.

  12. Nell'elenco Norma, seleziona la norma creata 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.

      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