Descubre cómo crear y configurar una política de cortafuegos jerárquica para permitir el tráfico saliente que se origina en una red de nube privada virtual (VPC) específica de tu carpeta y que tiene como destino una dirección IP concreta. La política de cortafuegos bloquea todo el tráfico de salida que se origine en tu carpeta. En esta página se explica cómo crear dos redes de VPC, crear instancias de máquina virtual en las redes de VPC, configurar una política de cortafuegos jerárquica con reglas de cortafuegos y, a continuación, probar la política de cortafuegos.
Antes de empezar
- Asegúrate de que tienes acceso a un recurso de organización.
- Asegúrate de tener los siguientes roles de Gestión de Identidades y Accesos (IAM):
-
Rol Administrador de la organización
(roles/resourcemanager.organizationAdmin)
-
Rol Administrador de carpetas
(roles/resourcemanager.folderAdmin)
-
Rol Creador de proyectos
(roles/resourcemanager.projectCreator)
-
Rol Eliminador de proyectos
(roles/resourcemanager.projectDeleter)
-
Rol Administrador de red de Compute (
roles/compute.networkAdmin
) -
Rol Administrador de políticas de cortafuegos de organización de Compute (
roles/compute.orgFirewallPolicyAdmin
)
-
Rol Administrador de la organización
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
Crear una carpeta
Crea una carpeta en tu organización.
En la Google Cloud consola, ve a la página Gestionar recursos.
Haz clic en Crear carpeta.
En Nombre de la carpeta, escribe
test-folder
.En la lista Organización, selecciona el nombre del recurso de tu organización.
En el campo Ubicación, haz clic en Explorar y, a continuación, selecciona el recurso de tu organización.
Haz clic en Crear.
Crear un proyecto
Crea un proyecto en la carpeta que has creado en la sección anterior.
En la Google Cloud consola, ve a la página Gestionar recursos.
Haz clic en Crear proyecto.
En Nombre del proyecto, escribe
test-project
.Selecciona una cuenta de facturación para el proyecto.
En la lista Organización, selecciona el nombre del recurso de tu organización.
En el campo Ubicación, haz clic en Buscar, despliega el nombre del recurso de tu organización y, a continuación, selecciona test-folder.
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 has creado en la sección anterior.
En la Google Cloud consola, en la página del selector de proyectos, selecciona test-project.
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en Crear red VPC.
En Nombre, escribe
myvpc
.En Modo de creación de subred, selecciona Personalizado.
En la sección Nueva subred, especifica los siguientes parámetros de configuración de una subred:
- Nombre: escribe
myvpc-subnet-1
. - Región: seleccione us-central1.
- Intervalo de IPv4: introduce
10.0.0.0/24
.
- Nombre: escribe
Haz clic en Hecho y, a continuación, en Crear.
Para crear otra red VPC, haz clic en Crear red VPC.
En Nombre, escribe
test-vpc
.En Modo de creación de subred, selecciona Personalizado.
En la sección Nueva subred, especifica los siguientes parámetros de configuración de la subred y, a continuación, haz clic en Hecho:
- Nombre: escribe
testvpc-subnet-1
. - Región: seleccione us-central1.
- Intervalo de IPv4: introduce
10.0.0.0/16
.
- Nombre: escribe
Para añadir otra subred a la red
test-vpc
, haz clic en Añadir subred.En la sección Nueva subred, especifica los siguientes parámetros de configuración de la subred y, a continuación, haz clic en Hecho:
- Nombre: escribe
testvpc-subnet-ext
. - Región: seleccione us-central1.
- Intervalo de IPv4: introduce
192.168.1.0/24
.
- Nombre: escribe
Haz clic en Crear.
Crear VMs
Crea tres VMs en las subredes que has configurado en la sección anterior.
Crea una VM en la red myvpc
Crea una VM sin dirección IP externa en la red myvpc
.
En la Google Cloud consola, ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, escribe
myvpc-vm
. - En Región, selecciona
us-central1 (Iowa)
.
- En Nombre, escribe
En el menú de navegación, haga clic en Redes.
- En la sección Interfaces de red, haga clic en
default
y especifique los siguientes parámetros de configuración:- Red:
myvpc
- Subred:
subnet-1 IPv4 (10.0.0.0/24)
- Dirección IPv4 externa: Ninguna
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haga clic en
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 poner en marcha un servidor web Apache en esa VM.
Crea una VM sin una dirección IP externa:
En la Google Cloud consola, ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, escribe
testvpc-vm
. - En Región, selecciona
us-central1 (Iowa)
.
- En Nombre, escribe
En el menú de navegación, haga clic en Redes.
- En la sección Interfaces de red, haga clic en
default
y especifique 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
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haga clic en
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 poner en marcha un servidor web Apache:
En la Google Cloud consola, ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, escribe
testvpc-apache-vm
. - En Región, selecciona
us-central1 (Iowa)
.
- En Nombre, escribe
En el menú de navegación, haga clic en Redes.
- En la sección Interfaces de red, haga clic en
default
y especifique 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
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haga clic en
En el menú de navegación, haga clic en Avanzado e introduzca 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 e inicia un servidor web Apache en esta VM.
Haz clic en Crear.
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.
Crear un router de Cloud Router y una pasarela de Cloud NAT
En la sección anterior, en la red myvpc
, has creado 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 Internet público, crea un Cloud Router y una pasarela Cloud NAT en la misma subred en la que has creado la VM myvpc-vm
.
En la Google Cloud consola, ve a la página Cloud NAT.
Haz clic en Empezar o en Crear pasarela de Cloud NAT.
Nota: Si es la primera pasarela Cloud NAT que creas, haz clic en Empezar. Si ya tienes pasarelas, Google Cloud se muestra el botón Crear pasarela Cloud NAT. Para crear otra pasarela, haz clic en Crear pasarela Cloud NAT.
En Nombre de la pasarela, introduce
myvpc-gateway
.En Tipo de NAT, selecciona Público.
En la sección Select Cloud Router (Seleccionar Cloud Router), especifique los siguientes parámetros de configuración:
- Red: selecciona myvpc.
- Región: selecciona us-central1 (Iowa).
- Cloud Router: haz clic en Crear router.
- En Nombre, escribe
myvpc-router
. - Haz clic en Crear.
- En Nombre, escribe
Haz clic en Crear.
Crear una política de cortafuegos jerárquica y añadir reglas de cortafuegos
Crea una política de cortafuegos jerárquica y añádele las siguientes reglas:
- Habilita IAP en todas las VMs de
test-folder
para habilitar el acceso administrativo a las VMs. - Permite el tráfico de entrada a todas las VMs de la red
test-vpc
. - Delega el tráfico de salida de la red
myvpc
en la siguiente regla de la jerarquía, que es la reglaVPC firewall implied IPv4 rule egress all
. - Deniega el tráfico de salida procedente de todas las demás redes de VPC de
test-folder
.
Para crear una política de cortafuegos jerárquica, sigue estos pasos:
En la Google Cloud consola, ve a la página del selector de proyectos y selecciona test-folder.
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en Crear política de cortafuegos.
En la sección Configurar política, en Nombre de la política, introduce
fw-egress-specific-vpc
.En Descripción, escriba
example-firewall-policy
.Haz clic en Continuar.
En la sección Añadir reglas, haz clic en Continuar. Añadirás las reglas de cortafuegos en las secciones posteriores de esta guía de inicio rápido.
En la sección Asociar política a recursos, haga clic en Añadir.
Despliega tu organización, selecciona test-folder y, a continuación, haz clic en Añadir.
Haz clic en Crear.
Añade una regla de cortafuegos para habilitar IAP en todas las VMs de test-folder
Para permitir que IAP se conecte a todas las VMs de test-folder
, necesitas una regla de cortafuegos en la política de cortafuegos jerárquica con las siguientes características:
- Se aplica a todas las VMs de
test-folder
a las que quieras acceder mediante el reenvío de TCP de IAP. - Permite el tráfico de entrada del intervalo de direcciones IP
35.235.240.0/20
. Este intervalo contiene todas las direcciones IP que usa IAP para el reenvío de TCP. - Permite establecer conexiones con todos los puertos a los que quieras acceder mediante el reenvío de TCP de IAP. Por ejemplo, el puerto
22
para SSH.
Para añadir la regla de cortafuegos, sigue estos pasos:
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en fw-egress-specific-vpc y, a continuación, en Añadir regla.
En Prioridad, introduce
100
.En Descripción, escriba
enable-iap
.En Dirección del tráfico, selecciona Entrada.
En Acción tras coincidencia, selecciona Permitir.
En la sección Origen, en Intervalos de IPs, introduzca
35.235.240.0/20
.En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.
Marca la casilla TCP y, en Puertos, introduce
22
.Haz clic en Crear.
Añade una regla de cortafuegos para permitir el tráfico de entrada en la red test-vpc
Añade una regla de cortafuegos para permitir el tráfico web HTTP entrante en el puerto TCP 80 a todas las VMs de la red test-vpc
:
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en fw-egress-specific-vpc y, a continuación, en Añadir regla.
En Prioridad, introduce
200
.En Descripción, escriba
allow-ingress-testvpc
.En Dirección del tráfico, selecciona Entrada.
En Acción tras coincidencia, selecciona Permitir.
En la sección Objetivo, haz clic en Añadir red.
Selecciona el proyecto de prueba que contiene la red
test-vpc
y, a continuación, selecciona test-vpc como red.En la sección Origen, en Intervalos de IPs, introduzca
0.0.0.0/0
.En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.
Marca la casilla TCP y, en Puertos, introduce
80
.Haz clic en Crear.
Añade una regla de cortafuegos para delegar el tráfico de salida de la red myvpc
en la siguiente regla de la jerarquía
Añade una regla de cortafuegos que use la acción goto_next
para delegar el tráfico de salida de la red myvpc
en la siguiente regla del cortafuegos, que es la regla de cortafuegos de VPC implied IPv4 allow egress.
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en fw-egress-specific-vpc y, a continuación, en Añadir regla.
En Prioridad, introduce
300
.En Descripción, escriba
delegate-egress-myvpc
.En Dirección del tráfico, selecciona Salida.
En Acción tras coincidencia, selecciona Ir a siguiente.
En la sección Objetivo, haz clic en Añadir red.
Selecciona el nombre del proyecto de prueba que contenga
myvpc
y, a continuación, seleccionamyvpc
como red.En la sección Destino, en Intervalos de IP, introduce la dirección IP externa efímera de la VM que ejecuta el servidor web Apache. Ya has anotado esta dirección IP en la sección Crea dos máquinas virtuales en la red
test-vpc
.Haz clic en Crear.
Añadir una regla de cortafuegos para denegar el tráfico de salida procedente de todas las demás redes de VPC
Por último, añade una regla de cortafuegos que rechace el tráfico de salida de todas las demás redes de VPC de test-folder
.
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en fw-egress-specific-vpc y, a continuación, en Añadir regla.
En Prioridad, introduce
400
.En Descripción, escriba
block-egress-all-traffic
.En Dirección del tráfico, selecciona Salida.
En Acción tras coincidencia, selecciona Denegar.
En la sección Destino, en Intervalos de IP, introduce
0.0.0.0/0
.Haz clic en Crear.
Probar la política de cortafuegos jerárquica
Una vez que haya configurado la política de cortafuegos jerárquica, siga estos pasos para probarla:
Ve a la Google Cloud consola.
En el selector de proyectos de la parte superior de la página, selecciona
test-project
donde hayas creado las redes de VPC.En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Conectar de
myvpc-vm
, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para verificar que se permite el tráfico de salida a
testvpc-apache-vm
desdemyvpc
, ejecuta el siguiente comando:curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
El comando anterior devuelve el contenido que has especificado para la página
index.html
del servidor web Apache, lo que significa que se permiten las conexiones de salida desdemyvpc
.Para verificar que el tráfico de salida está bloqueado desde cualquier otra red de VPC de la organización, haz lo siguiente:
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Conectar de
testvpc-vm
, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para verificar que el tráfico de salida de
testvpc-vm
atestvpc-apache-vm
está bloqueado, ejecuta el siguiente comando:curl <internal_IP_testvpc_apache_vm> -m 2
El comando anterior devuelve un mensaje
Connection timed out
, que es lo esperado, ya que has creado una regla de cortafuegos para denegar el tráfico de salida de todas las redes de VPC de la organización, excepto demyvpc
.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta guía de inicio rápido, elimina los recursos, el proyecto y la carpeta.
Para eliminar los recursos creados en esta guía de inicio rápido, completa las siguientes tareas.
Eliminar la política de cortafuegos jerárquica
Ve a la Google Cloud consola.
En el selector de proyectos de la parte superior de la página, selecciona
test-folder
donde has creado los recursos para esta guía de inicio.En la Google Cloud consola, ve a la página Políticas de cortafuegos.
En la sección Políticas de cortafuegos asociadas a este nodo o heredadas por él, haga clic en fw-egress-specific-vpc.
Haz clic en la pestaña Asociaciones.
Selecciona la casilla de test-folder y haz clic en Retirar asociación.
En el cuadro de diálogo Quitar asociación con
test-folder
, haz clic en Eliminar.Haz clic en Eliminar.
En el cuadro de diálogo Eliminar
fw-egress-specific-vpc
, haz clic en Eliminar.
Eliminar las VMs
Ve a la Google Cloud consola.
En el selector de proyectos de la parte superior de la página, selecciona test-project.
En la consola de Google Cloud , ve a la página Instancias de VM.
Marca las casillas de myvpc-vm, testvpc-vm y testvpc-apache-vm.
Haz clic en Eliminar.
En el cuadro de diálogo Eliminar instancia 3 instancias, haz clic en Eliminar.
Eliminar el Cloud Router y la pasarela de Cloud NAT
En la Google Cloud consola, ve a la página Routers de Cloud.
Seleccione la casilla de myvpc-router.
Haz clic en Eliminar.
En el cuadro de diálogo Eliminar
myvpc-router
, haz clic en Eliminar.
Cuando eliminas un Cloud Router, también se elimina la pasarela de Cloud NAT asociada.
Elimina la red de VPC y sus subredes
En la Google Cloud consola, ve a la página Redes de VPC.
En la columna Nombre, haz clic en myvpc.
Haz clic en Eliminar red de VPC.
En el cuadro de diálogo Eliminar una red, haz clic en Eliminar.
Del mismo modo, elimina la red
test-vpc
.
Cuando eliminas una red de VPC, también se eliminan sus subredes.
Eliminar el proyecto
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Eliminar la carpeta
En la Google Cloud consola, ve a la página Gestionar recursos.
Si la carpeta que quieres eliminar está asociada a una organización, despliega la lista Organización de la columna Nombre.
En la lista de carpetas, selecciona test-folder y, a continuación, haz clic en Eliminar.
En el cuadro de diálogo, escribe el ID de la carpeta y, a continuación, haz clic en Eliminar de todos modos para eliminar el proyecto.
Siguientes pasos
- Para obtener información sobre los conceptos de las políticas de cortafuegos, consulta la descripción general de las políticas de cortafuegos.
- Para obtener información sobre los conceptos de las reglas de políticas de cortafuegos, consulta la descripción general de las reglas de políticas de cortafuegos.
- Para crear, actualizar, monitorizar y eliminar reglas de cortafuegos de VPC, consulta el artículo Usar reglas de cortafuegos de VPC.
- Para determinar los costes, consulta los precios de Cloud NGFW.