Scopri come creare e configurare un criterio di firewall gerarchico per consentire il traffico in uscita proveniente da una rete VPC (Virtual Private Cloud) specifica nella tua cartella a un indirizzo IP specifico come destinazione. Il criterio del firewall blocca tutto l'altro traffico in uscita proveniente dalla tua cartella. La pagina illustra un esempio di creazione di due reti VPC, di istanze di macchine virtuali (VM) nelle reti VPC, di configurazione di un criterio firewall gerarchico con regole firewall e di test del criterio firewall.
Prima di iniziare
- Assicurati di avere accesso a una risorsa dell'organizzazione.
- Assicurati di disporre dei seguenti ruoli IAM (Identity and Access Management):
-
Ruolo Amministratore dell'organizzazione
(roles/resourcemanager.organizationAdmin)
-
Ruolo Folder Admin
(roles/resourcemanager.folderAdmin)
-
Ruolo Creator 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 Amministratore dell'organizzazione
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
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 della cartella, inserisci
test-folder
.Nell'elenco Organizzazione, seleziona il nome della risorsa dell'organizzazione.
Nel campo Località, fai clic su Sfoglia e seleziona la risorsa della tua organizzazione.
Fai clic su Crea.
Crea un progetto
Crea un progetto nella cartella creata 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.
Creare 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, seleziona test-project nella pagina di selezione del progetto.
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 e poi 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 e poi 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.
Creare 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 indirizzo IP esterno e un'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 nella 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 effimero e passa 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: Ephemeral
- 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 console Google Cloud, 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à dei gateway, Google Cloud viene visualizzato il pulsante Crea gateway 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 router cloud, 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 un criterio firewall gerarchico e aggiungi regole firewall
Crea una policy firewall gerarchica e aggiungi le seguenti regole della policy firewall:
- Abilita l'IAP per tutte le VM in
test-folder
per attivare 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 di 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 criterio, in Nome criterio, 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 criteri alle risorse, fai clic su Aggiungi.
Espandi la tua organizzazione, seleziona test-folder e fai clic su Aggiungi.
Fai clic su Crea.
Aggiungi una regola firewall per attivare IAP in tutte le VM nel test-folder
Per consentire a IAP di connettersi a tutte le VM nel test-folder
, è necessaria una regola firewall nel criterio firewall gerarchico con le seguenti
caratteristiche:
- Si applica a tutte le VM in
test-folder
a cui vuoi accedere tramite 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. - Consenta 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 e poi 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, inserisci
35.235.240.0/20
in Intervalli IP.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
.Per Direzione del traffico, seleziona In entrata.
Per Azione in caso di corrispondenza, seleziona Consenti.
Nella sezione Target, fai clic su Aggiungi emittente.
Seleziona il progetto di test che contiene la rete
test-vpc
, quindi seleziona test-vpc come rete.Nella sezione Origine, inserisci
0.0.0.0/0
in Intervalli IP.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 permessa 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 alla successiva.
Nella sezione Target, fai clic su Aggiungi emittente.
Seleziona il nome del progetto di test che contiene
myvpc
, quindi selezionamyvpc
come rete.Nella sezione Destinazione, in Intervalli IP, inserisci l'indirizzo IP esterno temporaneo della VM su cui è in esecuzione il server web Apache. Hai memorizzato questo indirizzo IP nella sezione Creare 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 neghi 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 e poi 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, inserisci
0.0.0.0/0
in Intervalli IP.Fai clic su Crea.
Testare il criterio firewall gerarchico
Dopo aver configurato il criterio firewall gerarchico, segui questi passaggi per testarlo:
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 il seguente comando:curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
Il comando precedente restituisce i contenuti specificati per la pagina
index.html
del server web Apache, il che significa che le connessioni in 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 la connessione venga stabilita.
Per verificare che il traffico in uscita da
testvpc-vm
atestvpc-apache-vm
sia bloccato, esegui il seguente comando:curl <internal_IP_testvpc_apache_vm> -m 2
Il comando precedente restituisce un messaggio
Connection timed out
, che è previsto perché hai creato una regola firewall per negare il traffico in uscita da tutte le reti VPC dell'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 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 al nodo o ereditati dal nodo, fai clic su fw-egress-specific-vpc.
Fai clic sulla scheda Associazioni.
Seleziona la casella di controllo relativa a 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 dei 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 3 istanze, fai clic su Elimina.
Elimina il router Cloud e il gateway Cloud NAT
Nella console Google Cloud, vai alla pagina Router cloud.
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.
Analogamente, 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.
Elimina la cartella
Nella console Google Cloud, vai alla pagina Gestisci risorse.
Se la cartella che intendi eliminare è collegata a un'organizzazione, espandi l'elenco Organizzazione nella colonna Nome.
Nell'elenco delle cartelle, seleziona cartella-test e fai clic su Elimina.
Nella finestra di dialogo, digita l'ID cartella e 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, consulta Utilizzare le regole firewall VPC.
- Per determinare i costi, consulta la sezione Prezzi di Cloud NGFW.