Descripción general de las reglas de firewall de VPC

Las reglas de firewall de la nube privada virtual (VPC) se aplican a un proyecto y una red determinados. Si deseas aplicar reglas de firewall en una organización, consulta las Políticas de firewall. En el resto de esta página, solo se tratan las reglas de firewall de VPC.

Las reglas de firewall de VPC permiten o rechazan las conexiones hacia o desde las instancias de máquina virtual (VM) según la configuración que especifiques. Las reglas de firewall de VPC habilitadas siempre se aplican, ya que protegen las instancias sin importar la configuración ni el sistema operativo, incluso si no se iniciaron.

Cada red de 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. Se puede considerar que las reglas de firewall de VPC existen entre las instancias y otras redes y, 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 VPC, especificas una red de VPC y un conjunto de componentes que definen lo que hace la regla. Los componentes te 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 las reglas de firewall.

Puedes crear o modificar las reglas de firewall de VPC mediante Google Cloud Console, la herramienta de línea de comandos de gcloud y la API de REST. Cuando creas o modificas 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 las conexiones entrantes (entrada) o salientes (salida):

Especificaciones

Las reglas de firewall de VPC tienen las siguientes características:

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

  • Las reglas de firewall solo son compatibles con las conexiones IPv4. Cuando especificas un origen para una regla de entrada o un destino para una regla de salida, solo puedes usar una dirección IPv4 o un bloque IPv4 en notación de CIDR.

  • Cada acción de la regla de firewall es allow o deny. La regla afecta a las conexiones, siempre y cuando 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 el intercambio de tráfico entre redes de VPC o mediante túneles de Cloud VPN.

  • Las reglas de firewall de VPC son reglas con estado.

    • Cuando se permite una conexión a través del firewall en cualquier dirección, también se permite el tráfico de retorno que coincide con esta conexión. No se puede configurar una regla de firewall para denegar el tráfico de respuesta asociado.
    • El tráfico de retorno debe coincidir con la tupla de 5 elementos (IP de origen, IP de destino, puerto de origen, puerto de destino y protocolo) del tráfico de solicitudes aceptado, pero con las direcciones de origen, las de destino y los puertos revertidos.
    • Google Cloud asocia los paquetes de entrada 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 esté activo. El estado de seguimiento de una regla de firewall se considera activo si se envía al menos un paquete cada 10 minutos.
    • El tráfico de ICMP de respuesta, como “ICMP TYPE 3, DESTINATION UNREACHABLE”, que se generó en respuesta a una conexión TCP/UDP se permite a través del firewall. Este comportamiento es coherente con RFC 792.
  • Las reglas de firewall de VPC 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 se aplican a los fragmentos de TCP posteriores.

  • La cantidad máxima de conexiones con seguimiento 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 es 0.0.0.0/0 y la prioridad es 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 Requisitos de acceso a Internet.

  • Regla de permiso de entrada implícita. Una regla de entrada cuya acción es deny, el origen es 0.0.0.0/0 y la prioridad es la más baja posible (65535) protege todas las instancias cuando bloquea las conexiones entrantes 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 conexiones entrantes.

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 (números de prioridad 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 ya propagadas en la red predeterminada

La red predeterminada se propaga de forma previa con reglas de firewall que permiten las conexiones entrantes a las 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 las 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 de 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 de 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
Cierto tráfico de GRE (Beta) • Tráfico en túneles de Cloud VPN
• Tráfico en adjuntos de Cloud Interconnect (VLAN)
• Tráfico para las reglas de reenvío (balanceo de cargas o reenvío de protocolos)

El GRE está permitido dentro una red de VPC
Protocolos diferentes a TCP, UDP, ICMP, AH, ESP, SCTP y GRE a direcciones IP externas de los recursos de Google Cloud El tipo de recurso limita aún más el protocolo. Por ejemplo, el balanceo de cargas de TCP/UDP de red solo admite TCP y UDP. Además, una regla de reenvío para el reenvío de protocolos procesa un solo protocolo. Consulta la documentación del reenvío de protocolos para obtener una lista de los protocolos admitidos.
Tráfico de salida al puerto de destino TCP 25 (SMTP) Tráfico de:
• instancias a direcciones IP externas en Internet
• instancias a direcciones IP externas de instancias

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 el funcionamiento de la instancia, por lo que la instancia puede acceder a él sin importar las reglas de firewall que configures. El servidor de metadatos proporciona los siguientes servicios básicos a la instancia:

Componentes de las reglas de firewall

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

  • La dirección de la conexión: 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 a las conexiones que se dirigen a destinos especificados desde los objetivos.

  • Una prioridad numérica, que determina si se aplica la regla. Solo se aplica la regla con la prioridad más alta (número de prioridad más bajo), 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 las conexiones.

  • El estado de aplicación de la regla de firewall: Puedes habilitar e 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 del 0 al 65535 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 del 0 al 65535 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 un 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 las conexiones que se envían de un origen a un objetivo. Las reglas de entrada se aplican a paquetes para sesiones nuevas en las que el destino del paquete es el objetivo.

  • La dirección de salida describe el tráfico enviado de un objetivo a un destino. Las reglas de salida se aplican a paquetes para sesiones nuevas 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 0 a 65535, 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 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 precedencia. La especificidad del objetivo no es relevante. Por ejemplo, una regla de entrada con una 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. Mediante las prioridades relativas, es posible compilar reglas allow que anulen reglas deny, y reglas deny que anulen a las 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 los 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 el 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 más baja, 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, de modo que permite el tráfico en TCP 80 para objetivos webserver. En ausencia de otras reglas, la primera regla rechazaría otros tipos de tráfico a los objetivos webserver y, también, rechazaría todo el tráfico, incluido el de 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 a fin de implementar una práctica recomendada de seguridad de privilegio mínimo.

Acción en casos de coincidencia

El componente de acción de una regla de firewall determina si esta permite o bloquea el tráfico y está 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 volver a habilitarla, que borrarla y crearla de nuevo.

A menos que especifiques lo contrario, todas las reglas de firewall están habilitadas (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.

Se recomienda inhabilitar una regla de firewall en las siguientes situaciones:

  • Para solucionar problemas: Si no estás seguro de si una regla de firewall está bloqueando o permitiendo el tráfico, inhabilítala de forma temporal para determinar si el tráfico está permitido o bloqueado. Esto es útil para solucionar problemas con relación al efecto de una regla junto con otras.
  • Para realizar tareas de mantenimiento: Inhabilitar reglas de firewall puede hacer que el mantenimiento periódico sea más simple. Supongamos que tienes una regla de firewall que bloquea las conexiones SSH entrantes en los objetivos (por ejemplo, instancias por etiqueta de objetivo) y que esa regla es enabled. Cuando necesites realizar tareas de mantenimiento, puedes inhabilitar la regla. Después de terminar, habilita la regla nuevamente.

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 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 se aplica a todas las instancias en la red.

  • Instancias por etiqueta de objetivo: La regla de firewall se 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 regla de firewall, consulta las cuotas de recursos de VPC.

Para obtener información sobre los beneficios y las limitaciones de las etiquetas de objetivo y las cuentas de servicio de objetivo, consulta la comparación entre el filtrado por cuenta de servicio y por 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 a la interfaz de red de una instancia (NIC) en la red de VPC, sin importar cómo se especifique el objetivo. Una regla de firewall de entrada se aplica a los paquetes cuyos destinos coinciden con una de las siguientes direcciones IP:

  • La dirección IP interna principal que se asigna a la interfaz de red de la instancia en la red de VPC

  • Cualquier rango de alias de IP que se configura 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

  • Una dirección IP interna o externa asociada con una regla de reenvío, para el balanceo de cargas o el reenvío de protocolos, si la instancia es un backend para el balanceador de cargas o una instancia de destino para el reenvío de protocolos

El objetivo de una regla de firewall de salida se aplica a todo el tráfico que sale de la interfaz de red de una instancia de VM (NIC) en la red de VPC, sin importar cómo se especifica el objetivo:

  • De forma predeterminada, el reenvío de IP está inhabilitado. Una regla de firewall de salida se aplica a los paquetes cuyos orígenes coinciden con alguna de las siguientes opciones:
    • La dirección IP interna principal de la NIC de una instancia
    • Cualquier rango de alias de IP que se configura en la NIC de una instancia
    • Una dirección IP interna o externa asociada con una regla de reenvío, para el balanceo de cargas o el reenvío de protocolos, si la instancia es un backend para el balanceador de cargas o una instancia de destino para el reenvío de protocolos
  • Cuando el reenvío de IP está habilitado, la VM puede enviar paquetes con cualquier origen

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

Orígenes

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 la 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 coincidente, 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 la red de VPC. Una etiqueta de origen no puede controlar los paquetes cuyos orígenes sean direcciones IP externas, incluso si estas direcciones pertenecen a instancias. Para conocer 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 la red de VPC. Una cuenta de servicio de origen no puede controlar los paquetes cuyos orígenes sean direcciones IP externas, incluso si estas direcciones pertenecen a instancias. Para conocer 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 las cuentas de servicio de origen se omiten, Google Cloud define el origen como cualquier dirección IP (0.0.0.0/0).

Orígenes y direcciones IP

Cuando especificas un origen mediante uno de los siguientes métodos, Google Cloud considera el origen como la dirección IP interna principal de la interfaz de red de la VM en la red de VPC:

  • Etiquetas de origen
  • Cuentas de servicio de origen
  • Una especificación de origen que incluye etiquetas de origen o cuentas de servicio de origen

Los rangos de alias de IP para esa NIC y las direcciones IP para las reglas de reenvío asociadas no se incluyen cuando se usan etiquetas de origen o cuentas de servicio de origen.

Si necesitas incluir los rangos de alias de IP de una VM, agrégalos a una lista de rangos de origen para una regla de entrada. Puedes usar rangos de origen y etiquetas de origen juntos; y también puedes usar rangos de origen y cuentas de servicio de origen juntos.

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 la 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 los protocolos y los puertos, la regla de firewall se aplica a todo el tráfico en cualquier protocolo y cualquier puerto.

Para establecer una regla de firewall específica, primero debes indicar 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 para ICMP (ICMP tiene tipos de ICMP diferentes, pero no son puertos).

Puedes especificar un protocolo mediante su nombre (tcp, udp, icmp, esp, ah, ipip y sctp) 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 al 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 especificación de protocolos y puertos para las reglas de firewall de Google Cloud.

Especificación Ejemplo Explicación
Sin protocolo ni puerto Si no especificas 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 los puertos aplicables.
Protocolo y único puerto tcp:80 Si especificas un protocolo y un solo puerto, la regla de firewall se aplica a ese puerto del protocolo.
Protocolo y rango de puertos 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 Crea reglas de firewall.

Filtrado de origen y objetivo por cuenta de servicio

Puedes usar cuentas de servicio para crear reglas de firewall que sean más específicas:

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

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

La cuenta de servicio se debe crear en el mismo proyecto que la regla de firewall antes de que crees una regla de firewall que se base en ella. Si bien el sistema no te impide crear una regla que use una cuenta de servicio de un proyecto diferente, la regla no se aplica si la cuenta de servicio no existe en el proyecto de la regla de firewall.

Las reglas de firewall que usan cuentas de servicio para identificar instancias se aplican a las instancias nuevas que se crearon y asociaron a la cuenta de servicio y, también, a las instancias existentes si cambias sus cuentas de servicio. Si deseas cambiar la cuenta de servicio asociada con 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.

Comparación entre el filtrado por cuenta de servicio y por etiqueta de red

En esta sección, se destacan los puntos clave que debes 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 cuentas de servicio de objetivo y 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 la administración de identidades y accesos (IAM) que tenga permiso para editarla. Los miembros de IAM que cuentan con la función de administrador de instancias de Compute Engine para un proyecto tienen este permiso. Los miembros de IAM que pueden editar una instancia pueden cambiar las 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 con 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 IAM. Para que un miembro de IAM inicie una instancia mediante una cuenta de servicio, debe tener la función de usuario de cuenta de servicio al menos en esa cuenta de servicio y los permisos adecuados para crear instancias (por ejemplo, tener la función de administrador de instancias de Compute Engine en el proyecto).

No puedes mezclar y combinar cuentas de servicio y etiquetas de red en ninguna regla de firewall:

  • No puedes 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 de 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:

  • Para cambiar una cuenta de servicio de una instancia, es necesario detener y reiniciar la instancia. Se puede 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 las 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.

  • Las reglas de firewall de la cuenta de servicio se aplican al nodo de GKE, no al Pod de GKE.

Casos de uso

En los siguientes casos prácticos, 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 destino en la red de VPC. El origen para una regla de entrada se puede definir como una de las siguientes opciones:

  • Un rango de direcciones IPv4; el valor predeterminado puede ser cualquiera (0.0.0.0/0)
  • Otras instancias en la red de VPC identificadas por cuenta de servicio
  • Otras instancias en la 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 la 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 el objetivo de la regla, puedes limitar la regla para hacer que se 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 una prioridad de 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 se aplica 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 las 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 desde 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 una prioridad de 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 de la VM 4 a la VM 3, ya que la VM 4 no tiene una regla de salida que bloquee esa comunicación (solo se aplica 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 ella desde hosts externos en Internet.

Casos de salida

Las reglas de firewall de salida controlan las conexiones salientes desde instancias de objetivo en la 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 los 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 mediante un rango de direcciones IPv4 en formato CIDR. Cuando especificas un rango de direcciones IPv4, puedes controlar el tráfico a instancias en la red y a destinos fuera de ella, 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 enviado por la VM 1 debido a que las reglas de firewall tienen estado.

  • Una regla de salida con una prioridad de 1000 es aplicable a la VM 2. Esta regla rechaza 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 una prioridad de 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 tráfico de TCP a la VM 4. Sin embargo, la VM 3 puede enviar tráfico de UDP a la VM 4 porque la regla de salida solo se 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 cuenta con una ruta de acceso para enviar tráfico fuera de la red de VPC.

Próximos pasos