Questa pagina descrive come configurare l'ispezione Transport Layer Security (TLS) per Cloud Next Generation Firewall.
Prima di iniziare
Prima di configurare l'ispezione TLS, completa le attività nelle sezioni seguenti.
Abilitare 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 Cloud de Confiance console:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che
contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere
i ruoli.
Per abilitare CA Service utilizzando Google Cloud CLI, utilizza il seguente comando:
gcloud services enable privateca.googleapis.com
Abilitare 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 Cloud de Confiance console:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che
contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere
i ruoli.
Per abilitare Certificate Manager utilizzando Google Cloud CLI, utilizza il seguente comando:
gcloud services enable certificatemanager.googleapis.com
Creare una configurazione di attendibilità
Questo è un 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 creato in precedenza.
In alternativa, utilizza una CA radice esterna esistente creando una CA subordinata all'interno del servizio CA. La CA radice esterna deve firmare questa CA subordinata. Affinché Cloud NGFW possa utilizzare la CA, le CA radice e subordinata nel pool di CA devono avere una lunghezza del percorso di almeno uno. Il campo
pathLenConstraintin un certificato CA specifica la lunghezza del percorso. Questo campo definisce il numero massimo di certificati CA subordinati che possono esistere in un percorso di certificazione sotto il certificato CA corrente.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 località 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 il
PEM-CERTottenuto nel passaggio precedente. Se utilizzi la tua CA, utilizza il certificato pubblico ottenuto dalla tua CA.
Utilizza questa configurazione di attendibilità per creare una policy di ispezione TLS.
Creare un pool di CA
Devi creare un pool di CA prima di poter utilizzare CA Service per creare una CA.
Per creare un pool di CA, segui le istruzioni riportate in Creare pool di CA.
Utilizza questo pool di CA per creare una policy di ispezione TLS.
Creare una CA radice
Se non hai una CA radice esistente, puoi crearne una all'interno di CA Service. Per creare una CA radice, segui le istruzioni riportate in Creare 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 tua CA radice esterna.
Per NGFW Enterprise, i certificati subordinati richiedono una limitazione della lunghezza del percorso di almeno 1 per poter generare una CA intermedia. Per impostazione predefinita, il certificato subordinato e il 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 delle chiavi estese per il certificato.Flag
--key-usages: specifica gli utilizzi delle chiavi 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 località del pool di CA.
- FILE_NAME: il nome del file in cui viene scritto il CSR con codifica PEM.
Viene creato il 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 il CSR dopo averlo creato.
Creare 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_IDSostituisci
PROJECT_IDcon l'ID progetto del service account.Google Cloud CLI crea un account di servizio denominato
service-PROJECT_NUMBER@gcp-sa-networksecurity.s3ns-system.iam.gserviceaccount.com. Qui,PROJECT_NUMBERè l'identificatore univoco diPROJECT_IDfornito nel comando precedente.Concedi al tuo account di servizio l'autorizzazione a 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 REGIONSostituisci 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
Configurare 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 in la sezione Prima di iniziare.
Per configurare l'ispezione TLS, completa le attività nelle sezioni seguenti.
Creare una policy di ispezione TLS
Console
Nella Cloud de Confiance console, vai alla pagina Policy di ispezione TLS.
Nel menu del selettore del progetto, 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 dalla policy.
Per Configurazione di 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 di attendibilità privata, seleziona la configurazione di attendibilità con l'archivio di attendibilità configurato da utilizzare per considerare attendibili i certificati 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 sia CA pubbliche sia private.
(Facoltativo) Nell'elenco Profilo della suite di cifratura, seleziona il tipo di profilo TLS. Puoi scegliere uno dei seguenti valori:
- Compatibile: consente al più ampio set 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.
- Limitato: supporta un set ridotto di funzionalità TLS progettate per soddisfare requisiti di conformità più rigorosi.
Personalizzato: consente di selezionare singolarmente le funzionalità TLS.
Nell'elenco Suite di cifratura, seleziona il nome delle suite di cifratura supportate dal profilo personalizzato.
Fai clic su Crea.
gcloud
Crea un file YAML
TLS_INSPECTION_FILE.yaml. SostituisciTLS_INSPECTION_FILEcon un nome file a tua scelta.Aggiungi il seguente codice al file YAML per configurare la policy 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_NAMESostituisci quanto segue:
PROJECT_ID: l'ID progetto della policy di ispezione TLSREGION: la regione in cui viene creata la policy 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 selezionare uno dei seguenti valori:
TLS_1_0TLS_1_1TLS_1_2
PROFILE_TYPE: un argomento facoltativo che specifica il tipo di profilo TLSPuoi selezionare uno dei seguenti valori:
PROFILE_COMPATIBLE: consente al più ampio set di client, inclusi i client 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 progettate per soddisfare requisiti di conformità più rigorosi.PROFILE_CUSTOM: consente di selezionare singolarmente le funzionalità TLS.
CIPHER_NAME: un argomento facoltativo per specificare il nome della suite di cifratura 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 set di CA pubbliche. Per impostazione predefinita, questo flag è impostato su false. Quando 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 di attendibilità
Importa la policy di ispezione TLS creata nella sezione Creare una policy di ispezione TLS
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \ --source TLS_INSPECTION_FILE.yaml \ --location REGIONSostituisci quanto segue:
TLS_INSPECTION_NAME: il nome della policy di ispezione TLSTLS_INSPECTION_FILE: il nome del file YAML della policy di ispezione TLS
Aggiungere una policy di ispezione TLS a un'associazione di endpoint firewall
Per aggiungere la policy di ispezione TLS a un'associazione di endpoint firewall, segui i passaggi descritti in Creare associazioni di endpoint firewall.
Configurare le regole delle policy del firewall con l'ispezione TLS
Per abilitare l'ispezione TLS per la rete Virtual Private Cloud (VPC), imposta il flag --tls-inspect nella regola della policy del firewall. Questo flag indica
che l'ispezione TLS può essere eseguita quando viene applicato il
gruppo di profili di sicurezza.
Per saperne di più su come abilitare il flag --tls-inspect nelle regole delle policy firewall gerarchiche, vedi Creare una regola.
Per saperne di più su come abilitare il flag --tls-inspect nelle regole delle policy firewall di rete globali, vedi Creare una regola.