Descripción general de las reglas de firewall

Las reglas de firewall de Google Cloud te habilitan a permitir o denegar tráfico hacia y desde tus instancias de máquina virtual (VM) según la configuración que especifiques. Las reglas de firewall de Google Cloud habilitadas siempre se aplican de forma forzosa, ya que protegen a tus instancias sin importar su configuración ni sistema operativo, incluso si no se iniciaron.

Cada red de nube privada virtual (VPC) funciona como un firewall distribuido. Mientras que las reglas de firewall se definen a nivel de red, las conexiones se permiten o deniegan por instancia. Es útil saber que las reglas de firewall de Google Cloud no solo existen entre tus instancias y otras redes, sino también entre instancias individuales dentro de la misma red.

Para obtener más información acerca de los firewalls, consulta Firewall (computación).

Reglas de firewall en Google Cloud

Cuando creas una regla de firewall de Google Cloud, se especifica una red de VPC y un conjunto de componentes que definen el funcionamiento de la regla. Los componentes permiten orientar ciertos tipos de tráfico según el protocolo, los puertos, los orígenes y los destinos del tráfico. Para obtener más información, consulta los componentes de reglas de firewall.

Se puede crear o modificar reglas de firewall de Google Cloud mediante Google Cloud Console, la herramienta de línea de comandos de gcloud y la API de REST. Cuando se crea o modifica una regla de firewall, puedes especificar las instancias a las que se aplicará mediante el componente objetivo de la regla.

Además de las reglas de firewall que creas, Google Cloud tiene otras reglas que pueden afectar el tráfico entrante (entrada) o saliente (salida):

  • Google Cloud no permite ciertos protocolos IP, como GRE, dentro de una red de VPC. Para obtener más información, consulta el tráfico siempre bloqueado.

  • Google Cloud siempre permite la comunicación entre una instancia de VM y su servidor de metadatos correspondiente en 169.254.169.254. Para obtener más información, consulta el tráfico siempre permitido.

  • Cada red tiene dos reglas de firewall implícitas que permiten conexiones salientes y bloquean conexiones entrantes. Las reglas de firewall que crees pueden anular estas reglas implícitas.

  • La red predeterminada está propagada de forma previa con reglas de firewall que puedes borrar o modificar.

Especificaciones

Las reglas de firewall de Google Cloud tienen las siguientes características:

  • Cada regla de firewall se aplica al tráfico entrante (entrada) o saliente (salida), pero no a ambos. Para obtener más información, consulta la dirección del tráfico.

  • Las reglas de firewall solo son compatibles con el tráfico IPv4. Cuando especificas un origen a una regla de entrada o un destino a una regla de salida, solo puedes usar una dirección IPv4 o bloque IPv4 en notación CIDR.

  • Cada acción de la regla de firewall es allow o deny. La regla afecta al tráfico, siempre que se aplique. Por ejemplo, puedes inhabilitar una regla para solucionar problemas.

  • Cuando creas una regla de firewall, debes seleccionar una red de VPC. Si bien la regla se aplica a nivel de instancia, su configuración está asociada a una red de VPC. Esto significa que no puedes compartir reglas de firewall entre redes de VPC, incluidas las redes conectadas por intercambio de tráfico de red de VPC o mediante túneles VPN de Cloud.

  • Las reglas de firewall de Google Cloud tienen estado. Después de establecer una sesión, las reglas de firewall permiten la comunicación bidireccional. No se puede configurar una regla de firewall para denegar tráfico de respuesta asociado. Google Cloud asocia los paquetes entrantes a los paquetes de salida correspondientes mediante una tabla de seguimiento de conexiones. Google Cloud implementa el seguimiento de conexiones sin importar si el protocolo admite conexiones. Si se permite una conexión entre un origen y un objetivo (para una regla de entrada) o entre un objetivo y un destino (para una regla de salida), se permite todo el tráfico de respuesta, siempre y cuando el estado de seguimiento de la conexión del firewall sea activo. El estado de seguimiento de una regla de firewall se considera activo si se envía, al menos, un paquete cada 10 minutos.

  • Las reglas de firewall de Google Cloud no vuelven a ensamblar los paquetes TCP fragmentados. Por lo tanto, una regla de firewall aplicable al protocolo TCP solo puede aplicarse al primer fragmento porque contiene el encabezado TCP. Las reglas de firewall aplicables al protocolo TCP no aplican a los fragmentos de TCP posteriores.

  • La cantidad máxima de conexiones rastreadas en la tabla de reglas de firewall depende de la cantidad de conexiones con estado compatibles con el tipo de máquina de la instancia:

    Tipo de máquina de la instancia Cantidad máxima de conexiones con estado
    Tipos de máquinas con núcleo compartido 130,000
    Instancias que cuentan con 1 a 8 CPU virtuales 130,000 conexiones por CPU virtual
    Instancias con más de 8 CPU virtuales 1,040,000 (130,000 × 8) conexiones en total

Reglas implícitas

Cada red de VPC tiene dos reglas de firewall implícitas. Estas reglas existen, pero no se muestran en Cloud Console:

  • Regla de permiso de salida implícita. Una regla de salida cuya acción es allow, el destino 0.0.0.0/0 y la prioridad la más baja posible (65535) permite que cualquier instancia envíe tráfico a cualquier destino, excepto el tráfico bloqueado por Google Cloud. Una regla de firewall de mayor prioridad puede restringir el acceso saliente. Se permite el acceso a Internet si ninguna otra regla de firewall deniega el tráfico saliente y si la instancia tiene una dirección IP externa o usa una instancia de Cloud NAT. Para obtener más información, consulta los requisitos de acceso a Internet.

  • Regla de permiso de entrada implícita. Una regla de entrada cuya acción es deny, el origen 0.0.0.0/0 y la prioridad la más baja posible (65535) protege todas las instancias cuando bloquea el tráfico entrante a ellas. Una regla de mayor prioridad podría permitir el acceso entrante. La red predeterminada incluye algunas reglas adicionales que anulan esta, lo que permite ciertos tipos de tráfico entrante.

Las reglas implícitas no se pueden quitar, pero tienen la menor prioridad posible. Puedes crear reglas que las anulen siempre que tengan prioridades más altas (los números de prioridad son menores que 65535). Debido a que las reglas deny tienen prioridad sobre las reglas allow de la misma prioridad, una regla allow de entrada con una prioridad de 65535 no se aplica nunca.

Reglas propagadas de forma previa en la red predeterminada

La red predeterminada se propaga de forma previa con reglas de firewall que permiten el tráfico entrante a instancias. Estas reglas se pueden quitar o modificar según sea necesario:

  • default-allow-internal
    Permite conexiones de entrada para todos los protocolos y puertos entre instancias en la red. Esta regla tiene la segunda prioridad más baja, que es de 65534, y permite las conexiones entrantes a instancias de VM desde otras en la misma red.
  • default-allow-ssh
    Permite conexiones de entrada en el puerto TCP 22 desde cualquier origen a cualquier instancia en la red. Esta regla tiene una prioridad de 65534.
  • default-allow-rdp
    Permite conexiones de entrada en el puerto TCP 3389 desde cualquier origen a cualquier instancia en la red. Esta regla tiene una prioridad de 65534 y permite conexiones a instancias que ejecutan el protocolo de escritorio remoto de Microsoft (RDP).
  • default-allow-icmp
    Permite el tráfico ICMP de entrada de cualquier origen a cualquier instancia en la red. Esta regla tiene una prioridad de 65534 y habilita herramientas como ping.

Tráfico que siempre está bloqueado

Google Cloud siempre bloquea el tráfico que se describe en la siguiente tabla. Las reglas de firewall no se pueden usar para permitir este tráfico.

Tráfico que siempre está bloqueado Se aplica a
Tráfico de GRE Todos los orígenes, todos los destinos, incluidas las instancias que usan direcciones IP internas
Protocolos diferentes a UDP, ICMP, IPIP y TCP Tráfico entre:
• instancias y la Internet
• instancias si están direccionadas por direcciones IP externas
• instancias si se trata de un balanceador de cargas con una dirección IP externa
Tráfico de salida en el puerto TCP 25 (SMTP) Tráfico de:
• instancias a la Internet
• instancias a otras instancias direccionadas por direcciones IP externas

Tráfico que siempre está permitido

Google Cloud ejecuta un servidor de metadatos local junto con cada instancia en 169.254.169.254. Este servidor es esencial para la operación de la instancia, por lo que la instancia puede acceder a ella sin importar las reglas de firewall que configures. El servidor de metadatos proporciona los siguientes servicios básicos a la instancia:

Componentes de reglas de firewall

Cada regla de firewall consiste en los siguientes componentes de configuración:

  • La dirección del tráfico: Las reglas de entrada se aplican a las conexiones entrantes de los orígenes especificados a los objetivos de Google Cloud, y las reglas de salida se aplican al tráfico que se dirige a destinos especificados desde objetivos.

  • Una prioridad numérica, que determina si se aplica la regla. Solo se aplica la regla con la prioridad más alta (el número de la prioridad más baja), cuyos otros componentes coinciden con el tráfico. Se ignoran las reglas en conflicto con prioridades más bajas.

  • Una acción en caso de coincidencia, ya sea allow o deny, que determina si la regla permite o bloquea el tráfico.

  • El estado de aplicación de la regla de firewall: Puedes habilitar y, también, inhabilitar reglas de firewall sin tener que borrarlas.

  • Un objetivo, que define las instancias (incluidos los clústeres de GKE y las instancias del entorno flexible de App Engine) a las que se aplica la regla.

  • Un origen para las reglas de entrada o un destino para las reglas de salida.

  • El protocolo (como TCP, UDP o ICMP) y el puerto.

Resumen de componentes

Regla de entrada (entrante)
Prioridad Acción Aplicación Objetivo (define el destino) Origen Protocolos y puertos
Número entero de 065535 inclusive; el valor predeterminado es: 1000
allow o deny enabled (predeterminado) o disabled. El parámetro objetivo especifica el destino. Puede ser una de las siguientes opciones: Una de las siguientes opciones:
  • Rango de direcciones IPv4; el valor predeterminado puede ser cualquiera (0.0.0.0/0)
  • Instancias por etiqueta de red
  • Instancias por cuenta de servicio
Especifica un protocolo o un puerto y un protocolo.

Si no se establece, la regla se aplica a todos los protocolos.
Regla de salida (saliente)
Prioridad Acción Aplicación Objetivo (define el origen) Destino Protocolos y puertos
Número entero de 065535 inclusive; el valor predeterminado es: 1000
allow o deny enabled (predeterminado) o disabled. El parámetro objetivo especifica el origen. Puede ser una de las siguientes opciones:
  • Todas las instancias de la red de VPC
  • Instancias por etiqueta de red
  • Instancias por cuenta de servicio
Cualquier red o rango específico de direcciones IPv4; el valor predeterminado puede ser cualquiera (0.0.0.0/0). Especifica un protocolo o un puerto y un protocolo.

Si no se establece, la regla se aplica a todos los protocolos.

Dirección del tráfico

La dirección de una regla de firewall puede ser de entrada o salida. La dirección siempre se define desde la perspectiva del objetivo.

  • La dirección de entrada describe el tráfico que se envía desde un origen a un objetivo. Las reglas de entrada se aplican a los paquetes para nuevas sesiones en las que el destino del paquete es el objetivo.

  • La dirección de salida describe el tráfico que se envía desde un objetivo a un destino. Las reglas de salida aplican a paquetes para nuevas sesiones en las que el origen del paquete es el objetivo.

  • Si no especificas una dirección, Google Cloud usa la de entrada.

Considera un ejemplo de conexión entre dos VM en la misma red. El tráfico de VM1 a VM2 se puede controlar con cualquiera de estas reglas de firewall:

  • Una regla de entrada con un objetivo de VM2 y un origen de VM1.

  • Una regla de salida con un objetivo de VM1 y un destino de VM2

Prioridad

La prioridad de la regla de firewall es un número entero de 065535, inclusive. Los números enteros más bajos indican prioridades más altas. Si no especificas una prioridad cuando creas una regla, se asigna una prioridad de 1000.

La prioridad relativa de una regla de firewall determina si es aplicable cuando se evalúa en comparación con otras. La lógica de la evaluación funciona de la siguiente manera:

  • La regla de prioridad más alta aplicable a un objetivo para un tipo de tráfico determinado tiene prioridad. La especificidad del objetivo no es relevante. Por ejemplo: una regla de entrada con prioridad más alta en ciertos puertos y protocolos destinada a todos los objetivos anula una regla definida de manera similar para los mismos puertos y protocolos destinada a objetivos específicos.

  • La regla de prioridad más alta aplicable a una definición de puerto y protocolo determinada tiene prioridad, incluso cuando la definición del puerto y el protocolo son más generales. Por ejemplo: una regla de entrada de prioridad más alta que habilita el tráfico a todos los protocolos y puertos destinados a objetivos específicos anula una regla de entrada de prioridad más baja y rechaza al puerto TCP 22 para los mismos objetivos.

  • Una regla con una acción deny anula a otra con una acción allow solo si ambas tienen la misma prioridad. Con las prioridades relativas, es posible crear reglas allow que anulen reglas deny y deny que anulen reglas allow.

  • Las reglas con la misma prioridad y la misma acción tienen el mismo resultado. Sin embargo, la regla que se usa durante la evaluación es indefinida. En general, no importa qué regla se use, excepto cuando habilitas el registro de reglas de firewall. Si deseas que tus registros muestren las reglas de firewall que se evalúan en un orden coherente y bien definido, asígnales prioridades únicas.

Considera el siguiente ejemplo, en el que hay dos reglas de firewall:

  • Una regla de entrada de orígenes 0.0.0.0/0 (en cualquier parte) aplicable a todos los objetivos, protocolos y puertos, con una acción deny y una prioridad de 1000.

  • Una regla de entrada de orígenes 0.0.0.0/0 (en cualquier parte) aplicable a objetivos específicos con la etiqueta webserver, para tráfico en TCP 80, con una acción allow.

La prioridad de la segunda regla determina si se permite el tráfico de TCP en el puerto 80 para los objetivos webserver:

  • Si la prioridad de la segunda regla es un número mayor que 1000, tiene una prioridad inferior, por lo que se aplica la primera regla que niega todo el tráfico.

  • Si la prioridad de la segunda regla se establece en 1000, las dos reglas tienen prioridades idénticas, por lo que se aplica la primera regla que niega todo el tráfico.

  • Si la prioridad de la segunda regla es un número menor que 1000, tiene una prioridad más alta, lo que permite el tráfico en TCP 80 para objetivos webserver. En ausencia de otras reglas, la primera regla negaría otros tipos de tráfico a los objetivos webserver y, también, negaría todo el tráfico, incluido el TCP 80, a instancias sin la etiqueta webserver.

En el ejemplo anterior, se demuestra cómo puedes usar las prioridades para crear reglas allow selectivas y reglas deny globales con el fin de implementar una práctica recomendada de seguridad con menos privilegios.

Acción en casos de coincidencia

El componente de acción de una regla de firewall determina si permite o bloquea el tráfico, sujeto a los otros componentes de la regla:

  • Una acción allow permite conexiones que coinciden con los otros componentes especificados.

  • Una acción deny bloquea conexiones que coinciden con los otros componentes especificados.

Aplicación

Puedes cambiar si una regla de firewall se aplica mediante la configuración de su estado en enabled o disabled. Inhabilitar una regla es útil para solucionar problemas o brindar acceso temporal a las instancias. Es mucho más fácil inhabilitar una regla, probarla y, luego, volver a habilitarla, que borrarla y volver a crearla.

A menos que especifiques lo contrario, todas las reglas de firewall son enabled cuando se crean. También puedes optar por crear una regla en un estado disabled.

El estado de aplicación para las reglas de firewall se puede cambiar de enabled a disabled y viceversa si se actualiza la regla.

Considera inhabilitar una regla de firewall en las siguientes situaciones:

  • Para solucionar problemas: Si no estás seguro de si una regla de firewall bloquea o permite el tráfico, inhabilítala de forma temporal para determinar si el tráfico está permitido o bloqueado. Esto es útil para solucionar problemas relacionados con el efecto de una regla junto con otras.
  • Para fines de mantenimiento: Inhabilitar reglas de firewall puede facilitar el mantenimiento periódico. Supongamos que tienes una regla de firewall que bloquea los SSH entrantes en los objetivos (por ejemplo, instancias por etiqueta de objetivo) y que esa regla es enabled. Cuando necesites realizar un mantenimiento, puedes inhabilitar la regla. Después de terminar, vuelve a habilitar la regla.

Objetivo

Para una regla de entrada (entrante), el parámetro objetivo designa las instancias de VM de destino, incluidos los clústeres de GKE y las instancias del entorno flexible de App Engine. Para una regla de salida (saliente), el objetivo designa las instancias de origen. Por lo tanto, usa siempre el parámetro objetivo para designar instancias de Google Cloud. Sin embargo, si un objetivo es un destino de tráfico o un origen de tráfico depende de la dirección de la regla.

Puedes especificar un objetivo mediante una de las siguientes opciones:

  • Todas las instancias en la red: La regla de firewall aplica a todas las instancias en la red.

  • Instancias por etiqueta de objetivo: La regla de firewall aplica solo a las instancias con una etiqueta de red que coincida.

  • Instancias por cuentas de servicio de objetivo. La regla de firewall solo se aplica a las instancias que usan una cuenta de servicio específica. Para conocer la cantidad máxima de cuentas de servicio de objetivo que puedes aplicar por cada regla de firewall, consulta las cuotas de recursos de VPC.

Para obtener información sobre los beneficios y las limitaciones de las etiquetas objetivo y las cuentas de servicio objetivo, consulta el filtrado por cuenta de servicio en comparación con etiqueta de red.

Objetivos y direcciones IP

El objetivo de una regla de firewall de entrada se aplica a todo el tráfico que llega en la interfaz de red de una instancia en la red de VPC, sin importar cómo se especifique. Una regla de firewall de entrada se aplica a los paquetes cuyo destino coincida con una de las siguientes direcciones IP:

  • La dirección IP interna principal asignada a la interfaz de red de la instancia en la red de VPC.

  • Cualquier rango de IP de alias configurado en la interfaz de red de la instancia en la red de VPC.

  • La dirección IP externa que está asociada a la interfaz de red de la instancia en la red de VPC.

  • Un balanceador de cargas de Google Cloud si la instancia es un backend del balanceador de cargas.

El objetivo de una regla de firewall de salida se aplica a todo el tráfico que deja la interfaz de red de una instancia en la red de VPC, sin importar cómo se especifique. Una regla de firewall de salida se aplica a los paquetes cuyo origen coincide con la dirección IP interna principal o con los rangos de IP de alias configurados en la interfaz de red de la instancia en la red de VPC.

Origen o destino

Especifica cualquier origen o destino, pero no ambos, según la dirección del firewall que crees:

  • Para las reglas de entrada (entrantes), el parámetro objetivo especifica las instancias de destino para el tráfico; no se puede usar el parámetro de destino. Para especificar el origen, usa el parámetro origen.

  • Para las reglas de salida (salientes), el parámetro objetivo especifica las instancias de origen para el tráfico; no se puede usar el parámetro origen. Para especificar el destino, usa el parámetro destino.

Origen

El parámetro origen solo es aplicable a reglas de entrada. Debe ser una de las siguientes opciones:

  • Rangos de IP de origen: Puedes especificar rangos de direcciones IP como orígenes para paquetes. Los rangos pueden incluir direcciones dentro de tu red de VPC y direcciones fuera de ella. Los rangos de IP de origen se pueden usar para definir los orígenes dentro y fuera de Google Cloud.

  • Etiquetas de origen: Si identificas las instancias de origen con una etiqueta de red que coincida, puedes definir el origen de los paquetes como la dirección IP interna principal de la interfaz de red de las instancias de VM en la misma red de VPC. . Las etiquetas de origen solo se aplican al tráfico enviado desde la interfaz de red de otra instancia aplicable en tu red de VPC. Una etiqueta de origen no puede controlar los paquetes cuyos orígenes sean direcciones IP externas, incluso si las direcciones IP externas pertenecen a instancias. Para obtener la cantidad máxima de etiquetas de origen que puedes aplicar por regla de firewall, consulta las cuotas de recursos de VPC.

  • Cuentas de servicio de origen: Si identificas las instancias de origen con las cuentas de servicio que usan, puedes definir el origen de los paquetes como la dirección IP interna principal de la interfaz de red de las instancias en la misma red de VPC. Las cuentas de servicio de origen solo se aplican al tráfico enviado desde la interfaz de red de otra instancia aplicable en tu red de VPC. Una cuenta de servicio de origen no puede controlar los paquetes cuyos orígenes sean direcciones IP externas, incluso si las direcciones IP externas pertenecen a instancias. Para obtener la cantidad máxima de cuentas de servicio de origen que puedes aplicar por regla de firewall, consulta las cuotas de recursos de VPC.

  • Se puede usar una combinación de rangos de IP de origen y etiquetas de origen.

  • Se puede usar una combinación de rangos de IP de origen y cuentas de servicio de origen.

  • Si todos los rangos de IP de origen, las etiquetas de origen, y cuentas de servicio de origen se omiten, Google Cloud define el origen como cualquier dirección IP (0.0.0.0/0).

Destinos

El parámetro destino solo es aplicable a reglas de salida. El parámetro destino solo acepta rangos de direcciones IP. Los rangos pueden incluir direcciones dentro de tu red de VPC y direcciones fuera de ella.

Si no se especifica un rango de destino, Google Cloud define el destino como todas las direcciones IP (0.0.0.0/0).

Protocolos y puertos

Para limitar el alcance de una regla de firewall, especifica protocolos o protocolos y puertos. Puedes especificar un protocolo o una combinación de protocolos y sus puertos. Si omites ambos protocolos y puertos, la regla de firewall es aplicable a todo el tráfico en cualquier protocolo y cualquier puerto.

Para establecer una regla de firewall específica, primero debes especificar un protocolo. Si el protocolo admite puertos, puedes optar por especificar un número o un rango de puertos. Sin embargo, no todos los protocolos admiten puertos. Por ejemplo, existen puertos para TCP y UDP, pero no es el caso de ICMP (ICMP tiene tipos de ICMP diferentes, pero no son puertos).

Puedes especificar un protocolo con su nombre (tcpudpicmpespahsctpipip) o su número de protocolo de IP decimal.

Las reglas de firewall de Google Cloud usan información de puertos para hacer referencia al puerto de destino de un paquete, no a su puerto de origen:

  • Para las reglas de firewall de entrada (entrantes), los puertos de destino son puertos en sistemas identificados por el parámetro objetivo de la regla (en las reglas de entrada, el parámetro objetivo especifica las VM de destino para el tráfico).

  • Para las reglas de firewall de salida (salientes), los puertos de destino representan puertos en los sistemas identificados por el parámetro destino de la regla.

En la siguiente tabla, se resumen las combinaciones válidas de protocolo y especificación de puertos para las reglas de firewall de Google Cloud.

Especificación Ejemplo Explicación
Sin protocolo ni puerto - Si no se especifica un protocolo, la regla de firewall aplica a todos los protocolos y a sus puertos aplicables.
Protocolo tcp Si especificas un protocolo sin información de puertos, la regla de firewall se aplica a ese protocolo y a todos sus puertos aplicables.
Protocolo y puerto único tcp:80 Si especificas un protocolo y un puerto único, la regla de firewall se aplica a ese puerto del protocolo.
Protocolo y rango de puerto tcp:20-22 Si especificas un protocolo y un rango de puertos, la regla de firewall se aplica a ese rango de puertos para el protocolo.
Combinaciones icmp,tcp:80
tcp:443
udp:67-69
Puedes especificar varias combinaciones de protocolos y puertos a los que se aplica la regla de firewall. Para obtener más información, consulta la creación de reglas de firewall.

Filtra origen y objetivo por cuenta de servicio

Puedes usar cuentas de servicio para crear reglas de firewall que son de tipo más específico:

  • Para reglas de entrada y salida, puedes usar cuentas de servicio a fin de especificar objetivos.

  • Para reglas de entrada, puedes especificar el origen de paquetes entrantes como la dirección IP interna principal de cualquier VM en la red en la que la VM usa una cuenta de servicio particular.

La cuenta de servicio debe crearse antes de que crees una regla de firewall que se base en ella.

Las reglas de firewall que usan cuentas de servicio para identificar instancias aplican a instancias nuevas que se crearon y asociaron a la cuenta de servicio y, también, a instancias existentes si cambias sus cuentas de servicio. Si deseas cambiar la cuenta de servicio asociada a una instancia, debes pararla y reiniciarla. Puedes asociar cuentas de servicio a instancias individuales y plantillas de instancias que usan los grupos de instancias administrados.

Filtrado por cuenta de servicio en comparación con etiqueta de red

En esta sección, se destacan los puntos clave a tener en cuenta cuando decides si debes usar cuentas de servicio o etiquetas de red para definir objetivos y orígenes (en las reglas de entrada).

Si necesitas un control estricto sobre cómo las reglas de firewall se aplican a las VM, usa las cuentas de servicio de objetivo y las cuentas de servicio de origen, en lugar de etiquetas de objetivo y etiquetas de origen:

  • Una etiqueta de red es un atributo arbitrario. Una o más etiquetas de red pueden asociarse a una instancia de cualquier miembro de Cloud Identity and Access Management (Cloud IAM) que tenga permiso para editarla. Los miembros de Cloud IAM que cuentan con la función de Administrador de instancias de Compute Engine para un proyecto tienen este permiso. Los miembros de Cloud IAM que pueden editar una instancia pueden cambiar sus etiquetas de red, lo que podría cambiar el conjunto de reglas de firewall aplicables para esa instancia.

  • Una cuenta de servicio representa una identidad asociada con una instancia. Solo se puede asociar una cuenta de servicio a una instancia. Puedes controlar el acceso a la cuenta de servicio si controlas la asignación de la función de usuario de cuenta de servicio para otros miembros de Cloud IAM. Para que un miembro de Cloud IAM inicie una instancia con una cuenta de servicio, debe tener la función de usuario de cuenta de servicio por lo menos en esa cuenta de servicio y permisos apropiados para crear instancias (por ejemplo, tener la función de administrador de instancias de Compute Engine).

No se puede mezclar ni combinar cuentas de servicio y etiquetas de red en ninguna regla de firewall:

  • No se puede usar cuentas de servicio de objetivo junto con etiquetas de objetivo en ninguna regla de firewall (de entrada o de salida).

  • Si especificas objetivos por etiqueta de objetivo o cuenta de servicio de objetivo, los siguientes orígenes no son válidos para las reglas de firewall de entrada.

    Objetivos Orígenes no válidos
    Etiquetas de objetivo Cuentas de servicio de origen

    Combinación de rangos de IP de origen y cuentas de servicio de origen
    Cuenta de servicio objetivo Etiquetas de origen

    Combinación de rangos de IP de origen y etiquetas de origen

A continuación, se incluyen consideraciones operativas para las cuentas de servicio y las etiquetas de red:

  • Cambiar una cuenta de servicio para una instancia requiere pararla y reiniciarla. Se pueden agregar o quitar etiquetas mientras la instancia está en ejecución.

  • Existe una cantidad máxima de cuentas de servicio de objetivo, cuentas de servicio de origen, etiquetas de red de objetivo y etiquetas de red de origen que se pueden especificar para reglas de firewall. Para obtener más información, consulta las cuotas de recursos de VPC.

  • Si identificas instancias por etiqueta de red, la regla de firewall se aplica a la dirección IP interna principal de la instancia.

Casos de uso

En los casos prácticos a continuación, se demuestra cómo funcionan las reglas de firewall. En estos ejemplos, todas las reglas de firewall están habilitadas.

Casos de entrada

Las reglas de firewall de entrada controlan las conexiones entrantes de un origen a instancias de objetivo en tu red de VPC. El origen para una regla de entrada se puede definir como una de las opciones a continuación:

  • Un rango de direcciones IPv4; el valor predeterminado puede ser cualquiera (0.0.0.0/0)
  • Otras instancias en tu red de VPC identificadas por cuenta de servicio
  • Otras instancias en tu red de VPC identificadas por etiquetas de red

El origen predeterminado es cualquier dirección IP (0.0.0.0/0). Si deseas controlar las conexiones entrantes para orígenes externos a tu red de VPC, incluidos otros orígenes en Internet, usa un rango de direcciones IPv4 en formato CIDR.

Las reglas de entrada con una acción allow permiten el tráfico entrante según los otros componentes de la regla. Además de especificar el origen y objetivo de la regla, puedes limitar la regla para hacer que aplique a protocolos y puertos específicos. Del mismo modo, las reglas de entrada con una acción deny se pueden usar para proteger instancias mediante el bloqueo del tráfico entrante según los componentes de la regla de firewall.

Ejemplos de entrada

En el siguiente diagrama, se ilustran algunos ejemplos en los que las reglas de firewall pueden controlar las conexiones de entrada. En los ejemplos, se usa el parámetro objetivo en la asignación de reglas para aplicar reglas a instancias específicas.

Ejemplo de reglas de firewall de entrada (haz clic para ampliar)
Ejemplo de reglas de firewall de entrada (haz clic para ampliar)
  • Una regla de entrada con prioridad 1000 es aplicable a la VM 1. Esta regla permite el tráfico de TCP entrante desde cualquier origen (0.0.0.0/0). Se permite el tráfico de TCP de otras instancias en la red de VPC, sujeto a las reglas de salida aplicables para esas otras instancias. La VM 4 se puede comunicar con la VM 1 a través de TCP, ya que la VM 4 no tiene una regla de salida que bloquee esa comunicación (solo es aplicable la regla de permiso de salida implícita). Debido a que la VM 1 tiene una dirección IP externa, esta regla también permite el tráfico de TCP entrante desde hosts externos en Internet.

  • La VM 2 no tiene una regla de firewall de entrada especificada, por lo que la regla de denegación de entrada implícita bloquea todo el tráfico entrante. Se bloquean conexiones desde otras instancias en la red, sin importar las reglas de salida para las otras instancias. Debido a que la VM 2 tiene una IP externa, hay una ruta de acceso a ella de hosts externos en Internet, pero la regla de denegación de entrada implícita también bloquea el tráfico entrante externo.

  • Una regla de entrada con prioridad 1000 es aplicable a la VM 3. Esta regla permite el tráfico de TCP desde instancias en la red con la etiqueta de red client, como la VM 4. Se permite el tráfico de TCP desde la VM 4 a la VM 3, ya que la VM 4 no tiene regla de salida que bloquee esa comunicación (solo es aplicable la regla de permiso de salida implícita). Debido a que la VM 3 no tiene una IP externa, no existe una ruta de acceso a esta desde hosts externos en Internet.

Casos de salida

Las reglas de firewall de salida controlan conexiones salientes desde instancias de objetivo en tu red de VPC. Las reglas de salida con una acción allow permiten el tráfico de instancias basadas en los otros componentes de la regla. Por ejemplo, puedes permitir el tráfico saliente a destinos específicos, como un rango de direcciones IPv4, en los protocolos y puertos que especifiques. Del mismo modo, las reglas de salida con una acción deny bloquean el tráfico en función de los demás componentes de la regla.

Toda regla de salida necesita un destino. El destino predeterminado es cualquier dirección IP (0.0.0.0/0), pero puedes crear un destino más específico si usas un rango de direcciones IPv4 en formato CIDR. Cuando especificas un rango de direcciones IPv4, puedes controlar el tráfico a instancias en tu red y a destinos fuera de tu red, incluidos los destinos en Internet.

Ejemplos de salida

En el siguiente diagrama, se ilustran algunos ejemplos en los que las reglas de firewall pueden controlar las conexiones de salida. En los ejemplos, se usa el parámetro objetivo en la asignación de reglas para aplicar reglas a instancias específicas.

Ejemplo de reglas de firewall de salida (haz clic para ampliar)
Ejemplo de reglas de firewall de salida (haz clic para ampliar)
  • La VM 1 no tiene una regla de firewall de salida especificada, por lo que la regla de permiso de salida implícita le permite enviar tráfico a cualquier destino. Se permiten conexiones a otras instancias en la red de VPC. Esto está sujeto a las reglas de entrada aplicables para esas otras instancias. La VM 1 puede enviar tráfico a la VM 4 porque la VM 4 tiene una regla de entrada que permite el tráfico entrante desde cualquier rango de direcciones IP. Debido a que la VM 1 tiene una dirección IP externa, puede enviar tráfico a hosts externos en Internet. Se permiten respuestas entrantes al tráfico enviadas por la VM 1 debido a que las reglas de firewall tienen estado.

  • Una regla de salida con prioridad 1000 es aplicable a la VM 2. Esta regla niega todo el tráfico saliente a todos los destinos (0.0.0.0/0). Se bloquea el tráfico saliente a otras instancias en la red de VPC, sin importar las reglas de entrada aplicadas a las otras instancias. Aunque la VM 2 tiene una dirección IP externa, esta regla de firewall bloquea el tráfico saliente hacia hosts externos en Internet.

  • Una regla de salida con prioridad 1000 es aplicable a la VM 3. Esta regla bloquea el tráfico de TCP saliente hacia cualquier destino en el rango de IP 192.168.1.0/24. Aunque las reglas de entrada para la VM 4 permiten todo el tráfico entrante, la VM 3 no puede enviar el tráfico de TCP a la VM 4. Sin embargo, la VM 3 puede enviar el tráfico de UDP a la VM 4 porque la regla de salida solo aplica al protocolo TCP.

    Además, la VM 3 puede enviar tráfico a otras instancias en la red de VPC fuera del rango de IP 192.168.1.0/24, siempre que esas otras instancias tengan reglas de entrada para permitir ese tráfico. Debido a que no tiene una dirección IP externa, no tiene una ruta de acceso para enviar tráfico fuera de la red de VPC.

Próximos pasos