Scopri come creare e configurare una policy firewall gerarchica per consentire il traffico in uscita proveniente da una rete Virtual Private Cloud (VPC) specifica nella tua cartella a un indirizzo IP specifico come destinazione. Il criterio firewall blocca tutto il traffico in uscita proveniente dalla tua cartella. La pagina descrive un esempio di creazione di due reti VPC, creazione di istanze di macchine virtuali (VM) nelle reti VPC, configurazione di una policy firewall gerarchica con regole firewall e test della policy firewall.
Prima di iniziare
- Assicurati di avere accesso a una risorsa dell'organizzazione.
- Assicurati di disporre dei seguenti ruoli Identity and Access Management (IAM):
-
Ruolo di amministratore dell'organizzazione
(roles/resourcemanager.organizationAdmin)
-
Ruolo Amministratore cartella
(roles/resourcemanager.folderAdmin)
-
Ruolo di autore del progetto
(roles/resourcemanager.projectCreator)
-
Ruolo Project Deleter
(roles/resourcemanager.projectDeleter)
-
Ruolo Amministratore rete Compute (
roles/compute.networkAdmin
) -
Ruolo Compute Organization Firewall Policy Admin (
roles/compute.orgFirewallPolicyAdmin
)
-
Ruolo di amministratore dell'organizzazione
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
Crea una cartella
Crea una cartella nella tua organizzazione.
Nella console Google Cloud , vai alla pagina Gestisci risorse.
Fai clic su Crea cartella.
In Nome cartella, inserisci
test-folder
.Nell'elenco Organizzazione, seleziona il nome della risorsa dell'organizzazione.
Nel campo Posizione, fai clic su Sfoglia e seleziona la risorsa dell'organizzazione.
Fai clic su Crea.
Crea un progetto
Crea un progetto nella cartella che hai creato nella sezione precedente.
Nella console Google Cloud , vai alla pagina Gestisci risorse.
Fai clic su Create project (Crea progetto).
In Nome progetto, inserisci
test-project
.Seleziona un account di fatturazione per il progetto.
Nell'elenco Organizzazione, seleziona il nome della risorsa dell'organizzazione.
Nel campo Posizione, fai clic su Sfoglia, espandi il nome della risorsa dell'organizzazione e seleziona test-folder.
Fai clic su Crea.
Crea due reti VPC personalizzate con subnet IPv4
Crea due reti VPC in modalità personalizzata, myvpc
con una subnet solo IPv4 e test-vpc
con due subnet solo IPv4, nel progetto che hai creato nella sezione precedente.
Nella console Google Cloud , nella pagina di selezione del progetto, seleziona test-project.
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
In Nome, inserisci
myvpc
.In Modalità di creazione subnet, seleziona Personalizzata.
Nella sezione Nuova subnet, specifica i seguenti parametri di configurazione per una subnet:
- Nome: inserisci
myvpc-subnet-1
. - Regione: seleziona us-central1.
- Intervallo IPv4: inserisci
10.0.0.0/24
.
- Nome: inserisci
Fai clic su Fine, quindi su Crea.
Per creare un'altra rete VPC, fai clic su Crea rete VPC.
In Nome, inserisci
test-vpc
.In Modalità di creazione subnet, seleziona Personalizzata.
Nella sezione Nuova subnet, specifica i seguenti parametri di configurazione per la subnet, quindi fai clic su Fine:
- Nome: inserisci
testvpc-subnet-1
. - Regione: seleziona us-central1.
- Intervallo IPv4: inserisci
10.0.0.0/16
.
- Nome: inserisci
Per aggiungere un'altra subnet alla rete
test-vpc
, fai clic su Aggiungi subnet.Nella sezione Nuova subnet, specifica i seguenti parametri di configurazione per la subnet, quindi fai clic su Fine:
- Nome: inserisci
testvpc-subnet-ext
. - Regione: seleziona us-central1.
- Intervallo IPv4: inserisci
192.168.1.0/24
.
- Nome: inserisci
Fai clic su Crea.
Crea VM
Crea tre VM nelle subnet configurate nella sezione precedente.
Crea una VM nella rete myvpc
Crea una VM senza un indirizzo IP esterno nella rete myvpc
.
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Nel riquadro Configurazione macchina, segui questi passaggi:
- In Nome, inserisci
myvpc-vm
. - In Regione, seleziona
us-central1 (Iowa)
.
- In Nome, inserisci
Nel menu di navigazione, fai clic su Networking.
- Nella sezione Interfacce di rete, fai clic su
default
e specifica i seguenti parametri di configurazione:- Rete:
myvpc
- Subnet:
subnet-1 IPv4 (10.0.0.0/24)
- Indirizzo IPv4 esterno: Nessuno
- Rete:
- Fai clic su Fine.
- Nella sezione Interfacce di rete, fai clic su
Fai clic su Crea.
Crea due VM nella rete test-vpc
Crea due VM, una senza un indirizzo IP esterno e l'altra con un indirizzo IP esterno. Quando crei la VM con un indirizzo IP esterno, passa uno script di avvio per installare e avviare un server web Apache in quella VM.
Crea una VM senza un indirizzo IP esterno:
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Nel riquadro Configurazione macchina, segui questi passaggi:
- In Nome, inserisci
testvpc-vm
. - In Regione, seleziona
us-central1 (Iowa)
.
- In Nome, inserisci
Nel menu di navigazione, fai clic su Networking.
- Nella sezione Interfacce di rete, fai clic su
default
e specifica i seguenti parametri di configurazione:- Rete:
test-vpc
- Subnet:
testvpc-subnet-1 IPv4 (10.0.0.0/16)
- Indirizzo IPv4 esterno: Nessuno
- Rete:
- Fai clic su Fine.
- Nella sezione Interfacce di rete, fai clic su
Fai clic su Crea.
Crea una VM con un indirizzo IP esterno temporaneo e trasmetti uno script di avvio per installare e avviare un server web Apache:
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Nel riquadro Configurazione macchina, segui questi passaggi:
- In Nome, inserisci
testvpc-apache-vm
. - In Regione, seleziona
us-central1 (Iowa)
.
- In Nome, inserisci
Nel menu di navigazione, fai clic su Networking.
- Nella sezione Interfacce di rete, fai clic su
default
e specifica i seguenti parametri di configurazione:- Rete:
test-vpc
- Subnet:
testvpc-subnet-ext IPv4 (192.168.1.0/24)
- Indirizzo IPv4 esterno: Temporaneo
- Rete:
- Fai clic su Fine.
- Nella sezione Interfacce di rete, fai clic su
Nel menu di navigazione, fai clic su Avanzate e inserisci il seguente script nel campo Script di avvio:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Read VM network configuration: md_vm="http://169.254.169.254/computeMetadata/v1/instance/" vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )" filter="{print \$NF}" vm_network="$(curl $md_vm/network-interfaces/0/network \ -H "Metadata-Flavor:Google" | awk -F/ "${filter}")" vm_zone="$(curl $md_vm/zone \ -H "Metadata-Flavor:Google" | awk -F/ "${filter}")" # Apache configuration: echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \ tee /var/www/html/index.html systemctl restart apache2
Lo script precedente esegue il deployment e avvia un server web Apache in questa VM.
Fai clic su Crea.
Prendi nota dell'indirizzo IP esterno temporaneo assegnato a questa VM dalla pagina Istanze VM. Ti servirà questo indirizzo IP esterno in un secondo momento.
Crea un router Cloud e un gateway Cloud NAT
Nella sezione precedente, nella rete myvpc
, hai creato la VM myvpc-vm
senza alcun indirizzo IP esterno. Per consentire alla VM myvpc-vm
di accedere al server web Apache in esecuzione in testvpc-apache-vm
tramite internet pubblico, crea un router Cloud e un gateway Cloud NAT nella stessa subnet in cui hai creato la VM myvpc-vm
.
Nella Google Cloud console, vai alla pagina Cloud NAT.
Fai clic su Inizia o Crea gateway Cloud NAT.
Nota:se è il primo gateway Cloud NAT che crei, fai clic su Inizia. Se hai già gateway esistenti, Google Cloud viene visualizzato il pulsante del gateway Crea Cloud NAT. Per creare un altro gateway, fai clic su Crea gateway Cloud NAT.
In Nome gateway, inserisci
myvpc-gateway
.In Tipo NAT, seleziona Pubblico.
Nella sezione Seleziona Cloud Router, specifica i seguenti parametri di configurazione:
- Rete: seleziona myvpc.
- Regione: seleziona us-central1 (Iowa).
- Router Cloud: fai clic su Crea nuovo router.
- In Nome, inserisci
myvpc-router
. - Fai clic su Crea.
- In Nome, inserisci
Fai clic su Crea.
Crea una policy firewall gerarchica e aggiungi regole firewall
Crea una policy firewall gerarchica e aggiungi le seguenti regole della policy firewall:
- Attiva IAP per tutte le VM in
test-folder
per abilitare l'accesso amministrativo alle VM. - Consenti il traffico in entrata a tutte le VM nella rete
test-vpc
. - Delega il traffico in uscita dalla rete
myvpc
alla regola successiva nella gerarchia, ovvero la regolaVPC firewall implied IPv4 rule egress all
. - Nega il traffico in uscita proveniente da tutte le altre reti VPC in
test-folder
.
Per creare un criterio firewall gerarchico:
Nella console Google Cloud , vai alla pagina di selezione del progetto e seleziona test-folder.
Nella console Google Cloud , vai alla pagina Policy firewall.
Fai clic su Crea criterio firewall.
Nella sezione Configura policy, per Nome della policy, inserisci
fw-egress-specific-vpc
.In Descrizione, inserisci
example-firewall-policy
.Fai clic su Continua.
Nella sezione Aggiungi regole, fai clic su Continua. Aggiungerai le regole firewall nelle sezioni successive di questa guida rapida.
Nella sezione Associa criterio alle risorse, fai clic su Aggiungi.
Espandi la tua organizzazione, seleziona test-folder e poi fai clic su Aggiungi.
Fai clic su Crea.
Aggiungi una regola firewall per abilitare IAP in tutte le VM in test-folder
Per consentire a IAP di connettersi a tutte le VM in test-folder
, devi
creare una regola firewall nel criterio firewall gerarchico con le seguenti
caratteristiche:
- Si applichi a tutte le VM in
test-folder
a cui vuoi accedere utilizzando l'inoltro TCP di IAP. - Consente il traffico in entrata dall'intervallo di indirizzi IP
35.235.240.0/20
. Questo intervallo contiene tutti gli indirizzi IP che utilizzati da IAP per l'inoltro TCP. - Consente le connessioni a tutte le porte che vuoi rendere accessibili utilizzando l'inoltro TCP di IAP, ad esempio la porta
22
per SSH.
Per aggiungere la regola firewall:
Nella console Google Cloud , vai alla pagina Policy firewall.
Fai clic su fw-egress-specific-vpc, quindi su Aggiungi regola.
In Priorità, inserisci
100
.In Descrizione, inserisci
enable-iap
.In Direzione del traffico, seleziona In entrata.
Per Azione in caso di corrispondenza, seleziona Consenti.
Nella sezione Origine, per Intervalli IP, inserisci
35.235.240.0/20
.Nella sezione Protocolli e porte, seleziona Protocolli e porte specificati.
Seleziona la casella di controllo TCP e inserisci
22
in Porte.Fai clic su Crea.
Aggiungi una regola firewall per consentire il traffico in entrata nella rete test-vpc
Aggiungi una regola firewall per consentire il traffico web HTTP in entrata sulla porta TCP 80 a tutte le VM
nella rete test-vpc
:
Nella console Google Cloud , vai alla pagina Policy firewall.
Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.
In Priorità, inserisci
200
.In Descrizione, inserisci
allow-ingress-testvpc
.In Direzione del traffico, seleziona In entrata.
Per Azione in caso di corrispondenza, seleziona Consenti.
Nella sezione Target, fai clic su Aggiungi rete.
Seleziona il progetto di test che contiene la rete
test-vpc
, quindi seleziona test-vpc come rete.Nella sezione Origine, per Intervalli IP, inserisci
0.0.0.0/0
.Nella sezione Protocolli e porte, seleziona Protocolli e porte specificati.
Seleziona la casella di controllo TCP e inserisci
80
in Porte.Fai clic su Crea.
Aggiungi una regola firewall per delegare il traffico in uscita dalla rete myvpc
alla regola successiva nella gerarchia
Aggiungi una regola firewall che utilizzi l'azione goto_next
per delegare il traffico in uscita
dalla rete myvpc
alla regola successiva nel firewall, ovvero la
regola firewall VPC in uscita IPv4 implicita.
Nella console Google Cloud , vai alla pagina Policy firewall.
Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.
In Priorità, inserisci
300
.In Descrizione, inserisci
delegate-egress-myvpc
.In Direzione del traffico, seleziona In uscita.
Per Azione in caso di corrispondenza, seleziona Vai al successivo.
Nella sezione Target, fai clic su Aggiungi rete.
Seleziona il nome del progetto di test che contiene
myvpc
, quindi selezionamyvpc
come rete.Nella sezione Destinazione, per Intervalli IP, inserisci l'indirizzo IP esterno temporaneo della VM che esegue il server web Apache. Hai annotato questo indirizzo IP nella sezione Crea due VM nella rete
test-vpc
.Fai clic su Crea.
Aggiungi una regola firewall per negare il traffico in uscita proveniente da tutte le altre reti VPC
Infine, aggiungi una regola firewall che nega il traffico in uscita da tutte le altre reti VPC in test-folder
.
Nella console Google Cloud , vai alla pagina Policy firewall.
Fai clic su fw-egress-specific-vpc, quindi su Aggiungi regola.
In Priorità, inserisci
400
.In Descrizione, inserisci
block-egress-all-traffic
.In Direzione del traffico, seleziona In uscita.
Per Azione in caso di corrispondenza, seleziona Nega.
Nella sezione Destinazione, per Intervalli IP, inserisci
0.0.0.0/0
.Fai clic su Crea.
Testa il criterio firewall gerarchico
Dopo aver configurato la policy firewall gerarchica, segui questi passaggi per testarla:
Vai alla console Google Cloud .
Nel selettore di progetti nella parte superiore della pagina, seleziona
test-project
dove hai creato le reti VPC.Nella console Google Cloud , vai alla pagina Istanze VM.
Nella colonna Connetti per
myvpc-vm
, fai clic su SSH.Nella finestra di dialogo SSH nel browser, fai clic su Autorizza e attendi che la connessione venga stabilita.
Per verificare che il traffico in uscita verso
testvpc-apache-vm
damyvpc
sia consentito, esegui questo comando:curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
Il comando precedente restituisce i contenuti che hai specificato per la pagina
index.html
del server web Apache, il che significa che le connessioni di uscita damyvpc
sono consentite.Per verificare che il traffico in uscita sia bloccato da qualsiasi altra rete VPC nell'organizzazione, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Istanze VM.
Nella colonna Connetti per
testvpc-vm
, fai clic su SSH.Nella finestra di dialogo SSH nel browser, fai clic su Autorizza e attendi che venga stabilita la connessione.
Per verificare che il traffico in uscita da
testvpc-vm
atestvpc-apache-vm
sia bloccato, esegui questo comando:curl <internal_IP_testvpc_apache_vm> -m 2
Il comando precedente restituisce un messaggio
Connection timed out
, il che è previsto perché hai creato una regola firewall per negare il traffico in uscita da tutte le reti VPC nell'organizzazione, ad eccezione dimyvpc
.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa guida rapida, elimina le singole risorse, quindi elimina il progetto e la cartella.
Per eliminare le risorse create in questa guida rapida, completa le seguenti attività.
Elimina il criterio firewall gerarchico
Vai alla console Google Cloud .
Nel selettore di progetti nella parte superiore della pagina, seleziona
test-folder
, dove hai creato le risorse per questa guida rapida.Nella console Google Cloud , vai alla pagina Policy firewall.
Nella sezione Criteri firewall associati a questo nodo o ereditati dal nodo, fai clic su fw-egress-specific-vpc.
Fai clic sulla scheda Associazioni.
Seleziona la casella di controllo per test-folder e fai clic su Rimuovi associazione.
Nella finestra di dialogo Rimuovi associazione con
test-folder
, fai clic su Elimina.Fai clic su Elimina.
Nella finestra di dialogo Elimina
fw-egress-specific-vpc
, fai clic su Elimina.
Elimina le VM
Vai alla console Google Cloud .
Nel selettore di progetti nella parte superiore della pagina, seleziona test-project.
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona le caselle di controllo per myvpc-vm, testvpc-vm e testvpc-apache-vm.
Fai clic su Elimina.
Nella finestra di dialogo Elimina istanza 3 istanze, fai clic su Elimina.
Elimina il router Cloud e il gateway Cloud NAT
Nella Google Cloud console, vai alla pagina Cloud Router.
Seleziona la casella di controllo per myvpc-router.
Fai clic su Elimina.
Nella finestra di dialogo Elimina
myvpc-router
, fai clic su Elimina.
Quando elimini un router Cloud, viene eliminato anche il gateway Cloud NAT associato.
Elimina la rete VPC e le relative subnet
Nella console Google Cloud , vai alla pagina Reti VPC.
Nella colonna Nome, fai clic su myvpc.
Fai clic su Elimina rete VPC.
Nella finestra di dialogo Elimina una rete, fai clic su Elimina.
Allo stesso modo, elimina la rete
test-vpc
.
Quando elimini una rete VPC, vengono eliminate anche le relative subnet.
Elimina il progetto
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Eliminare la cartella
Nella console Google Cloud , vai alla pagina Gestisci risorse.
Se la cartella che prevedi di eliminare è associata a un'organizzazione, espandi l'elenco Organizzazione nella colonna Nome.
Nell'elenco delle cartelle, seleziona test-folder, quindi fai clic su Elimina.
Nella finestra di dialogo, digita l'ID cartella, quindi fai clic su Elimina comunque per eliminare il progetto.
Passaggi successivi
- Per i concetti relativi ai criteri firewall, consulta la panoramica dei criteri firewall.
- Per i concetti relativi alle regole delle policy firewall, consulta la panoramica delle regole delle policy firewall.
- Per creare, aggiornare, monitorare ed eliminare le regole firewall VPC, vedi Utilizzo delle regole firewall VPC.
- Per determinare i costi, consulta la pagina Prezzi di Cloud NGFW.