En esta página, se muestran ejemplos de implementaciones de políticas de firewall jerárquicas. Se da por sentado que estás familiarizado con los conceptos descritos en las políticas de firewall jerárquicas.
Ejemplo 1: Permitir que el sistema de sondeo acceda a todas las VM
En este caso de uso, todas las instancias de máquina virtual (VM) en una organización deben
analizarse y se les debe realizar un inventario a través de sondeos de una dirección IP específica
(10.100.0.1
) en un puerto de destino específico (123
). El administrador de seguridad
de la organización garantiza que ningún administrador de red o de seguridad
pueda bloquear ese puerto en ninguna instancia de VM de la organización.
En este ejemplo, se supone que no hay políticas de firewall a nivel de la carpeta implementadas.
La configuración de este caso de uso se describe en el siguiente diagrama.
Política vigente aplicada en las VM
En este ejemplo, la política de firewall de VM vigente después de la evaluación de las reglas en la jerarquía se realiza de la siguiente manera.
Conexiones de entrada
Se permiten conexiones de entrada con la IP de origen
10.100.0.1
y el puerto de destino123
, como se define en la política. Si se encuentra una coincidencia en la política de la organización, se permiten las conexiones de sondeo y no se evalúan más reglas en la jerarquía.Para cualquier conexión de entrada distinta de la IP de origen
10.100.0.1
y el puerto de destino123
, no hay coincidencia. Por lo tanto, se aplica la regla de entrada predeterminada de las reglas de firewall de VPC, lo que rechaza la conexión.
Conexión de salida
- No hay coincidencias entre las reglas definidas por jerarquía. Por lo tanto, se aplica la regla de salida predeterminada en las reglas de firewall de VPC, lo que permite las conexiones de salida.
Cómo configurar
Crea una política de firewall que contenga la regla:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Agrega la regla a la política de firewall:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-scan-probe" \ --layer4-configs=tcp:123 \ --firewall-policy=example-firewall-policy \ --organization=123456789012 \ --src-ip-ranges=10.100.0.1/32
Asocia la política de firewall a la organización:
gcloud compute firewall-policies associations create \ --firewall-policy=example-firewall-policy \ --organization=123456789012
Ejemplo 2: Rechazar todas las conexiones externas, excepto ciertos puertos
En este caso de uso, una política de firewall bloquea todas las conexiones desde fuentes externas de Internet, excepto las conexiones en los puertos de destino 80
, 443
y 22
. Se bloquea una conexión de Internet de entrada en cualquier puerto que no sea 80
, 443
y 22
, sin importar cuáles sean las reglas de firewall a nivel de la red de VPC. Para cualquier conexión en el puerto 80
, 443
o 22
, la política
delega al administrador de seguridad de VPC el comportamiento que
desea aplicar en su red de VPC respectiva para esos puertos.
La configuración de este caso de uso se describe en el siguiente diagrama.
Política vigente aplicada en las VM
En este ejemplo, la política de firewall de VM vigente después de la evaluación de las reglas en la jerarquía se realiza de la siguiente manera.
Conexiones de entrada
Todas las conexiones de entrada de
10.0.0.0/8
coinciden con la regla de nivel de organización de prioridad más altadelegate-internal-traffic
y omiten el resto de las reglas en la política de la organización para evaluarse en función de las reglas de firewall configuradas en el nivel de red de VPC. En la regla de firewall de VPC, se permiten las conexiones de10.2.0.0/16
, y el resto de las conexiones se evalúan con la regla de entrada implícita, que esdeny
.Conexiones de entrada con un rango de IP de origen que no sea
10.0.0.0/8
para los puertos de destino22
,80
y443
sean delegadas al siguiente nivel, en el que los puertos80
y443
están permitidos, pero22
no.Se bloquean todo el resto de las conexiones.
Conexiones de salida
- No hay coincidencias entre las reglas definidas por jerarquía. Por lo tanto, se aplica la regla de salida predeterminada en las reglas de firewall de VPC, lo que permite las conexiones de salida.
Cómo configurar
Crea una política de firewall que contenga la regla:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Agrega una regla para delegar conexiones internas al propietario del proyecto:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-internal-traffic" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=10.0.0.0/8
Agrega una regla para delegar reglas de conexiones externas a los puertos
80
/443
/22
al propietario del proyecto:gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description="delegate-external-traffic-spec-ports" \ --src-ip-ranges=0.0.0.0/0 \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
Agrega una regla para rechazar todas las demás conexiones externas:
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description="block-other-external-traffic-spec-ports" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=0.0.0.0/0
Asocia la política de firewall a la organización:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
En el proyecto, agrega una regla de firewall para permitir conexiones internas desde la subred designada:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16
En el proyecto, agrega una regla de firewall para permitir conexiones externas
80
/443
de TCP:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443
Ejemplo 3: Rechazar conexiones de salida, excepto de una red de VPC específica
En este caso de uso, el administrador de seguridad de la organización no permite conexiones
de salida en ninguna red de VPC, excepto las conexiones que
se originan en la red de VPC myvpc
. El administrador
delega la decisión de abrir la salida al servidor público 203.0.113.1
al
administrador de seguridad myvpc
.
En este ejemplo, se supone que no hay políticas de firewall a nivel de la carpeta implementadas. La configuración de este caso de uso se describe en el siguiente diagrama.
Política vigente aplicada en las VM
En este ejemplo, la política de firewall de VM vigente después de la evaluación de las reglas en la jerarquía se realiza de la siguiente manera.
Conexiones de entrada
- No hay coincidencias entre las reglas definidas por jerarquía. Por lo tanto, se aplica la regla de entrada predeterminada en las reglas de firewall de VPC, lo que rechaza las conexiones de entrada.
Conexiones de salida
Se permiten todas las conexiones de salida dirigidas a
203.0.113.1
y se rechaza el resto de las conexiones. Todas las conexiones de salida dirigidas a203.0.113.1
coinciden con la regladelegate-egress-my-vpc
y omiten el resto de las reglas en la política de la organización.Luego, las conexiones de salida se evalúan en función de las reglas de firewall configuradas en
myvpc
. La regla predeterminada permite las conexiones de salida. La reglablock-egress-traffic-sepc-ports
en la política a nivel de la organización rechaza el resto de las conexiones.
Cómo configurar
Crea una política de firewall que contenga la regla:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Agrega una regla para delegar ciertas conexiones de salida:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-egress-myvpc" \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization=123456789012 \ --short-name="example-firewall-policy" \ --target-resources=projects/PROJECT_ID/networks/myvpc
Agrega una regla para rechazar todas las demás conexiones de salida:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-egress-external-traffic-spec-ports" \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization=123456789012 \ --short-name="example-firewall-policy"
Asocia la política de firewall a la organización:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --short-name="example-firewall-policy"
Ejemplo 4: Configurar reglas específicas de la organización y de carpetas
En este caso de uso, un administrador de seguridad no permite conexiones de entrada a
ninguna VM de la organización, excepto las del rango que se agrega a una
lista de entidades permitidas: 203.0.113.0/24
. El administrador delega las siguientes decisiones
sobre qué hacer con conexiones de 203.0.113.0/24
a
los administradores de seguridad a nivel de carpeta.
Hay dos carpetas diferentes:
- Folder1, en la que la política solo permite conexiones a los puertos
80
y443
en las VM de backend, y el resto de los puertos están bloqueados. - Folder2, en la que la política establece que ninguna VM de Folder2 puede bloquear cualquier puerto de destino para el tráfico de la dirección IP
203.0.113.1
. El administrador de seguridad de Folder2 delega otras decisiones al administrador de seguridad de VPC, que decide abrir los puertos80
,443
y22
, y rechazar el resto de los puertos.
La configuración de este caso de uso se describe en el siguiente diagrama.
Política vigente aplicada en las VM
En este ejemplo, la política de firewall de VM vigente después de la evaluación de las reglas en la jerarquía se realiza de la siguiente manera.
Para las VM que pertenecen a my-vpc
Se permiten todas las conexiones de entrada de
203.0.113.0/24
con los puertos de destino TCP80
y443
. Se rechazará cualquier otra conexión de entrada.Se aceptan todas las conexiones de salida según la regla de firewall de VPC aplicada debido a que no hay ninguna coincidencia en las reglas de la política de firewall de nivel superior.
Para las VM que pertenecen a vpc2
Se permiten todas las conexiones de entrada de
203.0.113.1
. Las conexiones de entrada de otras fuentes203.0.113.0/24
que no sean203.0.113.1
solo se permiten para los puertos80
,443
y22
. Todas las demás conexiones de entrada se rechazan.Se aceptan todas las conexiones de salida según la regla de firewall de VPC aplicada debido a que no hay ninguna coincidencia en las reglas de la política de firewall de nivel superior.
Cómo configurar
Crea una política de firewall que contenga las reglas para Org_A:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --description="rules that apply to all VMs in the organization"
Agrega una regla para delegar la entrada desde
203.0.113.0/24
al propietario del proyecto:gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=203.0.113.0/24
Agrega una regla para rechazar todas las demás conexiones externas:
gcloud compute firewall-policies rules create 2000 \ --action=deny --description="block-ingress-external-traffic" --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=0.0.0.0/0
Asocia la política de firewall a la organización:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a"
Crea una política de firewall que contenga las reglas para Folder1:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --description="rules that apply to all VMs under Folder1"
Agrega una regla para permitir todas las entradas HTTP(S):
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-http-s-ingress" \ --layer4-configs=tcp:80,tcp:443 \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1"
Agrega una regla para rechazar la entrada a todos los demás puertos o protocolos:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-ingress-external-traffic" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --src-ip-ranges=0.0.0.0/0
Asocia la política de firewall con Folder1:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000
Crea una política de firewall que contenga las reglas para Folder2:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --description="rules that apply to all VMs under Folder2"
Agrega una regla para permitir la entrada desde
203.0.113.1
:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-vul-scan-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --src-ip-ranges=203.0.113.1/32
Asocia la política de firewall con Folder2:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000
Agrega una regla de firewall para permitir la entrada de conexión HTTP(S):
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
¿Qué sigue?
- Para crear y modificar reglas y políticas de firewall jerárquicas, consulta Usa políticas de firewall jerárquicas.