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 :
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 :
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.
-
Il pool di CA che crei in questo passaggio è diverso da quello che crei per configurare la policy di ispezione TLS.
Crea una CA radice utilizzando il pool di CA che hai creato in precedenza.
Crea un certificato utilizzando una chiave generata automaticamente. Utilizza lo stesso nome del pool di CA creato in precedenza.
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 radiceLOCATION
: la posizione della CA radicePROJECT_ID
: l'ID progetto della CA radiceCA_POOL
: il nome del pool di CA da cui creare i certificati
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.
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 diPROJECT_ID
che hai fornito nel comando precedente.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 certificatiSERVICE_ACCOUNT
: il nome del account di servizio creato nel passaggio precedenteLOCATION
: 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
Nella console Google Cloud , vai alla pagina Policy di ispezione TLS.
Nel menu del selettore dei progetti, seleziona il tuo progetto.
Fai clic su Crea policy di ispezione TLS.
In Nome, inserisci un nome.
(Facoltativo) Nel campo Descrizione, inserisci una descrizione.
Nell'elenco Regione, seleziona la regione in cui vuoi creare la policy di ispezione TLS.
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.
(Facoltativo) Nell'elenco Versione TLS minima, seleziona la versione TLS minima supportata dal criterio.
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.
(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.
Fai clic su Crea.
gcloud
Crea un file YAML
TLS_INSPECTION_FILE.yaml
. SostituisciTLS_INSPECTION_FILE
con un nome file a tua scelta.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 TLSREGION
: la regione in cui viene creato il criterio di ispezione TLSTLS_INSPECTION_NAME
: il nome della policy di ispezione TLSCA_POOL
: il nome del pool di CA da cui creare i certificatiIl pool di CA deve esistere nella stessa regione.
TLS_VERSION
: un argomento facoltativo che specifica la versione TLS minima supportata da Cloud NGFWPuoi 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 TLSPuoi 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 personalizzatoSpecifica 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à
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 TLSTLS_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
Nella console Google Cloud , vai alla pagina Policy di ispezione TLS.
Nel menu del selettore dei progetti, seleziona il tuo progetto.
Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.
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
Nella console Google Cloud , vai alla pagina Policy di ispezione TLS.
Nel menu del selettore dei progetti, seleziona il tuo progetto.
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 TLSREGION
: 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
Nella console Google Cloud , vai alla pagina Policy di ispezione TLS.
Nel menu del selettore dei progetti, seleziona il tuo progetto.
Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.
Per modificare una policy, fai clic sul nome della policy di ispezione TLS.
Fai clic su Modifica.
Modifica i campi obbligatori. Per saperne di più su ogni campo, consulta Crea una policy di ispezione TLS.
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
Nella console Google Cloud , vai alla pagina Policy di ispezione TLS.
Nel menu del selettore dei progetti, seleziona il tuo progetto.
Le policy di ispezione TLS sono elencate nella sezione Ispezioni TLS.
Per eliminare una policy di ispezione TLS, seleziona la casella di controllo accanto al nome.
Fai clic su Elimina.
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 TLSTLS_INSPECTION_NAME
: il nome dell'ispezione TLSREGION
: la regione in cui viene creato il criterio di ispezione TLS
Passaggi successivi
- Configurare il servizio di rilevamento e prevenzione delle intrusioni
- Creare e gestire endpoint firewall