Esempi di criteri firewall gerarchici

Questa pagina mostra esempi di implementazioni di criteri firewall gerarchici. Si assume che tu abbia familiarità con i concetti descritti in Criteri firewall gerarchici.

Esempio 1: consentire al prober di accedere a tutte le VM

In questo caso d'uso, tutte le istanze di macchine virtuali (VM) di un'organizzazione devono essere sottoposte a scansione e inventariate utilizzando sonde da un determinato indirizzo IP (10.100.0.1) a una porta di destinazione specifica (123). L'amministratore della sicurezza dell'organizzazione garantisce che nessun amministratore di rete o altro amministratore della sicurezza possa bloccare la porta su nessuna istanza VM dell'organizzazione.

In questo esempio si presuppone che non sia stato eseguito il deployment di criteri firewall a livello di cartella.

La configurazione della configurazione per questo caso d'uso è descritta nel seguente diagramma.

Consenti al prober di accedere a tutte le VM
Consenti al prober di accedere a tutte le VM

Criterio effettivo applicato nelle VM

In questo esempio, il criterio firewall della VM applicato delle regole nella gerarchia è la seguente.

Connessioni in entrata

  • Le connessioni in entrata con indirizzo IP di origine 10.100.0.1 e porta di destinazione 123 sono consentite, come definito nel criterio. In caso di corrispondenza con il criterio dell'organizzazione, connessioni del probe sono consentite e non vengono valutate altre regole nella gerarchia.

  • Per qualsiasi connessione in entrata diversa dall'IP di origine 10.100.0.1 e porta di destinazione 123, non c'è corrispondenza; pertanto la regola in entrata predefinita nelle regole firewall VPC si applica, negando la connessione.

Connessione in uscita

  • Non esiste una corrispondenza tra le regole definite dalla gerarchia. Di conseguenza, l'impostazione predefinita si applica una regola di traffico in uscita nelle regole firewall VPC, consentendo e connessioni a Internet.

Modalità di configurazione

  1. Crea un criterio firewall contenente la regola:

    gcloud compute firewall-policies create \
         --organization=123456789012 \
         --short-name="example-firewall-policy" \
         --description="rules that apply to all VMs in the organization"
    
  2. Aggiungi la regola al criterio firewall:

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

    gcloud compute firewall-policies associations create \
        --firewall-policy=example-firewall-policy \
        --organization=123456789012

Esempio 2: negare tutte le connessioni esterne tranne alcune porte

In questo caso d'uso, un criterio firewall blocca tutte le connessioni provenienti da origini internet esterne, ad eccezione delle connessioni sulle porte di destinazione 80, 443 e 22. Una connessione a internet in entrata su qualsiasi porta diversa da 80, 443 e 22 è bloccata indipendentemente dalle regole del firewall a livello di rete VPC. Per tutte le connessioni sulla porta 80, 443 o 22, il criterio delega all'amministratore della sicurezza VPC il comportamento che vuoi applicare nella rispettiva rete VPC.

La configurazione della configurazione per questo caso d'uso è descritta nel seguente diagramma.

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

Criterio effettivo applicato nelle VM

In questo esempio, il criterio firewall della VM applicato delle regole nella gerarchia è la seguente.

Connessioni in entrata

  • Qualsiasi connessione in entrata da 10.0.0.0/8 corrisponde a quella più alta regola di priorità a livello di organizzazione delegate-internal-traffic e ignora le altre regole del criterio dell'organizzazione da valutare in base e regole firewall configurate a livello di rete VPC. Nella regola firewall VPC, le connessioni da 10.2.0.0/16 sono consentite, mentre le altre connessioni vengono valutate in base alla regola in entrata implicita, ovvero deny.

  • Le connessioni in entrata con un intervallo IP di origine diverso da 10.0.0.0/8 per le porte di destinazione 22, 80 e 443 vengono delegate al livello successivo, dove le porte 80 e 443 sono consentite, ma non 22.

  • Tutte le altre connessioni sono bloccate.

Connessioni in uscita

  • Non esiste una corrispondenza tra le regole definite dalla gerarchia. Pertanto, viene applicata la regola in uscita predefinita nelle regole firewall VPC, consentendo le connessioni in uscita.

Modalità di configurazione

  1. Crea un criterio firewall contenente la regola:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Aggiungi una regola per delegare le connessioni interne al proprietario del progetto:

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

    gcloud compute firewall-policies rules create 2000 \
        --action=goto_next \
        --description="delegate-external-traffic-spec-ports" \
        --src-ip-ranges=0.0.0.0/0 \
        --layer4-configs=tcp:80,tcp:443,tcp:22 \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  4. Aggiungi una regola per negare tutte le altre connessioni esterne:

    gcloud compute firewall-policies rules create 3000 \
        --action=deny \
        --description="block-other-external-traffic-spec-ports" \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy" \
        --src-ip-ranges=0.0.0.0/0
    
  5. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  6. Nel progetto, aggiungi una regola del 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 80/443 esterne:

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

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

In questo caso d'uso, l'amministratore della sicurezza dell'organizzazione non consente il traffico in uscita connessioni in qualsiasi rete VPC, tranne le connessioni proveniente dalla rete VPC myvpc. L'amministratore delegato la decisione di aprire l'uscita al server pubblico 203.0.113.1 all'amministratore della sicurezza myvpc.

Questo esempio presuppone che non siano stati implementati criteri firewall a livello di cartella. La configurazione per questo caso d'uso è descritta nel seguente diagramma.

Negare le connessioni in uscita, ad eccezione di quelle provenienti da una rete specifica
Rifiuta le connessioni in uscita, tranne quelle provenienti da una rete specifica

Criterio effettivo applicato nelle VM

In questo esempio, il criterio firewall della VM applicato delle regole nella gerarchia è la seguente.

Connessioni in entrata

  • Non esiste una corrispondenza nelle regole definite dalla gerarchia. Di conseguenza, l'impostazione predefinita Si applica la regola in entrata nelle regole del firewall VPC, negando il traffico in entrata e connessioni a Internet.

Connessioni in uscita

  • Tutte le connessioni in uscita destinate a 203.0.113.1 sono consentite; il resto delle connessioni viene negato. Tutte le connessioni in uscita destinate a 203.0.113.1 corrispondono alla regola delegate-egress-my-vpc e ignorano il resto delle regole nel criterio dell'organizzazione.

  • Le connessioni in uscita vengono quindi valutate in base alle regole del firewall configurato in myvpc. La regola predefinita consente le connessioni in uscita. La block-egress-traffic-sepc-ports regola nel criterio a livello di organizzazione nega le altre connessioni.

Modalità di configurazione

  1. Crea un criterio firewall che contenga la regola:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Aggiungi una regola per delegare determinate connessioni in uscita:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-egress-myvpc" \
        --dest-ip-ranges=203.0.113.1/32
        --direction=egress
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --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="block-egress-external-traffic-spec-ports" \
        --direction=egress \
        --dest-ip-ranges=0.0.0.0/0 \
        --organization=123456789012 \
        --short-name="example-firewall-policy"
  4. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --short-name="example-firewall-policy"

Esempio 4: configura regole a livello di organizzazione e specifiche per cartella

In questo caso d'uso, un amministratore della sicurezza non consente le connessioni in entrata a nessuna VM dell'organizzazione, ad eccezione di quelle dell'intervallo aggiunto a una lista consentita: 203.0.113.0/24. L'amministratore delega ulteriori decisioni su cosa fare con i collegamenti da 203.0.113.0/24 a amministratori della sicurezza a livello di cartella.

Esistono due cartelle diverse:

  • Folder1, in cui il criterio consente connessioni solo alle porte 80 e 443 sulle VM di backend e le altre porte sono bloccati.
  • Folder2, in cui il criterio applica in modo forzato che nessuna VM nella Cartella 2 può blocca qualsiasi porta di destinazione per il traffico proveniente dall'indirizzo IP 203.0.113.1. L'amministratore della sicurezza della cartella 2 delega altre decisioni all'amministratore della sicurezza della VPC, che decide di aprire le porte 80, 443 e 22 e di negare il resto delle porte.

La configurazione della configurazione per questo caso d'uso è descritta nel seguente diagramma.

Regole specifiche per la cartella e a livello di organizzazione
Regole a livello di organizzazione e specifiche per cartella

Norme vigenti applicate nelle VM

In questo esempio, il criterio firewall della VM efficace dopo la valutazione delle regole nella gerarchia è il seguente.

Per le VM appartenenti a my-vpc

  • Sono consentite tutte le connessioni in entrata da 203.0.113.0/24 con porte di destinazione TCP 80 e443. Eventuali altre connessioni in entrata vengono rifiutate.

  • Tutte le connessioni in uscita sono accettate in base alla regola firewall VPC applicata perché non esiste una corrispondenza nelle regole dei criteri firewall di livello superiore.

Per le VM appartenenti a vpc2

  • Sono consentite tutte le connessioni in entrata da 203.0.113.1. Le connessioni in entrata da altre origini 203.0.113.0/24 diverse da 203.0.113.1 sono consentite solo alle porte 80, 443 e 22. Tutte le altre connessioni in entrata vengono negate.

  • Tutte le connessioni in uscita sono accettate in base alla regola firewall VPC applicata perché non esiste una corrispondenza con le regole dei criteri firewall di livello superiore.

Modalità di configurazione

  1. Crea un criterio firewall contenente le regole per Org_A:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --description="rules that apply to all VMs in the organization"
    
  2. Aggiungi una regola per delegare l'accesso da 203.0.113.0/24 al proprietario del progetto:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --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="block-ingress-external-traffic"
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --src-ip-ranges=0.0.0.0/0
    
  4. Associa il criterio firewall all'organizzazione:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a"
  5. Crea un criterio firewall che contenga le regole per la cartella 1:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --description="rules that apply to all VMs under Folder1"
    
  6. Aggiungi una regola per consentire tutto l'ingresso HTTP(S):

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-http-s-ingress" \
        --layer4-configs=tcp:80,tcp:443 \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1"
  7. Aggiungi una regola per negare il traffico in entrata su tutte le altre porte o tutti i protocolli:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description="block-ingress-external-traffic" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --src-ip-ranges=0.0.0.0/0
  8. Associa il criterio firewall alla Cartella1:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --folder=200000000000
  9. Crea un criterio firewall che contenga le regole per la cartella 2:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --description="rules that apply to all VMs under Folder2"
  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="allow-vul-scan-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --src-ip-ranges=203.0.113.1/32
  11. Associa il criterio firewall alla cartella 2:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --folder=300000000000
  12. Aggiungi una regola firewall per consentire il traffico in entrata della connessione HTTP(S):

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

Passaggi successivi