Configura una política de firewall jerárquica para permitir el tráfico de salida desde una red de VPC específica

Obtén más información sobre cómo crear y configurar una política de firewall jerárquica para permitir el tráfico de salida que se origina desde una red de nube privada virtual (VPC) específica en tu carpeta a una dirección IP específica como destino. La política de firewall bloquea todo el resto del tráfico de salida que se origina en tu carpeta. En esta página, se explica un ejemplo de cómo crear dos redes de VPC, crear instancias de máquina virtual (VM) en las redes de VPC, configurar una política de firewall jerárquica con reglas de firewall y, luego, probar la política de firewall.

Antes de comenzar

Crea una carpeta

Crea una carpeta en tu organización.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. Haz clic en Crear carpeta.

  3. En Nombre de la carpeta, ingresa test-folder.

  4. En la lista Organización, selecciona el nombre de tu recurso de organización.

  5. En el campo Ubicación, haz clic en Explorar y, luego, selecciona el recurso de tu organización.

  6. Haz clic en Crear.

Crea un proyecto

Crea un proyecto en la carpeta que creaste en la sección anterior.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. Haz clic en Crear proyecto.

  3. En Nombre del proyecto, ingresa: test-project.

  4. Selecciona una cuenta de facturación para el proyecto.

  5. En la lista Organización, selecciona el nombre de tu recurso de organización.

  6. En el campo Ubicación, haz clic en Explorar, expande el nombre del recurso de tu organización y, luego, selecciona test-folder.

  7. Haz clic en Crear.

Crear dos redes de VPC personalizadas con subredes IPv4.

Crea dos redes de VPC de modo personalizado, myvpc con una subred de solo IPv4 y test-vpc con dos subredes solo IPv4, en el proyecto que creaste en la sección anterior.

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona test-project.

    Ir al selector de proyectos

  2. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  3. Haz clic en Crear red de VPC.

  4. En Nombre, ingresa myvpc.

  5. En Modo de creación de subred, selecciona Personalizado.

  6. En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:

    • Nombre: Ingresa myvpc-subnet-1.
    • Región: selecciona us-central1.
    • Rango IPv4: ingresa 10.0.0.0/24.
  7. Haga clic en Listo y, luego, en Crear.

  8. Para crear otra red de VPC, haz clic en Crear red de VPC.

  9. En Nombre, ingresa test-vpc.

  10. En Modo de creación de subred, selecciona Personalizado.

  11. En la sección Subred nueva, especifica los siguientes parámetros de configuración para la subred y, luego, haz clic en Listo:

    • Nombre: Ingresa testvpc-subnet-1.
    • Región: selecciona us-central1.
    • Rango IPv4: ingresa 10.0.0.0/16.
  12. Para agregar otra subred a la red test-vpc, haz clic en Agregar subred.

  13. En la sección Subred nueva, especifica los siguientes parámetros de configuración para la subred y, luego, haz clic en Listo:

    • Nombre: Ingresa testvpc-subnet-ext.
    • Región: selecciona us-central1.
    • Rango IPv4: ingresa 192.168.1.0/24.
  14. Haz clic en Crear.

Crea las VM

Crea tres VM en las subredes que configuraste en la sección anterior.

Crea una VM en la red myvpc

Crea una VM sin una dirección IP externa en la red myvpc.

  1. En la consola de Google Cloud, ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. Haz clic en Crear instancia.

  3. En Nombre, ingresa myvpc-vm.

  4. En Región, selecciona us-central1 (Iowa).

  5. Expande Opciones avanzadas y, luego, Herramientas de redes.

  6. En la sección Interfaces de red, expande la interfaz de red existente y especifica los siguientes parámetros de configuración:

    • Red: Selecciona myvpc.
    • Subred: selecciona subnet-1 IPv4 (10.0.0.0/24).
    • Dirección IPv4 externa: Selecciona Ninguna.
  7. Haz clic en Listo.

  8. Haz clic en Crear.

Crea dos VM en la red test-vpc

Crea dos VM, una sin una dirección IP externa y otra con una dirección IP externa. Cuando crees la VM con una dirección IP externa, pasa una secuencia de comandos de inicio para instalar y, luego, iniciar un servidor web Apache en esa VM.

Crea una VM sin una dirección IP externa:

  1. En la consola de Google Cloud, ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. Haz clic en Crear instancia.

  3. En Nombre, ingresa testvpc-vm.

  4. En Región, selecciona us-central1 (Iowa).

  5. Expande Opciones avanzadas y, luego, Herramientas de redes.

  6. En la sección Interfaces de red, expande la interfaz de red existente y especifica los siguientes parámetros de configuración:

    • Red: Selecciona test-vpc.
    • Subred: Selecciona testvpc-subnet-1 IPv4 (10.0.0.0/16).
    • Dirección IPv4 externa: selecciona Ninguna.
  7. Haz clic en Listo.

  8. Haz clic en Crear.

Crea una VM con una dirección IP externa efímera y pasa una secuencia de comandos de inicio para instalar y, luego, iniciar un servidor web Apache:

  1. Haz clic en Crear instancia.
  2. En Nombre, ingresa testvpc-apache-vm.
  3. En Región, selecciona us-central1 (Iowa).
  4. Expande Opciones avanzadas y, luego, Herramientas de redes.
  5. En la sección Interfaces de red, expande la interfaz de red existente y especifica los siguientes parámetros de configuración:
    • Red: Selecciona test-vpc.
    • Subred: Selecciona testvpc-subnet-ext IPv4 (192.168.1.0/24).
    • Dirección IPv4 externa: selecciona Efímera.
  6. Expande Administración.
  7. En la sección Metadatos, ingresa la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio:

      #! /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
    

    La secuencia de comandos anterior implementa y, luego, inicia un servidor web Apache en esta VM.

  8. Haz clic en Listo.

  9. Haz clic en Crear.

  10. Toma nota de la dirección IP externa efímera asignada a esta VM desde la página Instancias de VM. Necesitarás esta dirección IP externa más adelante.

Crea un Cloud Router y una puerta de enlace de Cloud NAT

En la sección anterior, en la red myvpc, creaste la VM myvpc-vm sin ninguna dirección IP externa. Para permitir que la VM myvpc-vm acceda al servidor web Apache que se ejecuta en testvpc-apache-vm a través de la Internet pública, crea un Cloud Router y una puerta de enlace de Cloud NAT en la misma subred en la que creaste. tu VM de myvpc-vm.

  1. En la consola de Google Cloud, ve a la página de Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en Comenzar o Crear Cloud NAT.

    Nota: Si esta es la primera puerta de enlace de Cloud NAT que crearás, haz clic en Comenzar. Si ya tienes puertas de enlace existentes, Google Cloud muestra el botón Crear puerta de enlace de Cloud NAT. Para crear otra puerta de enlace, haz clic en Crear puerta de enlace de Cloud NAT.

  3. En Nombre de la puerta de enlace, ingresa myvpc-gateway.

  4. Para Tipo de NAT, selecciona Pública.

  5. En la sección Seleccionar Cloud Router, especifica los siguientes parámetros de configuración:

    • Red: Selecciona myvpc.
    • Región: selecciona us-central1 (Iowa).
    • Cloud Router: haz clic en Crear router nuevo.
      1. En Nombre, ingresa myvpc-router.
      2. Haz clic en Crear.
  6. Haz clic en Crear.

Crea una política de firewall jerárquica y agrega reglas de firewall

Crea una política de firewall jerárquica y agrégale las siguientes reglas de política de firewall:

  • Habilita IAP para todas las VMs en test-folder a fin de habilitar el acceso de administrador a las VMs.
  • Permitir el tráfico de entrada a todas las VM en la red test-vpc
  • Delega el tráfico de salida de la red myvpc a la siguiente regla en la jerarquía, que es la regla VPC firewall implied IPv4 rule egress all.
  • Rechazar el tráfico de salida que se origina en todas las demás redes de VPC en test-folder.

Para crear una política de firewall jerárquica, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página del selector de proyectos y selecciona test-folder.

    Ir al selector de proyectos

  2. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  3. Haz clic en Crear política de firewall.

  4. En la sección Configurar la política, en Nombre de la política, ingresa fw-egress-specific-vpc.

  5. En Descripción, ingresa example-firewall-policy.

  6. Haz clic en Continuar.

  7. En la sección Agregar reglas, haz clic en Continuar. Agrega las reglas de firewall en las secciones posteriores de esta guía de inicio rápido.

  8. En la sección Asociar política con recursos, haz clic en Agregar.

  9. Expande tu organización, selecciona test-folder y, luego, haz clic en Agregar.

  10. Haz clic en Crear.

Agrega una regla de firewall para habilitar IAP en todas las VM de test-folder.

Para permitir que IAP se conecte a todas las VMs en test-folder, necesitas una regla de firewall en la política de firewall jerárquica con las siguientes características:

  • Se aplica a todas las VMs en test-folder a las que deseas acceder mediante el reenvío IAP de TCP.
  • Permite el tráfico de entrada desde el rango de direcciones IP 35.235.240.0/20. Este rango contiene todas las direcciones IP que IAP usa para el reenvío de TCP.
  • Una conexión a todos los puertos a los que deseas acceder mediante el reenvío IAP de TCP, por ejemplo, el puerto 22 para SSH.

Para agregar la regla de firewall, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en fw-egress-specific-vpc y, luego, en fw-egress-specific-vpc.

  3. En Prioridad, ingresa 100.

  4. En Descripción, ingresa enable-iap.

  5. En Dirección del tráfico, selecciona Ingress.

  6. En Acción en caso de coincidencia, selecciona Permitir.

  7. En la sección Origen, en Rangos de IP, ingresa 35.235.240.0/20.

  8. En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.

  9. Selecciona la casilla de verificación TCP y, en Puertos, ingresa 22.

  10. Haz clic en Crear.

Agrega una regla de firewall para permitir el tráfico de entrada en la red test-vpc

Agrega una regla de firewall para permitir el tráfico web HTTP entrante en el puerto TCP 80 a todas las VM de la red test-vpc:

  1. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en fw-egress-specific-vpc y, luego, en fw-egress-specific-vpc.

  3. En Prioridad, ingresa 200.

  4. En Descripción, ingresa allow-ingress-testvpc.

  5. En Dirección del tráfico, selecciona Ingress.

  6. En Acción en caso de coincidencia, selecciona Permitir.

  7. En la sección Destino, haz clic en Agregar red.

  8. Selecciona el proyecto de prueba que contiene la red test-vpc y, luego, selecciona test-vpc como la red.

  9. En la sección Origen, en Rangos de IP, ingresa 0.0.0.0/0.

  10. En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.

  11. Selecciona la casilla de verificación TCP y, en Puertos, ingresa 80.

  12. Haz clic en Crear.

Agrega una regla de firewall para delegar el tráfico de salida de la red myvpc a la siguiente regla en la jerarquía

Agrega una regla de firewall que use la acción goto_next para delegar el tráfico de salida de la red myvpc a la siguiente regla en el firewall, que es el permiso de salida IPv4 implícito Regla de firewall de VPC.

  1. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en fw-egress-specific-vpc y, luego, en fw-egress-specific-vpc.

  3. En Prioridad, ingresa 300.

  4. En Descripción, ingresa delegate-egress-myvpc.

  5. En Dirección del tráfico, selecciona Salida.

  6. En Acción en caso de coincidencia, selecciona Ir a siguiente.

  7. En la sección Destino, haz clic en Agregar red.

  8. Selecciona el nombre del proyecto de prueba que contiene myvpc y, luego, selecciona myvpc como la red.

  9. En la sección Destino, en Rangos de IP, ingresa la dirección IP externa efímera de la VM que ejecuta Apache Web Server. Anotaste esta dirección IP en la sección Crea dos VM en la red test-vpc.

  10. Haz clic en Crear.

Agrega una regla de firewall para rechazar el tráfico de salida que se origina en todas las demás redes de VPC

Por último, agrega una regla de firewall que rechace el tráfico de salida de todas las demás redes de VPC en test-folder.

  1. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en fw-egress-specific-vpc y, luego, en fw-egress-specific-vpc.

  3. En Prioridad, ingresa 400.

  4. En Descripción, ingresa block-egress-all-traffic.

  5. En Dirección del tráfico, selecciona Salida.

  6. En Acción en caso de coincidencia, selecciona Rechazar.

  7. En la sección Destino, para Rangos de IP, ingresa 0.0.0.0/0.

  8. Haz clic en Crear.

Prueba la política de firewall jerárquica

Después de configurar la política de firewall jerárquica, sigue estos pasos para probar la política:

  1. Ve a la consola de Google Cloud.

    Ir a la consola de Google Cloud

  2. En el selector de proyectos de la parte superior de la página, selecciona test-project en el que creaste las redes de VPC.

  3. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  4. En la columna Conectar para myvpc-vm, haz clic en SSH.

  5. En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.

  6. Para verificar que se permita el tráfico de salida a testvpc-apache-vm desde myvpc, ejecuta el siguiente comando:

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

    Mediante el comando anterior, se muestra el contenido que especificaste para la página index.html del servidor web Apache, lo que significa que se permiten las conexiones de salida de myvpc.

  7. Para verificar que el tráfico de salida esté bloqueado en cualquier otra red de VPC de la organización, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. En la columna Conectar para testvpc-vm, haz clic en SSH.

    3. En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.

    4. Para verificar que el tráfico de salida de testvpc-vm a testvpc-apache-vm esté bloqueado, ejecuta el siguiente comando:

      curl <internal_IP_testvpc_apache_vm> -m 2
      

      El comando anterior muestra un mensaje de Connection timed out, como se espera, porque creaste una regla de firewall para denegar el tráfico de salida de todas las redes de VPC en la organización, excepto de myvpc.

Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido, borra los recursos individuales y, luego, borra el proyecto y la carpeta.

Para borrar los recursos que se crearon en esta guía de inicio rápido, completa las siguientes tareas.

Borra la política de firewall jerárquica

  1. Ve a la consola de Google Cloud.

    Ir a la consola de Google Cloud

  2. En el selector de proyectos de la parte superior de la página, selecciona test-folder en el que creaste los recursos para esta guía de inicio rápido.

  3. En la consola de Google Cloud, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  4. En la sección Políticas de firewall asociadas con este nodo o heredadas por el nodo, haz clic en fw-egress-specific-vpc.

  5. Haz clic en la pestaña Asociaciones.

  6. Selecciona la casilla de verificación de test-folder y haz clic en Quitar asociación.

  7. En el cuadro de diálogo Quitar asociación con test-folder, haz clic en Borrar.

  8. Haz clic en Borrar.

  9. En el cuadro de diálogo Borrar fw-egress-specific-vpc, haz clic en Borrar.

Borra las VMs

  1. Ve a la consola de Google Cloud.

    Ir a la consola de Google Cloud

  2. En el selector de proyectos de la parte superior de la página, selecciona test-project.

  3. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  4. Selecciona las casillas de verificación de myvpc-vm, myvpc-vm y myvpc-vm.

  5. Haz clic en Borrar.

  6. En el cuadro de diálogo Borrar 3 instancias, haz clic en Borrar.

Borra el Cloud Router y la puerta de enlace de Cloud NAT

  1. En la consola de Google Cloud, ve a la página Cloud Routers.

    Ir a Cloud Routers

  2. Selecciona la casilla de verificación de myvpc-router.

  3. Haz clic en Borrar.

  4. En el cuadro de diálogo Borrar myvpc-router, haz clic en Borrar.

Cuando borras un Cloud Router, también se borra la puerta de enlace de Cloud NAT asociada.

Borra la red de VPC y sus subredes

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. En la columna Nombre, haz clic en myvpc.

  3. Haz clic en Borrar la red de VPC.

  4. En el diálogo Borrar una red, haz clic en Borrar.

    Del mismo modo, borra la red test-vpc.

Cuando borras una red de VPC, también se borran sus subredes.

Borra el proyecto

  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.

Borra la carpeta

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. Si la carpeta que deseas borrar está vinculada con una organización, expande la lista Organización en la columna Nombre.

  3. En la lista de carpetas, selecciona test-folder y haz clic en Borrar.

  4. En el cuadro de diálogo, escribe el ID de la carpeta y haz clic en Borrar de todos modos para borrar el proyecto.

¿Qué sigue?