Configura l'ispezione TLS

Questa pagina descrive come configurare l'ispezione TLS (Transport Layer Security) per Cloud Next Generation Firewall.

Prima di iniziare

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

Abilita Certificate Authority Service

Cloud NGFW utilizza Certificate Authority Service per generare autorità di certificazione (CA) intermedie. Cloud NGFW utilizza queste CA intermedie per generare i certificati utilizzati per l'ispezione TLS.

Puoi abilitare l'API CA Service utilizzando la console Google Cloud :

Enable the API

Per attivare CA Service utilizzando Google Cloud CLI, utilizza il seguente comando:

   gcloud services enable privateca.googleapis.com
  

Abilita Certificate Manager

Cloud NGFW utilizza Certificate Manager per creare configurazioni di attendibilità. Se non vuoi utilizzare le configurazioni di attendibilità, salta questo passaggio.

Puoi abilitare l'API Certificate Manager utilizzando la console Google Cloud :

Enable the API

Per abilitare Certificate Manager utilizzando Google Cloud CLI, utilizza il seguente comando:

   gcloud services enable certificatemanager.googleapis.com
  

Crea una configurazione dell'attendibilità

Questo passaggio è facoltativo. Per creare una configurazione di attendibilità, segui i passaggi descritti in questa sezione.

  1. Crea un pool di CA.

    Il pool di CA che crei in questo passaggio è diverso da quello che crei per configurare la policy di ispezione TLS.

  2. Crea una CA radice utilizzando il pool di CA che hai creato in precedenza.

  3. Crea un certificato utilizzando una chiave generata automaticamente. Utilizza lo stesso nome del pool di CA creato in precedenza.

  4. Ottieni il certificato pubblico della CA dal certificato creato.

    $PEM-CERT=$(gcloud privateca roots describe ROOT_CA_NAME \
       --location LOCATION \
       --project PROJECT_ID \
       --pool CA_POOL \
       --format "value(pemCaCertificates)")
    

    Sostituisci quanto segue:

    • ROOT_CA_NAME: il nome della CA radice
    • LOCATION: la posizione della CA radice
    • PROJECT_ID: l'ID progetto della CA radice
    • CA_POOL: il nome del pool di CA da cui creare i certificati
  5. Crea e importa una configurazione di attendibilità utilizzando PEM-CERT ottenuto nel passaggio precedente. Se utilizzi la tua CA, usa il certificato pubblico ottenuto dalla CA.

Utilizzi questa configurazione di attendibilità per creare una policy di ispezione TLS.

Crea un pool di CA

Prima di poter utilizzare il servizio CA per creare una CA, devi creare un pool di CA.

Per creare un pool di CA, segui le istruzioni riportate in Creazione di pool di CA.

Utilizzi questo pool di CA per creare una policy di ispezione TLS.

Crea una CA radice

Se non hai un'autorità di certificazione radice esistente, puoi crearne una all'interno di CA Service. Per creare una CA radice, segui le istruzioni riportate in Creazione di una CA radice e utilizza lo stesso pool di CA creato in precedenza (vedi la sezione Creare un pool di CA).

Per utilizzare una CA radice esterna esistente, crea una CA subordinata all'interno del servizio CA, firmata dalla CA radice esterna.

Per NGFW Enterprise, i certificati subordinati richiedono una limitazione della lunghezza del percorso non inferiore a 1 per poter generare una CA intermedia. Per impostazione predefinita, il certificato subordinato e la CSR vengono generati con una limitazione della lunghezza del percorso pari a 0. Questo deve essere modificato. Al momento, questa operazione non può essere eseguita tramite la console, ma solo tramite i comandi Google Cloud CLI forniti da CAS utilizzando alcuni dei seguenti flag

  • Flag --extended-key-usages: specifica gli utilizzi estesi della chiave per il certificato.

  • Flag --key-usages: specifica gli utilizzi della chiave per il certificato.

  • Flag --max-chain-length: definisce la profondità massima delle CA subordinate consentite in questa CA per un certificato CA.

gcloud

gcloud privateca subordinates create SUBORDINATE_CA_ID \
    --pool=SUBORDINATE_POOL_ID \
    --location=LOCATION \
    --create-csr --csr-output-file=FILE_NAME \
    --key-algorithm="ec-p256-sha256" \
    --subject="CN=Example Server TLS CA, O=Example LLC
    --key-algorithm=rsa-pss-4096-sha256 \
    --key-usages=cert_sign,crl_sign \
    --extended-key-usages=server_auth \
    --max-chain-length=1"
  

Sostituisci quanto segue:

  • SUBORDINATE_CA_ID: l'identificatore univoco della CA subordinata.
  • SUBORDINATE_POOL_ID: il nome del pool di CA.
  • LOCATION: la posizione del pool di CA.
  • FILE_NAME: il nome del file in cui viene scritta la CSR con codifica PEM.

Viene creata la richiesta CSR che restituisce quanto segue

    Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID] and saved CSR to FILE_NAME.
    

Per attivare la CA subordinata, devi firmare la CSR dopo la sua creazione.

Crea un account di servizio

Se non hai 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
    

    Sostituisci PROJECT_ID con l'ID progetto del service account.

    Google Cloud CLI crea un account di servizio denominato service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com. Qui, PROJECT_NUMBER è l'identificatore univoco di PROJECT_ID che hai fornito nel comando precedente.

  2. Concedi al account di servizio l'autorizzazione per generare certificati che utilizzano il tuo pool di CA:

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

    Sostituisci quanto segue:

    • CA_POOL: il nome del pool di CA da cui creare i certificati
    • SERVICE_ACCOUNT: il nome del account di servizio creato nel passaggio precedente
    • LOCATION: la regione del pool di CA

Configura l'ispezione TLS

Prima di procedere con le attività descritte in questa sezione, assicurati di aver configurato i certificati o di 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 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. In Nome, inserisci un nome.

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

  6. Nell'elenco Regione, seleziona la regione in cui 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 dell'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 dell'attendibilità privata, seleziona la configurazione dell'attendibilità con l'archivio attendibilità configurato da utilizzare per considerare attendibili i certificati del server upstream. Per saperne di più su come creare una configurazione di attendibilità, vedi Creare una configurazione di attendibilità.

    • CA pubbliche e private:seleziona questa opzione se vuoi utilizzare CA pubbliche e 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 più ampio set di client, inclusi quelli che supportano solo funzionalità TLS obsolete, di negoziare TLS.
    • Moderno: supporta un ampio set di funzionalità TLS, consentendo ai client moderni di negoziare TLS.
    • Limitato: supporta un set ridotto di funzionalità TLS destinate a soddisfare requisiti di conformità più rigidi.
    • Personalizzato: consente di selezionare singolarmente le funzionalità TLS.

      Nell'elenco Suite di crittografia, seleziona il nome delle suite di crittografia supportate dal profilo personalizzato.

  11. Fai clic su Crea.

gcloud

  1. Crea un file YAML TLS_INSPECTION_FILE.yaml. Sostituisci TLS_INSPECTION_FILE con un nome file a tua scelta.

  2. Aggiungi il seguente codice al file YAML per configurare il criterio di ispezione TLS.

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    minTlsVersion: TLS_VERSION
    tlsFeatureProfile: PROFILE_TYPECIPHER_NAME
    excludePublicCaSet: `TRUE`|`FALSE`
    trustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto della policy di ispezione TLS
    • REGION: la regione in cui viene creato il criterio di ispezione TLS
    • TLS_INSPECTION_NAME: il nome della policy di ispezione TLS
    • CA_POOL: il nome del pool di CA da cui creare i certificati

      Il pool di CA deve esistere nella stessa regione.

    • TLS_VERSION: un argomento facoltativo che specifica la versione TLS minima supportata da Cloud NGFW

      Puoi scegliere uno dei seguenti valori:

      • TLS_1_0
      • TLS_1_1
      • TLS_1_2
    • PROFILE_TYPE: un argomento facoltativo che specifica il tipo di profilo TLS

      Puoi scegliere uno dei seguenti valori:

      • PROFILE_COMPATIBLE: consente al set più ampio di client, inclusi quelli che supportano solo funzionalità TLS obsolete, di negoziare TLS.
      • PROFILE_MODERN: supporta un'ampia gamma di funzionalità TLS, consentendo ai client moderni di negoziare TLS.
      • PROFILE_RESTRICTED: supporta un set ridotto di funzionalità TLS inteso a soddisfare requisiti di conformità più rigidi.
      • PROFILE_CUSTOM: consente di selezionare singolarmente le funzionalità TLS.
    • CIPHER_NAME: un argomento facoltativo per specificare il nome della suite di crittografia supportata dal profilo personalizzato

      Specifica questo argomento solo quando il tipo di profilo è impostato su PROFILE_CUSTOM.

    • excludePublicCaSet: un flag facoltativo per includere o escludere un insieme di CA pubbliche. Per impostazione predefinita, questo flag è impostato su false. Se questo flag è impostato su true, le connessioni TLS non considerano attendibili i server CA pubblici. In questo caso, Cloud NGFW può stabilire connessioni TLS solo con server con certificati firmati da CA nella configurazione di attendibilità.

    • TRUST_CONFIG_NAME: un argomento facoltativo per specificare il nome della risorsa di configurazione dell'attendibilità

  3. Importa la policy di ispezione TLS che hai creato nella sezione Crea una policy di ispezione TLS

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

    Sostituisci quanto segue:

    • TLS_INSPECTION_NAME: il nome della policy di ispezione TLS
    • TLS_INSPECTION_FILE: il nome del file YAML del criterio di ispezione TLS

Visualizzare i dettagli di una policy di ispezione TLS

Puoi visualizzare le informazioni sulla policy di ispezione TLS che hai creato nel tuo progetto.

Console

  1. Nella console Google Cloud , 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. Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.

  4. Per visualizzare i dettagli, fai clic sul nome della policy di ispezione TLS.

Aggiungi una policy di ispezione TLS a un'associazione di endpoint firewall

Per aggiungere il criterio di ispezione TLS a un'associazione di endpoint firewall, segui i passaggi descritti in Crea associazioni di endpoint firewall.

Configura le regole delle policy del firewall con l'ispezione TLS

Per attivare l'ispezione TLS per la tua rete Virtual Private Cloud (VPC), imposta il flag --tls-inspect nella regola dei criteri firewall. Questo flag indica che l'ispezione TLS può essere eseguita quando viene applicato il gruppo di profili di sicurezza.

Per scoprire di più su come attivare il flag --tls-inspect nelle regole dei criteri firewall gerarchici, vedi Creare regole firewall.

Per scoprire di più su come attivare il flag --tls-inspect nelle regole delle policy del firewall di rete globale, consulta Creare regole firewall di rete globali.

Gestisci la policy di ispezione TLS

Puoi elencare, aggiornare ed eliminare le policy di ispezione TLS nel tuo progetto.

Elenca tutte le policy di ispezione TLS

Puoi elencare tutte le policy di ispezione TLS in un progetto.

Console

  1. Nella console Google Cloud , 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. Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.

gcloud

Per elencare tutte le policy di ispezione TLS, utilizza il comando gcloud network-security tls-inspection-policies list:

gcloud network-security tls-inspection-policies list \
    --project PROJECT_ID \
    --location REGION

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per la policy di ispezione TLS
  • REGION: il nome della regione per cui vuoi elencare la policy di ispezione TLS

Modifica una policy di ispezione TLS

Puoi modificare una policy di ispezione TLS esistente nel tuo progetto.

Console

  1. Nella console Google Cloud , 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. Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.

  4. Per modificare una policy, fai clic sul nome della policy di ispezione TLS.

  5. Fai clic su Modifica.

  6. Modifica i campi obbligatori. Per saperne di più su ogni campo, consulta Crea una policy di ispezione TLS.

  7. Fai clic su Salva.

Elimina una policy di ispezione TLS

Puoi eliminare una policy di ispezione TLS dal tuo progetto. Tuttavia, se il criterio di ispezione TLS viene a cui fa riferimento un'associazione degli endpoint firewall, non può essere eliminato.

Console

  1. Nella console Google Cloud , 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. Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.

  4. Per eliminare una policy di ispezione TLS, seleziona la casella di controllo accanto al nome.

  5. Fai clic su Elimina.

  6. Fai di nuovo clic su Elimina.

gcloud

Per eliminare una policy di ispezione TLS, utilizza il comando gcloud network-security tls-inspection-policies delete:

gcloud network-security tls-inspection-policies delete \
    projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME \
    --location REGION

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto della policy di ispezione TLS
  • TLS_INSPECTION_NAME: il nome dell'ispezione TLS
  • REGION: la regione in cui viene creato il criterio di ispezione TLS

Passaggi successivi