Configura una policy firewall gerarchica per consentire il traffico in uscita da una rete VPC specifica

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

Crea una cartella

Crea una cartella nella tua organizzazione.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Fai clic su Crea cartella.

  3. In Nome della cartella, inserisci test-folder.

  4. Nell'elenco Organizzazione, seleziona il nome della risorsa dell'organizzazione.

  5. Nel campo Località, fai clic su Sfoglia e seleziona la risorsa della tua organizzazione.

  6. Fai clic su Crea.

Crea un progetto

Crea un progetto nella cartella creata nella sezione precedente.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Fai clic su Create project (Crea progetto).

  3. In Nome progetto, inserisci test-project.

  4. Seleziona un account di fatturazione per il progetto.

  5. Nell'elenco Organizzazione, seleziona il nome della risorsa dell'organizzazione.

  6. Nel campo Posizione, fai clic su Sfoglia, espandi il nome della risorsa dell'organizzazione e seleziona test-folder.

  7. 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.

  1. Nella console Google Cloud, seleziona test-project nella pagina di selezione del progetto.

    Vai al selettore dei progetti

  2. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  3. Fai clic su Crea rete VPC.

  4. In Nome, inserisci myvpc.

  5. In Modalità di creazione subnet, seleziona Personalizzata.

  6. 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.
  7. Fai clic su Fine, quindi su Crea.

  8. Per creare un'altra rete VPC, fai clic su Crea rete VPC.

  9. In Nome, inserisci test-vpc.

  10. In Modalità di creazione subnet, seleziona Personalizzata.

  11. 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.
  12. Per aggiungere un'altra subnet alla rete test-vpc, fai clic su Aggiungi subnet.

  13. 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.
  14. 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.

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nel riquadro Configurazione macchina, segui questi passaggi:

    1. In Nome, inserisci myvpc-vm.
    2. In Regione, seleziona us-central1 (Iowa).
  3. Nel menu di navigazione, fai clic su Networking.

    1. 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
    2. Fai clic su Fine.
  4. 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:

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nel riquadro Configurazione macchina, segui questi passaggi:

    1. In Nome, inserisci testvpc-vm.
    2. In Regione, seleziona us-central1 (Iowa).
  3. Nel menu di navigazione, fai clic su Networking.

    1. 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
    2. Fai clic su Fine.
  4. 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:

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nel riquadro Configurazione macchina, segui questi passaggi:

    1. In Nome, inserisci testvpc-apache-vm.
    2. In Regione, seleziona us-central1 (Iowa).
  3. Nel menu di navigazione, fai clic su Networking.

    1. 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
    2. Fai clic su Fine.
  4. 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.

  5. Fai clic su Crea.

  6. 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.

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. 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.

  3. In Nome gateway, inserisci myvpc-gateway.

  4. In Tipo NAT, seleziona Pubblico.

  5. 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.
      1. In Nome, inserisci myvpc-router.
      2. Fai clic su Crea.
  6. 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 regola VPC 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:

  1. Nella console Google Cloud, vai alla pagina di selezione del progetto e seleziona test-folder.

    Vai al selettore dei progetti

  2. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  3. Fai clic su Crea criterio firewall.

  4. Nella sezione Configura criterio, in Nome criterio, inserisci fw-egress-specific-vpc.

  5. In Descrizione, inserisci example-firewall-policy.

  6. Fai clic su Continua.

  7. Nella sezione Aggiungi regole, fai clic su Continua. Aggiungerai le regole firewall nelle sezioni successive di questa guida rapida.

  8. Nella sezione Associa criteri alle risorse, fai clic su Aggiungi.

  9. Espandi la tua organizzazione, seleziona test-folder e fai clic su Aggiungi.

  10. 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:

  1. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  2. Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.

  3. In Priorità, inserisci 100.

  4. In Descrizione, inserisci enable-iap.

  5. In Direzione del traffico, seleziona In entrata.

  6. Per Azione in caso di corrispondenza, seleziona Consenti.

  7. Nella sezione Origine, inserisci 35.235.240.0/20 in Intervalli IP.

  8. Nella sezione Protocolli e porte, seleziona Protocolli e porte specificati.

  9. Seleziona la casella di controllo TCP e inserisci 22 in Porte.

  10. 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:

  1. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  2. Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.

  3. In Priorità, inserisci 200.

  4. In Descrizione, inserisci allow-ingress-testvpc.

  5. Per Direzione del traffico, seleziona In entrata.

  6. Per Azione in caso di corrispondenza, seleziona Consenti.

  7. Nella sezione Target, fai clic su Aggiungi emittente.

  8. Seleziona il progetto di test che contiene la rete test-vpc, quindi seleziona test-vpc come rete.

  9. Nella sezione Origine, inserisci 0.0.0.0/0 in Intervalli IP.

  10. Nella sezione Protocolli e porte, seleziona Protocolli e porte specificati.

  11. Seleziona la casella di controllo TCP e inserisci 80 in Porte.

  12. 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.

  1. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  2. Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.

  3. In Priorità, inserisci 300.

  4. In Descrizione, inserisci delegate-egress-myvpc.

  5. In Direzione del traffico, seleziona In uscita.

  6. Per Azione in caso di corrispondenza, seleziona Vai alla successiva.

  7. Nella sezione Target, fai clic su Aggiungi emittente.

  8. Seleziona il nome del progetto di test che contiene myvpc, quindi seleziona myvpc come rete.

  9. 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.

  10. 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.

  1. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  2. Fai clic su fw-egress-specific-vpc e poi su Aggiungi regola.

  3. In Priorità, inserisci 400.

  4. In Descrizione, inserisci block-egress-all-traffic.

  5. In Direzione del traffico, seleziona In uscita.

  6. Per Azione in caso di corrispondenza, seleziona Nega.

  7. Nella sezione Destinazione, inserisci 0.0.0.0/0 in Intervalli IP.

  8. Fai clic su Crea.

Testare il criterio firewall gerarchico

Dopo aver configurato il criterio firewall gerarchico, segui questi passaggi per testarlo:

  1. Vai alla console Google Cloud.

    Vai alla console Google Cloud

  2. Nel selettore di progetti nella parte superiore della pagina, seleziona test-project dove hai creato le reti VPC.

  3. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  4. Nella colonna Connetti per myvpc-vm, fai clic su SSH.

  5. Nella finestra di dialogo SSH nel browser, fai clic su Autorizza e attendi che la connessione venga stabilita.

  6. Per verificare che il traffico in uscita verso testvpc-apache-vm da myvpc 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 da myvpc sono consentite.

  7. Per verificare che il traffico in uscita sia bloccato da qualsiasi altra rete VPC nell'organizzazione, segui questi passaggi:

    1. Nella console Google Cloud, vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Nella colonna Connetti per testvpc-vm, fai clic su SSH.

    3. Nella finestra di dialogo SSH nel browser, fai clic su Autorizza e attendi che la connessione venga stabilita.

    4. Per verificare che il traffico in uscita da testvpc-vm a testvpc-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 di myvpc.

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

  1. Vai alla console Google Cloud.

    Vai alla console Google Cloud

  2. Nel selettore di progetti nella parte superiore della pagina, seleziona test-folder dove hai creato le risorse per questa guida rapida.

  3. Nella console Google Cloud, vai alla pagina Policy firewall.

    Vai a Policy del firewall

  4. Nella sezione Criteri firewall associati al nodo o ereditati dal nodo, fai clic su fw-egress-specific-vpc.

  5. Fai clic sulla scheda Associazioni.

  6. Seleziona la casella di controllo relativa a test-folder e fai clic su Rimuovi associazione.

  7. Nella finestra di dialogo Rimuovi associazione con test-folder, fai clic su Elimina.

  8. Fai clic su Elimina.

  9. Nella finestra di dialogo Elimina fw-egress-specific-vpc, fai clic su Elimina.

Elimina le VM

  1. Vai alla console Google Cloud.

    Vai alla console Google Cloud

  2. Nel selettore dei progetti nella parte superiore della pagina, seleziona test-project.

  3. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  4. Seleziona le caselle di controllo per myvpc-vm, testvpc-vm e testvpc-apache-vm.

  5. Fai clic su Elimina.

  6. Nella finestra di dialogo Elimina 3 istanze, fai clic su Elimina.

Elimina il router Cloud e il gateway Cloud NAT

  1. Nella console Google Cloud, vai alla pagina Router cloud.

    Vai a Router Cloud

  2. Seleziona la casella di controllo per myvpc-router.

  3. Fai clic su Elimina.

  4. 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

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Nella colonna Nome, fai clic su myvpc.

  3. Fai clic su Elimina rete VPC.

  4. 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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Elimina la cartella

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Se la cartella che intendi eliminare è collegata a un'organizzazione, espandi l'elenco Organizzazione nella colonna Nome.

  3. Nell'elenco delle cartelle, seleziona cartella-test e fai clic su Elimina.

  4. Nella finestra di dialogo, digita l'ID cartella e fai clic su Elimina comunque per eliminare il progetto.

Passaggi successivi