Ejemplos de registros de reglas de firewall de VPC

Las reglas de firewall de la nube privada virtual (VPC) generan entradas de registro cuando se aplican al tráfico. Si bien un flujo de paquetes puede generar varias entradas de registro, una regla de firewall de VPC genera, como máximo, una entrada de registro por conexión desde una instancia de máquina virtual (VM). En los siguientes ejemplos, se muestra cómo funciona el registro de reglas de firewall de VPC en diferentes situaciones.

Ejemplo de denegación de salida

En este ejemplo, se muestra el registro de una regla de firewall de VPC de denegación de salida que bloquea el tráfico entre dos instancias de VM en la misma red de VPC.

En este ejemplo, el tráfico fluye entre las instancias de VM en la red de VPC example-net en el proyecto example-proj.

  • Las dos instancias de VM son:

    • La VM1 en la zona us-west1-a con la dirección IP 10.10.0.99 en la west-subnet (región us-west1)
    • La VM2 en la zona us-east1-b con la dirección IP 10.20.0.99 en la east-subnet (región us-east1)
  • Regla A: una regla de firewall de denegación de salida se orienta a todas las instancias de la red y se aplica al puerto TCP 80, y su destino es 10.20.0.99 (VM2). El registro está habilitado para esta regla.

  • Regla B: una regla de firewall de permiso de entrada se orienta a todas las instancias de la red y se aplica al puerto TCP 80, y su origen es 10.10.0.99 (VM1). El registro también está habilitado para esta regla.

Para crear las reglas de firewall de VPC, usa los siguientes comandos gcloud:

  • Regla A: regla de denegación de salida para el puerto TCP 80, aplicable a todas las instancias y con el destino 10.20.0.99, como se muestra a continuación:

    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
    
  • Regla B: regla de permiso de entrada para el puerto TCP 80, aplicable a todas las instancias y con el origen 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 regla de rechazo de salida bloquea la conexión de la VM1 a la VM2.
La regla de denegación de salida bloquea la conexión de VM1 a VM2 (haz clic para ampliar).

En una situación en la que la VM1 intenta conectarse a la VM2 en el puerto TCP 80, sucede lo siguiente:

  • Se genera una entrada de registro para la regla A desde la perspectiva de la VM1 cuando, en esta VM, se intenta establecer la conexión con 10.20.0.99 (VM2).
  • Debido a que la regla A bloquea el tráfico, la regla B no se tiene en cuenta, por lo que no hay entrada de registro para la regla B desde la perspectiva de la VM2.

La VM1 informa el siguiente registro de reglas de firewall de VPC:

Campo Valores
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition DENIED
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 No hay información. Este campo solo se usa si el destino está fuera de tu red de VPC.

Ejemplo de reglas de permiso de salida y permiso de entrada

En este ejemplo, se muestra el registro de una regla de firewall de VPC de permiso de salida y una regla de firewall de VPC de permiso de entrada que, en conjunto, permiten el tráfico entre dos instancias de VM en la misma red de VPC.

En este ejemplo, el tráfico fluye entre las instancias de VM en la red de VPC example-net en el proyecto example-proj.

  • Las dos instancias de VM son:

    • La VM1 en la zona us-west1-a con la dirección IP 10.10.0.99 en la west-subnet (región us-west1)
    • La VM2 en la zona us-east1-b con la dirección IP 10.20.0.99 en la east-subnet (región us-east1)
  • Regla A: una regla de firewall de permiso de salida se orienta a todas las instancias de la red y se aplica al puerto TCP 80, y su destino es 10.20.0.99 (VM2). El registro está habilitado para esta regla.

  • Regla B: una regla de firewall de permiso de entrada se orienta a todas las instancias de la red y se aplica al puerto TCP 80, y su origen es 10.10.0.99 (VM1). El registro también está habilitado para esta regla.

Para crear las reglas de firewall de VPC, usa los siguientes comandos gcloud:

  • Regla A: regla de permiso de salida para el puerto TCP 80, aplicable a todas las instancias y con el destino 10.20.0.99 (VM2), como se muestra a continuación:

    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
    
  • Regla B: regla de permiso de entrada para el puerto TCP 80, aplicable a todas las instancias y con el origen 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
    
Las reglas de permiso de salida y permiso de entrada permiten la conexión de la VM1 a la VM2.
Las reglas de permiso de salida y permiso de entrada permiten la conexión de VM1 a VM2 (haz clic para ampliar).

En una situación en la que la VM1 intenta conectarse a la VM2 en el puerto TCP 80, sucede lo siguiente:

  • Se genera una entrada de registro para la regla A desde la perspectiva de la VM1 cuando esta se conecta a 10.20.0.99 (VM2).
  • Se genera una entrada de registro para la regla B desde la perspectiva de la VM2 cuando, en esta VM, se permiten las conexiones entrantes desde 10.10.0.99 (VM1).

La VM1 informa el siguiente registro de reglas de firewall de VPC:

Campo Valores
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition PERMITIDA
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 No hay información. Este campo solo se usa si el destino está fuera de tu red de VPC.

La VM2 informa el siguiente registro de reglas de firewall de VPC:

Campo Valores
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition PERMITIDA
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 No hay información. Este campo solo se usa si el destino está fuera de tu red de VPC.

Ejemplo de tráfico de entrada de Internet

En este ejemplo, se muestra el registro de una regla de firewall de permiso de entrada que permite el tráfico de Internet a una instancia de VM. También se muestra cómo el comportamiento del firewall con estado afecta una regla de denegación de salida.

En este ejemplo, el tráfico fluye desde un recurso externo a una instancia de VM dentro de la red de VPC example-net. La red está en el proyecto example-proj.

  • El sistema en Internet tiene la dirección IP 203.0.113.114.
  • La VM1 de la zona us-west1-a tiene la dirección IP 10.10.0.99 en la west-subnet (región us-west1).
  • Regla C: una regla de firewall de permiso de entrada se orienta a todas las instancias de la red, puede tener cualquier dirección IP (0.0.0.0/0) como origen y se aplica al puerto TCP 80. El registro está habilitado para esta regla.
  • Regla D: una regla de firewall de denegación de salida se orienta a todas las instancias de la red, puede tener cualquier dirección IP (0.0.0.0/0) como destino y se aplica a todos los protocolos. El registro está habilitado para esta regla.

Para crear las reglas de firewall de VPC, usa los siguientes comandos gcloud:

  • Regla C: la siguiente regla de permiso de entrada para el puerto TCP 80 es aplicable a todas las instancias y puede tener cualquier origen:

    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
    
  • Regla D: regla de denegación de salida para todos los protocolos, aplicable a todas las instancias, a cualquier destino:

    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 regla de permiso de entrada permite la conexión de Internet a VM1.
Conexión de Internet a VM (haz clic para agrandar).

En una situación en la que el sistema con la dirección IP 203.0.113.114 intenta conectarse a la VM1 en el puerto TCP 80, sucede lo siguiente:

  • La VM1 genera una entrada de registro para la regla C mientras acepta tráfico de 203.0.113.114.
  • A pesar de la regla D, la VM1 puede responder a la solicitud entrante porque Google Cloud las reglas de firewall tienen estado. Si se permite la solicitud entrante, ninguna regla de salida puede bloquear las respuestas establecidas.
  • Debido a que la regla D no se aplica, el sistema no la tiene en cuenta, por lo que no hay entrada de registro para ella.

La VM1 informa el siguiente registro de reglas de firewall de VPC:

Campo Valores
connection src_ip=203.0.113.114
src_port=[EPHEMERAL_PORT]
dest_ip=10.10.0.99
dest_port=80
protocol=6
disposition PERMITIDA
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 continent
country
region
city

¿Qué sigue?