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

Obtén información para crear y configurar una política de firewall jerárquica que permita el tráfico de salida que se origina en una red de nube privada virtual (VPC) específica de tu carpeta hacia 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 la 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 Google Cloud consola, 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 Google Cloud consola, 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 en modo personalizado, myvpc con una subred solo IPv4 y test-vpc con dos subredes solo IPv4, en el proyecto que creaste en la sección anterior.

  1. En la Google Cloud consola, en la página del selector de proyectos, 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 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 VMs 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. En el panel Configuración de la máquina, haz lo siguiente:

    1. En Nombre, ingresa myvpc-vm.
    2. En Región, selecciona us-central1 (Iowa).
  3. En el menú de navegación, haz clic en Herramientas de redes.

    1. En la sección Interfaces de red, haz clic en default y especifica los siguientes parámetros de configuración:
      • Red: myvpc
      • Subred: subnet-1 IPv4 (10.0.0.0/24)
      • Dirección IPv4 externa: ninguna
    2. Haz clic en Listo.
  4. Haz clic en Crear.

Crea dos VMs en la red test-vpc.

Crea dos VMs, una sin 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. En el panel Configuración de la máquina, haz lo siguiente:

    1. En Nombre, ingresa testvpc-vm.
    2. En Región, selecciona us-central1 (Iowa).
  3. En el menú de navegación, haz clic en Herramientas de redes.

    1. En la sección Interfaces de red, haz clic en default y especifica los siguientes parámetros de configuración:
      • Red: test-vpc
      • Subred: testvpc-subnet-1 IPv4 (10.0.0.0/16)
      • Dirección IPv4 externa: ninguna
    2. Haz clic en Listo.
  4. 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. En la consola de Google Cloud , ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. En el panel Configuración de la máquina, haz lo siguiente:

    1. En Nombre, ingresa testvpc-apache-vm.
    2. En Región, selecciona us-central1 (Iowa).
  3. En el menú de navegación, haz clic en Herramientas de redes.

    1. En la sección Interfaces de red, haz clic en default y especifica los siguientes parámetros de configuración:
      • Red: test-vpc
      • Subred: testvpc-subnet-ext IPv4 (192.168.1.0/24)
      • Dirección IPv4 externa:efímera
    2. Haz clic en Listo.
  4. En el menú de navegación, haz clic en Opciones avanzadas y, luego, 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.

  5. Haz clic en Crear.

  6. Anota la dirección IP externa efímera asignada a esta VM en 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 de Apache que se ejecuta en testvpc-apache-vm a través de 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 myvpc-vm.

  1. En la Google Cloud consola, 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 se 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:

  • Habilita IAP para todas las VMs en test-folder para habilitar el acceso de administrador a las VMs.
  • Permite el tráfico de entrada a todas las VMs en la red test-vpc.
  • Delega el tráfico de salida de la red myvpc a la siguiente regla de la jerarquía, que es la regla VPC firewall implied IPv4 rule egress all.
  • Rechaza 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 de selección de proyecto 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. Agregarás las reglas de firewall en las siguientes secciones de esta guía de inicio rápido.

  8. En la sección Asocia la política con los 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 VMs 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 con 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 Agregar regla.

  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 VMs 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 Agregar regla.

  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 Segmentación, 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 de 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 del firewall, que es la regla de firewall de VPC de permiso de salida IPv4 implícito.

  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 Agregar regla.

  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 si hay coincidencia, selecciona Ir al siguiente.

  7. En la sección Segmentación, 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 el servidor web Apache. Anotaste esta dirección IP en la sección Crea dos VMs 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 que sale 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 Agregar regla.

  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 probarla:

  1. Ve a la consola de Google Cloud .

    Ir a la Google Cloud consola

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

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

    Ir a Instancias de VM

  4. En la columna Conectar de 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
    

    El comando anterior 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 desde index.html.myvpc

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

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

      Ir a Instancias de VM

    2. En la columna Conectar de 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 de la organización, excepto de myvpc.

Limpia

Para evitar que se apliquen cargos a tu Google Cloud cuenta por los recursos que se usan 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 Google Cloud consola

  2. En el selector de proyectos que se encuentra en la parte superior de la página, selecciona test-folder, donde 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 Firewall policies associated with this node or inherited by the node, 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 la asociación con test-folder, haz clic en Borrar.

  8. Haz clic en Borrar.

  9. En el 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 Google Cloud consola

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

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

    Ir a Instancias de VM

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

  5. Haz clic en Borrar.

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

Borra Cloud Router y la puerta de enlace de Cloud NAT

  1. En la consola 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 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 Google Cloud consola, 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, luego, haz clic en Borrar.

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

¿Qué sigue?