Esempi di criteri firewall gerarchici

Questa pagina mostra esempi di criteri firewall gerarchici. Questi esempi ti aiutano a capire come funzionano le policy del firewall gerarchiche e come utilizzarle per garantire una sicurezza coerente nella gerarchia delle risorse Google Cloud . Per comprendere questi esempi, acquisisci familiarità con i concetti relativi alle policy del firewall gerarchiche.

Esempio 1: consenti a un probe di accedere a tutte le VM

Questo esempio descrive come configurare una regola firewall a livello di organizzazione e consentire a un probe di accedere a tutte le macchine virtuali (VM). Un prober è un programma speciale che controlla automaticamente le tue VM per determinare i loro contenuti o la loro configurazione.

Scenario

Sei un amministratore della sicurezza che deve assicurarsi che lo strumento di analisi della sicurezza possa connettersi a tutte le istanze VM. Lo strumento invia probe dall'indirizzo IP 10.100.0.1 alla porta di destinazione 123. Devi assicurarti che nessun amministratore di rete o della sicurezza blocchi accidentalmente questa connessione a qualsiasi livello della tua organizzazione.

Il seguente diagramma mostra la configurazione per questo scenario:

Policy firewall per consentire i probe su tutte le VM
Policy del firewall per consentire i probe su tutte le VM

Come viene applicata la policy alle VM

Dopo aver valutato tutte le regole, il criterio firewall si applica alle tue VM nel seguente modo:

Connessioni in entrata

  • Il criterio dell'organizzazione consente le connessioni in entrata dall'IP di origine 10.100.0.1 alla porta di destinazione 123. Se la policy dell'organizzazione corrisponde, consente le connessioni probe e interrompe la valutazione di altre regole nella gerarchia.

  • Per le connessioni in entrata che non hanno origine dall'IP di origine 10.100.0.1 o dalla porta di destinazione di destinazione 123, non si verifica alcuna corrispondenza. Pertanto, si applica la regola di ingresso predefinita nelle regole firewall Virtual Private Cloud (VPC) e la connessione viene negata.

Connessioni in uscita

  • Non si verifica alcuna corrispondenza nelle regole definite dalla gerarchia. Pertanto, si applica la regola in uscita predefinita nelle regole firewall VPC, che consente le connessioni in uscita. Se hai configurato altre regole firewall per negare il traffico in uscita, tieni presente che Google Cloud firewall è stateful e consente il traffico di ritorno per le connessioni stabilite.

    Se hai configurato regole firewall per il traffico in uscita per negare il traffico in uscita, inclusa una regola in uscita deny-all implicita, e la tua configurazione include protocolli che non utilizzano il monitoraggio delle connessioni, devi configurare esplicitamente le regole firewall per consentire il traffico di ritorno in uscita.

Come configurare

Per creare una regola del criterio e associarla a un'organizzazione:

  1. Crea un criterio firewall che contenga la regola:

    gcloud compute firewall-policies create \
         --organization ORG_ID \
         --short-name SHORT_NAME \
         --description DESCRIPTION
    
  2. Aggiungi la regola al criterio firewall:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description DESCRIPTION \
        --layer4-configs=tcp:123 \
        --firewall-policy SHORT_NAME \
        --organization ORG_ID \
        --src-ip-ranges=10.100.0.1/32
    
  3. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --firewall-policy SHORT_NAME\
        --organization ORG_ID
    

    Sostituisci quanto segue:

    • ORG_ID: l'ID della tua organizzazione

      Specifica un ID organizzazione per creare una policy la cui organizzazione principale sia un'organizzazione. Il criterio può essere associato all'organizzazione o a una cartella all'interno dell'organizzazione.

    • SHORT_NAME: un nome per la policy

      Una policy creata utilizzando Google Cloud CLI ha due nomi: un nome generato dal sistema e un nome breve fornito da te. Quando utilizzi gcloud CLI per aggiornare una policy esistente, puoi fornire il nome generato dal sistema o il nome breve e l'ID organizzazione. Quando utilizzi l'API per aggiornare la policy, devi fornire il nome generato dal sistema.

    • DESCRIPTION: descrizione della policy del firewall

Esempio 2: nega tutte le connessioni esterne, ad eccezione di quelle a determinate porte

Questo esempio descrive come configurare i criteri per negare le connessioni in entrata da porte specifiche.

Scenario

Sei un amministratore della sicurezza che vuole bloccare tutto il traffico internet in entrata per proteggere la tua organizzazione, ad eccezione di servizi specifici, come il traffico web (porte 80 e 443) e l'accesso SSH (porta 22). Devi bloccare tutto il traffico internet in entrata sulle porte diverse da 80, 443 o 22, indipendentemente dalle regole di rete VPC esistenti. Per le connessioni sulle porte consentite, deleghi all'amministratore della sicurezza VPC la possibilità di decidere cosa succede nella sua rete VPC specifica.

Il seguente diagramma mostra la configurazione per questo scenario:

Nega tutte le connessioni esterne, ad eccezione di determinate porte di destinazione
Nega tutte le connessioni esterne, tranne determinate porte di destinazione

Come viene applicata la policy alle VM

Dopo aver valutato le regole nell'intera gerarchia, il criterio firewall VM si applica nel seguente modo:

Connessioni in entrata

  • Le connessioni in entrata da 10.0.0.0/8 corrispondono alla regola a livello di organizzazione con la priorità più alta delegate-internal-traffic. Queste connessioni ignorano le regole rimanenti nella policy dell'organizzazione per la valutazione rispetto alle regole firewall a livello di rete VPC. La regola firewall VPC consente le connessioni da 10.2.0.0/16 e valuta le connessioni rimanenti in base alla regola in entrata implicita, deny.

  • Le connessioni in entrata dall'origine al di fuori dell'intervallo IP 10.0.0.0/8 sulle porte di destinazione 22, 80 e 443 vengono delegate al livello successivo. A questo livello, le regole consentono il traffico sulle porte 80 e 443, ma bloccano la porta 22.

  • Tutte le altre connessioni sono bloccate.

Connessioni in uscita

  • Non si verifica alcuna corrispondenza nelle regole definite dalla gerarchia. Pertanto, si applica la regola in uscita predefinita nelle regole firewall VPC, che consente le connessioni in uscita. Se hai configurato altre regole firewall per negare il traffico in uscita, tieni presente che Google Cloud firewall è stateful e consente il traffico di ritorno per le connessioni stabilite.

    Se hai configurato regole firewall per il traffico in uscita per negare il traffico in uscita, inclusa una regola in uscita deny-all implicita, e la tua configurazione include protocolli che non utilizzano il monitoraggio delle connessioni, devi configurare esplicitamente le regole firewall per consentire il traffico di ritorno in uscita.

Come configurare

Per creare una regola del criterio e consentire connessioni TCP esterne 80 o 443:

  1. Crea un criterio firewall che contenga la regola:

    gcloud compute firewall-policies create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --description DESCRIPTION
    
  2. Aggiungi una regola per delegare le connessioni interne al proprietario del progetto:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description DESCRIPTION \
        --organization ORG_ID \
        --firewall-policy SHORT_NAME \
        --src-ip-ranges=10.0.0.0/8
    
  3. Aggiungi una regola per delegare le regole di connessione esterna alle porte 80 o 443 o 22 al proprietario del progetto:

    gcloud compute firewall-policies rules create 2000 \
        --action=goto_next \
        --description DESCRIPTION \
        --src-ip-ranges=0.0.0.0/0 \
        --layer4-configs=tcp:80,tcp:443,tcp:22 \
        --organization ORG_ID \
        --firewall-policy SHORT_NAME
    
  4. Aggiungi una regola per negare tutte le altre connessioni esterne:

    gcloud compute firewall-policies rules create 3000 \
        --action=deny \
        --description DESCRIPTION \
        --organization ORG_ID \
        --firewall-policy SHORT_NAME \
        --src-ip-ranges=0.0.0.0/0
    
  5. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization ORG_ID \
        --firewall-policy SHORT_NAME
    
  6. Nel progetto, aggiungi una regola firewall per consentire le connessioni interne dalla subnet designata:

    gcloud compute firewall-rules create allow-internal-traffic \
        --action=allow \
        --priority=1000 \
        --source-ranges=10.2.0.0/16
    
  7. Nel progetto, aggiungi una regola firewall per consentire le connessioni TCP esterne 80 o 443:

    gcloud compute firewall-rules create allow-external-traffic \
        --action=allow \
        --priority=2000 \
        --rules=tcp:80,tcp:443
    

    Sostituisci quanto segue:

    • ORG_ID: l'ID della tua organizzazione

      Specifica un ID organizzazione per creare una policy la cui organizzazione principale sia un'organizzazione. Il criterio può essere associato all'organizzazione o a una cartella all'interno dell'organizzazione.

    • SHORT_NAME: un nome per la policy

      Una policy creata utilizzando Google Cloud CLI ha due nomi: un nome generato dal sistema e un nome breve fornito da te. Quando utilizzi gcloud CLI per aggiornare una policy esistente, puoi fornire il nome generato dal sistema o il nome breve e l'ID organizzazione. Quando utilizzi l'API per aggiornare la policy, devi fornire il nome generato dal sistema.

    • DESCRIPTION: descrizione della policy del firewall

Esempio 3: nega le connessioni in uscita tranne che da una rete VPC specifica

Questo esempio descrive come configurare i criteri per negare le connessioni in uscita da una rete VPC specifica.

Scenario

La tua organizzazione gestisce dati sensibili e deve limitare le informazioni che escono dalla sua rete. Per impostazione predefinita, la tua organizzazione impedisce a tutte le istanze VM di inviare dati a internet. Tuttavia, un progetto nella rete VPC myvpc deve comunicare in modo sicuro con il server di un partner attendibile all'indirizzo 203.0.113.1. Per supportare questa funzionalità, devi implementare quanto segue:

  • Consenti solo connessioni in uscita da myvpc a 203.0.113.1.
  • Delega la gestione dei dettagli di comunicazione specifici per questa connessione all'amministratore della sicurezza myvpc.
  • Assicurati che questa configurazione impedisca fughe di dati accidentali da altre parti dell'organizzazione.

L'amministratore della sicurezza dell'organizzazione lo ottiene bloccando le connessioni in uscita in tutte le altre reti VPC, ad eccezione delle connessioni che hanno origine in myvpc. L'amministratore delega specificamente l'autorizzazione dell'uscita al server pubblico 203.0.113.1 all'amministratore della sicurezza myvpc.

Il seguente diagramma mostra la configurazione per questo scenario:

Nega le connessioni in uscita, tranne da una rete specifica
Nega le connessioni in uscita tranne che da una rete specifica

Come viene applicata la policy alle VM

Dopo aver valutato le regole nell'intera gerarchia, il criterio firewall VM si applica nel seguente modo:

Connessioni in entrata

  • Non esiste alcuna corrispondenza tra le regole definite dalla gerarchia. Pertanto, si applica la regola in entrata predefinita nelle regole firewall VPC, che nega le connessioni in entrata.

Connessioni in uscita

  • Le connessioni in uscita destinate a 203.0.113.1 sono consentite perché corrispondono alla regola delegate-egress-my-vpc e ignorano le regole rimanenti nei criteri dell'organizzazione. Il resto delle altre connessioni in uscita viene negato.

  • Le connessioni in uscita vengono quindi valutate in base alle regole firewall configurate in myvpc. La regola predefinita consente le connessioni in uscita. La regola block-egress-traffic-sepc-ports nella policy a livello di organizzazione nega il resto delle connessioni.

Come configurare

Per creare una regola del criterio e delegare determinate connessioni in uscita:

  1. Crea un criterio firewall che contenga la regola:

    gcloud compute firewall-policies create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --description DESCRIPTION
    
  2. Aggiungi una regola per delegare determinate connessioni in uscita:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description DESCRIPTION \
        --dest-ip-ranges=203.0.113.1/32
        --direction=egress
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --target-resources=projects/PROJECT_ID/networks/myvpc
    
  3. Aggiungi una regola per negare tutte le altre connessioni in uscita:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description DESCRIPTION \
        --direction=egress \
        --dest-ip-ranges=0.0.0.0/0 \
        --organization ORG_ID \
        --short-name SHORT_NAME
    
  4. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization ORG_ID \
        --short-name SHORT_NAME
    

Sostituisci quanto segue:

  • ORG_ID: l'ID della tua organizzazione

    Specify an organization ID to create a policy whose parent is an
    organization. The policy can be associated with the organization or
    a folder within the organization.
    
  • SHORT_NAME: un nome per la policy

    A policy created by using the Google Cloud CLI has two
    names: a system-generated name and a short name provided by you. When
    using the gcloud CLI to update an existing policy, you can
    provide either the system-generated name or the short name and the
    organization ID. When using the API to update the policy, you must
    provide the system-generated name.
    
  • DESCRIPTION: descrizione della policy del firewall

Esempio 4: configura regole specifiche per l'organizzazione e la cartella

Questo esempio descrive come bloccare le connessioni in entrata a tutte le VM di un'organizzazione, ad eccezione delle connessioni da un intervallo IP.

Scenario

La tua organizzazione include più cartelle, ad esempio Folder1 e Folder2. Il team di sicurezza dell'organizzazione configura una policy a livello di organizzazione per consentire il traffico in entrata esclusivamente dall'intervallo IP 203.0.113.0/24 in tutte le cartelle.

Una volta che il traffico entra nella rete, le diverse cartelle hanno esigenze diverse:

  • Folder1: questo team esegue solo applicazioni web, quindi l'amministratore della sicurezza consente il traffico dal partner attendibile solo sulle porte web 80 e 443. Per una maggiore sicurezza, la policy blocca tutte le altre porte.

  • Folder2: questo team utilizza uno strumento che esegue la scansione dei suoi sistemi. Lo strumento ha origine dall'indirizzo IP 203.0.113.1 all'interno dell'intervallo del partner attendibile. L'amministratore si assicura che questo strumento di scansione possa raggiungere qualsiasi porta delle VM. Per tutto il resto del traffico proveniente dal partner attendibile, gli amministratori a livello di progetto determinano le regole. Poi aprono le porte 80, 443 e 22 per le loro applicazioni specifiche.

In questo esempio, un amministratore della sicurezza blocca le connessioni in entrata a qualsiasi VM nell'organizzazione, ad eccezione di quelle provenienti dall'intervallo IP consentito 203.0.113.0/24. L'amministratore delega ulteriori decisioni relative alle connessioni da 203.0.113.0/24 agli amministratori della sicurezza a livello di cartella.

Il seguente diagramma mostra la configurazione per questo scenario:

Regole a livello di organizzazione e specifiche per le cartelle
Regole specifiche per l'organizzazione e la cartella

Come viene applicata la policy alle VM

Dopo aver valutato le regole nell'intera gerarchia, il criterio firewall VM si applica nel seguente modo:

Per le VM nella rete VPC my-vpc

  • Sono consentite tutte le connessioni in entrata da 203.0.113.0/24 alle porte TCP di destinazione 80 e 443. Tutte le altre connessioni in entrata vengono rifiutate.

  • La regola firewall VPC consente tutte le connessioni in uscita quando non corrispondono regole dei criteri firewall di livello superiore.

Per le VM nella rete VPC vpc2

  • Il criterio consente tutte le connessioni in entrata da 203.0.113.1. Per le connessioni in entrata dalle origini 203.0.113.0/24, ad eccezione di 203.0.113.1, il criterio consente il traffico solo verso le porte 80, 443 e 22. Il criterio nega tutte le altre connessioni in entrata.

  • Poiché non corrispondono regole di policy firewall di livello superiore, la regola firewall VPC consente tutte le connessioni in uscita.

Come configurare

Per configurare regole specifiche per l'organizzazione e la cartella:

  1. Crea una policy firewall per Org_A:

    gcloud compute firewall-policies create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --description DESCRIPTION
    
  2. Aggiungi una regola per delegare l'accesso in entrata da 203.0.113.0/24 al proprietario del progetto:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description DESCRIPTION \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --src-ip-ranges=203.0.113.0/24
    
  3. Aggiungi una regola per negare tutte le altre connessioni esterne:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description DESCRIPTION \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --src-ip-ranges=0.0.0.0/0
    
  4. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization ORG_ID \
        --short-name SHORT_NAME
    
  5. Crea una policy firewall che contenga le regole per Folder1:

    gcloud compute firewall-policies create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --description DESCRIPTION
    
  6. Aggiungi una regola per consentire tutto l'ingresso HTTP(S):

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description DESCRIPTION \
        --layer4-configs=tcp:80,tcp:443 \
        --organization ORG_ID \
        --short-name SHORT_NAME
    
  7. Aggiungi una regola per negare l'accesso su tutte le altre porte o protocolli:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description DESCRIPTION \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --src-ip-ranges=0.0.0.0/0
  8. Associa il criterio firewall a Folder1:

    gcloud compute firewall-policies associations create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --folder FOLDER_ID
    
  9. Crea una policy firewall che contenga le regole per Folder2:

    gcloud compute firewall-policies create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --description DESCRIPTION
    
  10. Aggiungi una regola per consentire il traffico in entrata da 203.0.113.1:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description DESCRIPTION \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --src-ip-ranges=203.0.113.1/32
    
  11. Associa il criterio firewall a Folder2:

    gcloud compute firewall-policies associations create \
        --organization ORG_ID \
        --short-name SHORT_NAME \
        --folder FOLDER_ID
    
  12. Aggiungi una regola firewall per consentire l'ingresso della connessione HTTP(S):

    gcloud compute firewall-rules create allow-internal-traffic \
        --network=vpc2 \
        --action=allow \
        --rules=tcp:80,tcp:443,tcp:22
    

Sostituisci quanto segue:

  • ORG_ID: l'ID della tua organizzazione

    Specify an organization ID to create a policy whose parent is an
    organization. The policy can be associated with the organization or
    a folder within the organization.
    
  • SHORT_NAME: un nome per la policy

    A policy created by using the Google Cloud CLI has two
    names: a system-generated name and a short name provided by you. When
    using the gcloud CLI to update an existing policy, you can
    provide either the system-generated name or the short name and the
    organization ID. When using the API to update the policy, you must
    provide the system-generated name.
    
  • DESCRIPTION: descrizione della policy del firewall

  • FOLDER_ID: l'ID della cartella

Passaggi successivi