Per centralizzare la gestione e applicare in modo coerente le policy del firewall di sicurezza nelle tue reti Virtual Private Cloud (VPC), esegui la migrazione delle regole firewall VPC che utilizzano i tag di rete e gli account di servizio di origine a una policy del firewall di rete globale. In questo modo, puoi ridurre la superficie di attacco, ottimizzare le configurazioni del firewall e rafforzare i limiti di sicurezza identificando e risolvendo le regole eccessivamente permissive.
Questo documento è destinato ad amministratori di rete, ingegneri della sicurezza e architetti della sicurezza che configurano e gestiscono i criteri di sicurezza di rete.
Per eseguire la migrazione delle regole che non utilizzano tag di rete o service account, consulta Esegui la migrazione delle regole firewall VPC che non utilizzano tag di rete e service account.
Per completare questa migrazione, esegui le seguenti attività:
- Valuta il tuo ambiente.
- Elenca i tag di rete e i service account esistenti.
- Crea tag sicuri per ogni tag di rete e account di servizio di origine.
- Mappa i tag di rete e i service account ai tag sicuri che crei.
- Associa i tag sicuri alle istanze di macchine virtuali (VM).
- Esegui la migrazione delle regole firewall VPC a una policy del firewall di rete globale.
- Esamina la nuova policy del firewall di rete.
- Completa le attività post-migrazione.
Prima di iniziare
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Assicurati di disporre del ruolo Compute Security Admin (
roles/compute.securityAdmin).
Valutare l'ambiente
Prima di eseguire la migrazione delle regole firewall VPC a un criterio firewall di rete globale, valuta l'ambiente esistente e i ruoli e le autorizzazioni IAM (Identity and Access Management):
- Identifica il numero di regole firewall VPC nella tua rete VPC.
- Prendi nota delle priorità associate a ogni regola firewall VPC.
- Assicurati di disporre dei ruoli e delle autorizzazioni IAM necessari per creare, associare, modificare e visualizzare le policy firewall di rete globali.
Assicurati di disporre dei ruoli e delle autorizzazioni IAM necessari per creare, aggiornare ed eliminare le definizioni di tag sicuri.
La tabella seguente fornisce un riepilogo dei vari ruoli necessari per creare e gestire i tag sicuri:
Nome ruolo Attività eseguite Ruolo Tag Administrator ( roles/resourcemanager.tagAdmin)Crea, aggiorna ed elimina le definizioni dei tag. Per saperne di più, consulta Amministrare i tag. Ruolo Visualizzatore tag ( roles/resourcemanager.tagViewer)Visualizza le definizioni dei tag e i tag collegati alle risorse. Ruolo Utente tag ( roles/resourcemanager.tagUser)Aggiungi e rimuovi i tag collegati alle risorse.
Elenca i tag di rete e i service account esistenti
Determina se le regole firewall VPC utilizzano tag di rete o service account e crea un file JSON per salvare i dettagli dei tag di rete e dei service account esistenti.
Per esportare i tag di rete e i service account nella tua rete in un file JSON di mapping, utilizza il comando gcloud beta compute firewall-rules migrate con il flag --export-tag-mapping:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--export-tag-mapping \
--tag-mapping-file=TAG_MAPPING_FILE
Sostituisci quanto segue:
NETWORK_NAME: il nome della rete VPC contenente le regole firewall VPC che vuoi migrare.TAG_MAPPING_FILE: il nome del file JSON di mapping.
Se le regole firewall VPC contengono solo service account, il
file JSON generato contiene solo service account. Allo stesso modo, se le regole firewall VPC contengono solo tag di rete, il file JSON generato contiene solo tag di rete. I service account hanno il prefisso sa,
mentre i tag di rete non hanno prefissi.
Ad esempio, il seguente file JSON generato contiene un tag di rete
sql-server e un account di servizio example@example.com.
{"sql-server": null, "sa:example@example.com": null}
Creare tag protetti
In base ai tag di rete e agli account di servizio di origine elencati nel file di mappatura, devi creare i tag sicuri corrispondenti nella tua rete.
I nuovi tag sicuri sostituiscono i tag di rete e gli account di servizio e conservano la configurazione di rete originale dopo la migrazione.
In qualità di principal con il ruolo di amministratore tag, per ogni tag di rete e account di servizio, crea la coppia chiave-valore del tag sicuro corrispondente.
Per creare una chiave e un valore del tag sicuri per ogni tag di rete e account di servizio,
utilizza il comando
gcloud resource-manager tags keys create e il
comando
gcloud resource-manager tags values create:
gcloud resource-manager tags keys create TAG_KEY \
--parent=organizations/ORGANIZATION_ID \
--purpose=GCE_FIREWALL \
--purpose-data=network=PROJECT_ID/NETWORK_NAME
gcloud resource-manager tags values create TAG_VALUE \
--parent=ORGANIZATION_ID/TAG_KEY
Sostituisci quanto segue:
TAG_KEY: il nome della chiave tag sicura.ORGANIZATION_ID: l'ID dell'organizzazione.PROJECT_ID: l'ID del progettoNETWORK_NAME: il nome della rete VPC.TAG_VALUE: il valore da assegnare alla chiave del tag sicuro.
Ad esempio, se hai una regola firewall VPC con un tag di rete
denominato sql-server, crea una coppia chiave-valore di tag sicuro corrispondente
sql-server:production.
gcloud resource-manager tags keys create sql-server \
--parent=organizations/123456 \
--purpose=GCE_FIREWALL \
--purpose-data=network=test-project/test-network
gcloud resource-manager tags values create production \
--parent=123456/sql-server
Mappare i tag di rete e gli account di servizio ai tag protetti
Dopo aver creato tag sicuri gestiti da IAM per ogni tag di rete e account di servizio utilizzato dalle regole firewall VPC, devi mappare i tag sicuri ai tag di rete e ai service account corrispondenti nel file JSON di mappatura.
Modifica il file JSON per mappare i tag di rete e gli account di servizio ai tag sicuri corrispondenti.
{"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
Ad esempio, il seguente file JSON mappa il tag di rete sql-server al valore del tag sicuro della chiave sql-server e l'account di servizio example@example.com al valore del tag sicuro della chiave example@example.com:
{"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
Associare tag sicuri alle VM
In base al file JSON di mappatura dei tag, associa i tag sicuri appena creati alle VM a cui sono collegati i tag di rete esistenti:
In qualità di entità con il ruolo Tag Administrator, procedi come segue:
- Esamina le autorizzazioni richieste per collegare tag sicuri alle risorse Cloud de Confiance by S3NS .
- Assegna il ruolo Utente tag all'entità che utilizza i tag sicuri e li associa alle VM.
In qualità di principal con il ruolo Utente tag, associa i tag sicuri alle istanze VM utilizzando il comando
gcloud beta compute firewall-rules migratecon il flag--bind-tags-to-instances:gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --bind-tags-to-instances \ --tag-mapping-file=TAG_MAPPING_FILESostituisci quanto segue:
NETWORK_NAME: il nome della rete VPC.TAG_MAPPING_FILE: il nome del file JSON di mapping.
Esegui la migrazione delle regole firewall VPC a un criterio firewall di rete globale
Per eseguire la migrazione delle regole firewall VPC a un criterio firewall di rete globale, utilizza il comando
gcloud beta compute firewall-rules migrate:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--tag-mapping-file=TAG_MAPPING_FILE
Sostituisci quanto segue:
NETWORK_NAME: il nome della rete VPC contenente le regole firewall VPC che vuoi migrare.POLICY_NAME: il nome della policy del firewall di rete globale da creare durante la migrazione.TAG_MAPPING_FILE: il nome del file JSON di mapping.
Escludi le regole firewall dalla migrazione
Per escludere regole firewall specifiche dalla migrazione, utilizza il comando gcloud beta compute
firewall-rules migrate con il flag --exclusion-patterns-file:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
Sostituisci quanto segue:
NETWORK_NAME: il nome della tua rete VPC che contiene le regole firewall VPC che vuoi migrare.POLICY_NAME: il nome della policy del firewall di rete globale da creare durante la migrazione.EXCLUSION_PATTERNS_FILE: il nome del file che contiene le espressioni regolari che definiscono i pattern di denominazione del firewall VPC da escludere dalla migrazione. Assicurati di specificare il percorso completo del file. Le regole firewall che corrispondono ai pattern specificati vengono ignorate.Quando definisci i pattern di esclusione, tieni presente quanto segue:
- Ogni espressione regolare deve trovarsi su una riga separata e rappresentare un singolo pattern di denominazione del firewall.
- Le espressioni regolari non contengono spazi iniziali o finali.
Visualizzare le regole firewall escluse
In base ai pattern di denominazione delle regole firewall escluse, lo strumento di migrazione non
migra alcune regole firewall, ad esempio le regole firewall di Google Kubernetes Engine (GKE). Per esportare l'elenco dei pattern di denominazione delle regole firewall esclusi,
utilizza il comandogcloud beta compute firewall-rules migrate con i flag
--export-exclusion-patterns e --exclusion-patterns-file.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
--export-exclusion-patterns
Sostituisci quanto segue:
NETWORK_NAME: il nome della tua rete VPC che contiene le regole firewall VPC che vuoi migrare.POLICY_NAME: il nome della policy del firewall di rete globale da creare durante la migrazione.EXCLUSION_PATTERNS_FILE: il percorso del file in cui vengono esportati i seguenti pattern di denominazione delle regole firewall escluse.gke-(.+)-ipv6-all gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd)) k8s-fw-(l7-)?(.+) k8s-(.+)-((node)|(http)|(node-http))-hc (.+)-hc k8s2-(.+)-(.+)-(.+)-(.+)(-fw)? k8s2-(.+)-l4-shared-hc-fw gke((gw)|(mcg))1-l7-(.+)-(.+)
Per eseguire la migrazione delle regole firewall escluse che corrispondono a un pattern specifico,
rimuovi il pattern dall'elenco esportato ed esegui il comando gcloud beta compute
firewall-rules migrate con il flag --exclusion-patterns-file.
Forzare la migrazione mantenendo l'ordine di valutazione
Durante la migrazione, se l'ordine di valutazione di una regola firewall esclusa rientra tra gli ordini di valutazione delle regole firewall specificate dall'utente, la migrazione non va a buon fine.Questo accade perché le regole firewall escluse non vengono migrate e lo strumento di migrazione non può conservare l'ordine di valutazione originale delle regole definite dall'utente nella nuova policy del firewall di rete.
Ad esempio, se le regole firewall hanno le seguenti priorità, la migrazione non va a buon fine.
- Una regola specificata dall'utente con priorità 100
- Una regola esclusa con priorità 200
- Una regola specificata dall'utente con priorità 300
Per forzare lo strumento di migrazione a eseguire la migrazione delle regole specificate dall'utente
preservando l'ordine di valutazione originale e ignorando
le regole del firewall escluse, utilizza il
comando gcloud beta compute firewall-rules migrate con il flag --force.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--force
Sostituisci quanto segue:
NETWORK_NAME: il nome della tua rete VPC che contiene le regole firewall VPC che vuoi migrare.POLICY_NAME: il nome della policy del firewall di rete globale da creare durante la migrazione.
Esamina la nuova policy del firewall di rete globale
Prima di associare la norma appena creata a una rete VPC, Google consiglia di esaminarla per assicurarsi che la procedura di migrazione sia stata completata correttamente.
Verifica quanto segue:
La configurazione delle regole delle policy del firewall è corretta e i seguenti componenti delle regole vengono migrati correttamente per ogni regola:
- Priorità relativa
- Direzione del traffico
- Azione in caso di corrispondenza
- Impostazioni log
- Parametri target
- Parametri di origine (per le regole in entrata)
- Parametri di destinazione (per le regole in uscita)
- Vincoli di protocollo e porta
Verifica se i tag sicuri sono collegati alla VM corretta. Per verificarlo, utilizza il comando
gcloud resource-manager tags bindings list:gcloud resource-manager tags bindings list \ --location=ZONE_ID \ --parent=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \ --effectiveSostituisci quanto segue:
ZONE_ID: la zona della VM.PROJECT_ID: l'ID del progettoINSTANCE_NAME: il nome della VM.
Attività post-migrazione
Per attivare e utilizzare la nuova policy del firewall di rete globale, completa le attività post-migrazione. Per saperne di più, consulta la sezione Attività post-migrazione.
Passaggi successivi
- Scopri di più sulla migrazione delle regole firewall VPC.
- Esegui la migrazione delle regole firewall VPC senza dipendenze.