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

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

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 cartella, inserisci test-folder.

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

  5. Nel campo Posizione, fai clic su Sfoglia e seleziona la risorsa dell'organizzazione.

  6. Fai clic su Crea.

Crea un progetto

Crea un progetto nella cartella che hai creato 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.

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.

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

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

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.

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

  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 temporaneo e trasmetti 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: Temporaneo
    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 Google Cloud console, 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à 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.

  3. In Nome gateway, inserisci myvpc-gateway.

  4. In Tipo NAT, seleziona Pubblico.

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

  3. Fai clic su Crea criterio firewall.

  4. Nella sezione Configura policy, per Nome della policy, 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 criterio alle risorse, fai clic su Aggiungi.

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

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

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

    Vai a Criteri firewall

  2. Fai clic su fw-egress-specific-vpc, quindi 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, per Intervalli IP, inserisci 35.235.240.0/20.

  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 Criteri 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. In Direzione del traffico, seleziona In entrata.

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

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

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

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

  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 in uscita IPv4 implicita.

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

    Vai a Criteri 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 al successivo.

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

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

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

  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 nega 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 Criteri firewall

  2. Fai clic su fw-egress-specific-vpc, quindi 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, per Intervalli IP, inserisci 0.0.0.0/0.

  8. Fai clic su Crea.

Testa il criterio firewall gerarchico

Dopo aver configurato la policy firewall gerarchica, segui questi passaggi per testarla:

  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 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 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 venga stabilita la connessione.

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

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

  5. Fai clic sulla scheda Associazioni.

  6. Seleziona la casella di controllo per 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 di 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 istanza 3 istanze, fai clic su Elimina.

Elimina il router Cloud e il gateway Cloud NAT

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

    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.

    Allo stesso modo, 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.

Eliminare la cartella

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

    Vai a Gestisci risorse

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

  3. Nell'elenco delle cartelle, seleziona test-folder, quindi fai clic su Elimina.

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

Passaggi successivi