Esempi di logging delle regole firewall VPC

Le regole firewall Virtual Private Cloud (VPC) generano voci di log quando si applicano al traffico. Mentre un flusso di pacchetti può generare più voci di log, una regola firewall VPC genera al massimo una voce di log per connessione da un'istanza di macchina virtuale (VM). I seguenti esempi mostrano come funziona la registrazione delle regole firewall VPC in diversi scenari.

Esempio di rifiuto in uscita

Questo esempio mostra la registrazione per una regola firewall VPC di negazione dell'uscita che blocca il traffico tra due istanze VM nella stessa rete VPC.

In questo esempio, il traffico scorre tra le istanze VM nella rete VPC example-net nel progetto example-proj.

  • Le due istanze VM sono:

    • VM1 nella zona us-west1-a con indirizzo IP 10.10.0.99 in west-subnet (regione us-west1).
    • VM2 nella zona us-east1-b con indirizzo IP 10.20.0.99 in east-subnet (regione us-east1).
  • Regola A: una regola firewall di negazione del traffico in uscita ha come target tutte le istanze della rete, come destinazione 10.20.0.99 (VM2) e si applica alla porta TCP 80. Il logging è abilitato per questa regola.

  • Regola B: una regola firewall di autorizzazione in entrata ha come target tutte le istanze della rete, come origine 10.10.0.99 (VM1) e si applica alla porta TCP 80. Il logging è abilitato anche per questa regola.

Per creare le regole firewall VPC, utilizza i seguenti comandi gcloud:

  • Regola A: regola di negazione in uscita per la porta TCP 80, applicabile a tutte le istanze, destinazione 10.20.0.99:

    gcloud compute firewall-rules create rule-a \
        --network example-net \
        --action deny \
        --direction EGRESS \
        --rules tcp:80 \
        --destination-ranges 10.20.0.99/32 \
        --priority 10 \
        --enable-logging
    
  • Regola B: regola di autorizzazione in entrata per la porta TCP 80, applicabile a tutte le istanze, origine 10.10.0.99:

    gcloud compute firewall-rules create rule-b \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 10.10.0.99/32 \
        --priority 10 \
        --enable-logging
    
La regola di negazione in uscita blocca la connessione dalla VM1 alla VM2.
La regola di negazione del traffico in uscita blocca la connessione dalla VM1 alla VM2 (fai clic per ingrandire).

In uno scenario in cui VM1 tenta di connettersi a VM2 sulla porta TCP 80, si verifica quanto segue:

  • Una voce di log per la regola A dal punto di vista di VM1 viene generata mentre VM1 tenta di connettersi a 10.20.0.99 (VM2).
  • Poiché la regola A blocca il traffico, la regola B non viene presa in considerazione, quindi non esiste alcuna voce di log per la regola B dal punto di vista di VM2.

VM1 segnala il seguente record di log delle regole firewall VPC:

Campo Valori
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition RIFIUTATO
rule_details reference = "network:example-net/firewall:rule-a"
priority = 10
action = DENY
destination_range = 10.20.0.99/32
ip_port_info = tcp:80
direction = egress
instance project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_instance project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_location Nessuna informazione. Questo campo viene utilizzato solo se la destinazione si trova al di fuori della tua rete VPC.

Esempio di autorizzazione in uscita e in entrata

Questo esempio mostra la registrazione per una regola firewall VPC di autorizzazione in uscita e una regola firewall VPC di autorizzazione in entrata che insieme consentono il traffico tra due istanze VM nella stessa rete VPC.

In questo esempio, il traffico scorre tra le istanze VM nella rete VPC example-net nel progetto example-proj.

  • Le due istanze VM sono:

    • VM1 nella zona us-west1-a con indirizzo IP 10.10.0.99 in west-subnet (regione us-west1).
    • VM2 nella zona us-east1-b con indirizzo IP 10.20.0.99 in east-subnet (regione us-east1).
  • Regola A: una regola firewall di autorizzazione in uscita ha come target tutte le istanze nella rete, come destinazione 10.20.0.99 (VM2) e si applica alla porta TCP 80. Il logging è abilitato per questa regola.

  • Regola B: una regola firewall di autorizzazione in entrata ha come target tutte le istanze della rete, come origine 10.10.0.99 (VM1) e si applica alla porta TCP 80. Il logging è abilitato anche per questa regola.

Per creare le regole firewall VPC, utilizza i seguenti comandi gcloud:

  • Regola A: regola di autorizzazione in uscita per la porta TCP 80, applicabile a tutte le istanze, destinazione 10.20.0.99 (VM2):

    gcloud compute firewall-rules create rule-a \
        --network example-net \
        --action allow \
        --direction EGRESS \
        --rules tcp:80 \
        --destination-ranges 10.20.0.99/32 \
        --priority 10 \
        --enable-logging
    
  • Regola B: regola di autorizzazione in entrata per la porta TCP 80, applicabile a tutte le istanze, origine 10.10.0.99 (VM1):

    gcloud compute firewall-rules create rule-b \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 10.10.0.99/32 \
        --priority 10 \
        --enable-logging
    
Le regole di autorizzazione in uscita e in entrata consentono la connessione dalla VM1 alla VM2.
Le regole di autorizzazione del traffico in uscita e in entrata consentono la connessione dalla VM1 alla VM2 (fai clic per ingrandire).

In uno scenario in cui VM1 tenta di connettersi a VM2 sulla porta TCP 80, si verifica quanto segue:

  • Viene generata una voce di log per la regola A dal punto di vista della VM1 mentre VM1 si connette a 10.20.0.99 (VM2).
  • Una voce di log per la regola B dal punto di vista della VM2 viene generata mentre la VM2 consente le connessioni in entrata da 10.10.0.99 (VM1).

VM1 segnala il seguente record di log delle regole firewall VPC:

Campo Valori
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition ALLOWED
rule_details reference = "network:example-net/firewall:rule-a"
priority = 10
action = ALLOW
destination_range = 10.20.0.99/32
ip_port_info = tcp:80
direction = egress
instance project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_instance project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_location Nessuna informazione. Questo campo viene utilizzato solo se la destinazione si trova al di fuori della tua rete VPC.

VM2 segnala il seguente record di log della regola firewall VPC:

Campo Valori
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition ALLOWED
rule_details reference = "network:example-net/firewall:rule-b"
priority = 10
action = ALLOW
source_range = 10.10.0.99/32
ip_port_info = tcp:80
direction = ingress
instance project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_instance project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_location Nessuna informazione. Questo campo viene utilizzato solo se la destinazione si trova al di fuori della tua rete VPC.

Esempio di traffico in entrata da internet

Questo esempio mostra la registrazione per una regola firewall in entrata che consente il traffico da internet a un'istanza VM. Mostra anche come il comportamento del firewall stateful influisce su una regola di negazione dell'uscita.

In questo esempio, il traffico scorre da una risorsa esterna a un'istanza VM all'interno della rete VPC example-net. La rete si trova nel progetto example-proj.

  • Il sistema su internet ha l'indirizzo IP 203.0.113.114.
  • La VM1 nella zona us-west1-a ha l'indirizzo IP 10.10.0.99 in west-subnet (regione us-west1).
  • Regola C: una regola firewall di autorizzazione in entrata ha come target tutte le istanze della rete, come origine qualsiasi indirizzo IP (0.0.0.0/0) e si applica alla porta TCP 80. Il logging è abilitato per questa regola.
  • Regola D: una regola firewall di negazione in uscita ha come target tutte le istanze della rete, una destinazione di qualsiasi indirizzo IP (0.0.0.0/0) e si applica a tutti i protocolli. Il logging è abilitato per questa regola.

Per creare le regole firewall VPC, utilizza i seguenti comandi gcloud:

  • Regola C: regola di autorizzazione in entrata per la porta TCP 80, applicabile a tutte le istanze, qualsiasi origine:

    gcloud compute firewall-rules create rule-c \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 0.0.0.0/0 \
        --priority 10 \
        --enable-logging
    
  • Regola D: regola di negazione del traffico in uscita per tutti i protocolli, applicabile a tutte le istanze, qualsiasi destinazione:

    gcloud compute firewall-rules create rule-d \
        --network example-net \
        --action deny \
        --direction EGRESS \
        --rules all \
        --destination-ranges 0.0.0.0/0 \
        --priority 10 \
        --enable-logging
    
La regola di autorizzazione in entrata consente la connessione da internet alla VM1.
Connessione da internet alla VM (fai clic per ingrandire).

In uno scenario in cui il sistema con indirizzo IP 203.0.113.114 tenta di connettersi a VM1 sulla porta TCP 80, si verifica quanto segue:

  • VM1 genera una voce di log per la regola C mentre accetta il traffico da 203.0.113.114.
  • Nonostante la regola D, VM1 può rispondere alla richiesta in entrata perché le regole firewall sono stateful.Google Cloud Se la richiesta in entrata è consentita, nessuna regola in uscita può bloccare le risposte stabilite.
  • Poiché la regola D non si applica, il sistema non la prende in considerazione, quindi non esiste una voce di log per la regola D.

VM1 segnala il seguente record di log delle regole firewall VPC:

Campo Valori
connection src_ip=203.0.113.114
src_port=[EPHEMERAL_PORT]
dest_ip=10.10.0.99
dest_port=80
protocol=6
disposition ALLOWED
rule_details reference = "network:my-vpc/firewall:rule-c"
priority = 10
action = ALLOW
source_range = 0.0.0.0/0
ip_port_info = tcp:80
direction = ingress
instance project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_location continente
paese
regione
città

Passaggi successivi