Reglas de firewall de VPC (original) (raw)

Las reglas de firewall de la nube privada virtual (VPC) se aplican a un proyecto y a una red determinados. Si deseas aplicar reglas de firewall a varias redes de VPC en una organización, consulta 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) en la red de VPC. 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).

Prácticas recomendadas para las reglas de firewall

Cuando diseñes y evalúes las reglas de firewall, ten en cuenta las siguientes recomendaciones:

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 de destino, 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 la consola de Google Cloud, Google Cloud CLI 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. Para ver ejemplos de reglas de firewall, consulta Otros ejemplos de configuración.

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:

Reglas implícitas

Cada red de VPC tiene dos reglas de firewall IPv4 implícitas. Si IPv6 está habilitado en una red de VPC, la red también tiene dos reglas de firewall IPv6 implícitas. Estas reglas no se muestran en la consola de Google Cloud.

Las reglas de firewall IPv4 implícitas están presentes en todas las redes de VPC, sin importar cómo se crean las redes ni si son redes de VPC de modo automático o de modo personalizado. La red predeterminada tiene las mismas reglas implícitas.

Si IPv6 está habilitado, la red de VPC también tiene estas dos reglas implícitas:

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 nunca se aplica.

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:

Nombre de la regla Dirección Prioridad Rangos de origen Acción Protocolos y puertos Descripción
default-allow-internal ingress 65534 10.128.0.0/9 allow tcp:0-65535 udp:0-65535 icmp Permite conexiones entrantes a instancias de VM desde otras instancias dentro de la misma red de VPC.
default-allow-ssh ingress 65534 0.0.0.0/0 allow tcp:22 Te permite conectarte a instancias con herramientas como ssh, scp o sftp.
default-allow-rdp ingress 65534 0.0.0.0/0 allow tcp:3389 Te permite conectarte a instancias mediante el protocolo de escritorio remoto de Microsoft (RDP).
default-allow-icmp ingress 65534 0.0.0.0/0 allow icmp Te permite usar herramientas como ping.

Puedes crear reglas de firewall similares para las redes que no sean la predeterminada. Consulta Configura las reglas de firewall para casos de uso comunes a fin de obtener más información.

Tráfico bloqueado y limitado

Además de las reglas de firewall de VPC y las políticas de firewall jerárquicas, Google Cloud bloquea o limita cierto tráfico como se describe en la siguiente tabla.

Tipo de tráfico Detalles
Frecuencia de paquetes y ancho de banda Se aplica a: Todos los paquetes de salida Todos los paquetes de entrada Google Cloud incluye el ancho de banda por instancia de VM, para cada interfaz de red (NIC) o dirección IP. El tipo de máquina de una VM define su tasa de salida máxima posible. Sin embargo, solo puedes alcanzar esa tasa de salida máxima posible en situaciones específicas. Para obtener más información, consulta Ancho de banda de red en la documentación de Compute Engine.
Ofertas y confirmaciones de DHCP Se aplica a: Paquetes de salida al puerto UDP 68 (DHCPv4) Paquetes de salida al puerto UDP 546 (DHCPv6) Google Cloud bloquea las ofertas y confirmaciones de DHCP entrantes de todas las fuentes, excepto los paquetes DHCP que provienen del servidor de metadatos.
Protocolos compatibles con direcciones IP externas de Google Cloud Se aplica a: Paquetes de entrada a direcciones IP externas Las direcciones IPv4 e IPv6 externas solo aceptan paquetes TCP, UDP, ICMP, IPIP, AH, ESP, SCTP y GRE. Los recursos que usan direcciones IP externas imponen restricciones adicionales al protocolo: Reglas de reenvío para los reenvíos de protocolos, balanceadores de cargas de aplicaciones externos, balanceadores de cargas de red del proxy externo y balanceadores de cargas de red de transferencia externos solo procesan los protocolos y puertos configurados en la regla de reenvío. Las puertas de enlace de Cloud VPN solo aceptan protocolos de VPN.
Tráfico de SMTP (puerto 25) Se aplica a: Paquetes de salida a direcciones IP externas en el puerto TCP 25 De forma predeterminada, Google Cloud bloquea los paquetes de salida enviados al puerto de destino TCP 25 de una dirección IP externa (incluida una dirección IP externa de otro recurso de Google Cloud). Sin embargo, este tráfico no se bloquea en proyectos que pertenecen a clientes seleccionados de Google Cloud. En la consola de Google Cloud, tanto la página de redes de VPC como la página de políticas de firewall muestran un mensaje que indica si el puerto SMTP 25 está permitido o no en el proyecto. Este bloque no se aplica a los paquetes de salida enviados al puerto de destino TCP 25 de una dirección IP interna, incluida una dirección IP pública de uso privado en una red de VPC o una red local. Si se permite la salida SMTP externa en el puerto 25 en tu proyecto y deseas enviar este tipo de tráfico, se deben cumplir las siguientes condiciones adicionales: Las reglas de firewall de salida en la red de VPC y las políticas de firewall jerárquicas aplicables a la red de VPC deben permitir la salida a la dirección IP externa en el puerto TCP 25. Las reglas implícitas de permiso de salida cumplen con este requisito porque permiten la salida a cualquier dirección IP, así como las respuestas entrantes establecidas desde cualquier dirección IP. La ruta aplicable al destino debe usar el siguiente salto de puerta de enlace de Internet predeterminado. Las rutas predeterminadas generadas por el sistema cumplen con este requisito. La instancia que envía paquetes a la dirección IP externa debe cumplir con los requisitos de acceso a Internet. Puedes evitar la salida SMTP externa si creas reglas de firewall de VPC de denegación de salida o políticas de firewall jerárquicas.

Tráfico que siempre está permitido

En las instancias de VM, las reglas de firewall de VPC y las políticas de firewall jerárquicas no se aplican a lo siguiente:

Servidor de metadatos de Google Cloud

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:

Interacciones de productos

En las siguientes secciones, se describe cómo interactúan las reglas de firewall y las políticas de firewall jerárquicas con otros productos de Google Cloud.

Reglas de firewall y balanceadores de cargas de transferencia

Las reglas de firewall de VPC y las políticas de firewall jerárquicas controlan cuáles de los protocolos y puertos compatibles con la regla de reenvío pueden acceder a los backends del balanceador de cargas de transferencia. Para obtener detalles, consulta:

Reglas de firewall y balanceadores de cargas de proxy

Para balanceadores de cargas de aplicaciones externos, balanceadores de cargas de aplicaciones internos, balanceadores de cargas de red del proxy internos y balanceadores de cargas de red del proxy externo, las reglas de firewall de VPC y las políticas de firewall jerárquicas no controlan qué protocolos y puertos acepta la dirección IP de la regla de reenvío del balanceador de cargas del proxy. La regla de reenvío sola determina qué protocolos y puertos acepta el balanceador de cargas de proxy.

Las reglas de firewall de VPC y las políticas de firewall jerárquicas controlan cómo estos balanceadores de cargas de proxy se comunican con sus backends. Para obtener detalles, consulta:

Reglas de firewall y Cloud VPN

Las reglas de firewall y las políticas de firewall jerárquicas no controlan qué protocolos y puertos son aceptados por la puerta de enlace de Cloud VPN.

Las puertas de enlace de Cloud VPN solo aceptan paquetes para los protocolos y puertos que se describen en las especificaciones de Cloud VPN.

Reglas de firewall y GKE

Google Kubernetes Engine crea y administra las reglas de firewall automáticamente cuando creas un clúster o recursos en el clúster (incluidos Ingress y objetos Service). Para obtener más información, consulta las Reglas de firewall creadas automáticamente en la documentación de Google Kubernetes Engine.

Componentes de reglas de firewall

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

Resumen de componentes

Regla de entrada (entrante)
Prioridad Acción Aplicación Parámetro de destino Filtros de origen y destino Protocolos y puertos
Número entero de 0 a 65535 inclusive; predeterminado: 1000 allow o deny enabled (predeterminado) o disabled Especifica las instancias que reciben paquetes. Orígenes para reglas de entrada Destinos para las reglas de entrada Especifica un protocolo o un protocolo y un puerto de destino. Si no se establece, la regla se aplica a todos los protocolos y puertos de destino. Para obtener más información, consulta Protocolos y puertos.
Regla de salida (saliente)
Prioridad Acción Aplicación Parámetro de destino Filtros de origen y destino Protocolos y puertos
Número entero de 0 a 65535 inclusive; predeterminado: 1000 allow o deny enabled (predeterminado) o disabled Especifica las instancias que envían paquetes. Orígenes para las reglas de salida Destinos para las reglas de salida Especifica un protocolo o un protocolo y un puerto de destino. Si no se establece, la regla se aplica a todos los protocolos y puertos de destino. Para obtener más información, consulta Protocolos y puertos.

Dirección del tráfico

Puedes crear reglas de firewall que se apliquen al tráfico de entrada o salida. Una sola regla no se puede aplicar al tráfico de entrada y de salida. Sin embargo, puedes crear varias reglas para definir el tráfico de entrada y salida que permites o rechazas a través del firewall.

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:

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

La prioridad de la segunda regla determina si se permite el tráfico de TCP en el puerto 80 para los objetivos 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:

Aplicación

Puedes cambiar si una regla de firewall se aplica configurando su estado en enabled o disabled. Establece el estado de aplicación cuando creas una regla o cuando actualizas una regla.

Si no configuras un estado de aplicación cuando creas una regla de firewall nueva, la regla de firewall se configura de forma automática como enabled.

Casos de uso

Inhabilitar y habilitar es útil para solucionar problemas y realizar mantenimiento. Considera cambiar la aplicación de una regla de firewall en las siguientes situaciones:

Efectos sobre el tráfico existente

Cuando cambias el estado de aplicación de una regla de firewall o cuando creas una regla nueva que es enforced, el cambio solo se aplica a las conexiones nuevas. Las conexiones existentes no se ven afectadas por el cambio.

Protocolos y puertos

Para limitar el alcance de una regla de firewall, especifica protocolos o protocolos y puertos de destino. 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 de destino. No se admiten reglas basadas en puertos de origen.

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 y no se pueden especificar en una regla de firewall.

Puedes usar los siguientes nombres de protocolo en reglas de firewall: tcp, udp, icmp (en ICMP para IPv4), esp, ah, sctp y ipip. Para todos los demás protocolos, debes usar los números de protocolo de IANA.

Muchos protocolos usan el mismo nombre y número en IPv4 y en IPv6, pero algunos protocolos, como ICMP, no.

El protocolo IPv6 de salto por salto no es compatible con las reglas de firewall.

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 puerto único tcp:80 Si especificas un protocolo y un puerto de destino único, la regla de firewall se aplica a ese puerto de destino del protocolo.
Protocolo y rango de puerto tcp:20-22 Si especificas un protocolo y un rango de puertos, la regla de firewall aplica a ese rango de puertos de destino para el protocolo.
Combinaciones icmp,tcp:80tcp:443udp:67-69 Puedes especificar varias combinaciones de protocolos y puertos de destino a los que se aplica la regla de firewall. Para obtener más información, consulta Crea reglas de firewall.

Objetivo, origen y destino

Los objetivos identifican las interfaces de red de las instancias a las que se aplica la regla de firewall.

Puedes especificar los parámetros de origen y destino que se aplican a los orígenes o destinos de los paquetes para las reglas de firewall de entrada y salida. La dirección de la regla de firewall determina los valores posibles para los parámetros de origen y destino.

Parámetro de destino

El parámetro de destino identifica las interfaces de red de las instancias de Compute Engine, incluidos los nodos de GKE y las instancias del entorno flexible de App Engine.

Puedes definir los siguientes objetivos para las reglas de entrada o salida. Los parámetros de objetivo, origen y destino funcionan juntos como se describe en Origen, destino y objetivo.

Para obtener información sobre los beneficios y las limitaciones de las etiquetas de red 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 para reglas de entrada

Los paquetes enrutados a la interfaz de red de una VM de destino se procesan en función de las siguientes condiciones:

Objetivos y direcciones IP para reglas de salida

El procesamiento de los paquetes emitidos desde la interfaz de red de un destino depende de la configuración de reenvío de IP en la VM de destino. El reenvío de IP está inhabilitado de forma predeterminada.

Parámetro de origen

Los valores del parámetro de origen dependen de la dirección de la regla de firewall.

Orígenes para reglas de entrada

Puedes usar los siguientes orígenespara las reglas de firewall de entrada:

Cómo las etiquetas de red de origen y las cuentas de servicio de origen implican los orígenes de paquetes

Cuando una regla de firewall de entrada usa una etiqueta de red de origen, los paquetes deben emitirse desde una interfaz de red que cumpla con los siguientes criterios:

Cuando una regla de firewall de entrada usa una cuenta de servicio de origen, los paquetes deben emitirse desde una interfaz de red que cumpla con los siguientes criterios:

Además de especificar una interfaz de red, cuando una regla de firewall de entrada usa una etiqueta de red de origen o una cuenta de servicio de origen, los paquetes emitidos desde la interfaz de red de la VM deben usar una de las siguientes direcciones IP de origen válidas:

Si una regla de firewall de entrada también contiene rangos de direcciones IP de destino, la interfaz de red vinculada a una etiqueta de red se resuelve en la misma versión de IP que el rango de IP de destino.

No hay otras direcciones IP de origen de paquetes implícitas cuando se usan etiquetas de red de origen o cuentas de servicio de origen. Por ejemplo, se excluyen los rangos de alias de IP y la dirección IPv4 externa asociada con la interfaz de red. Si necesitas crear reglas de firewall de entrada cuyos orígenes incluyan rangos de alias de direcciones IP o direcciones IPv4 externas, usa rangos de IPv4 de origen.

Orígenes para las reglas de salida

Puedes usar los siguientes orígenes para las reglas de firewall de salida:

Sigue estos lineamientos a fin de agregar rangos de direcciones IP de origen para las reglas de salida:

Parámetro de destino

Los destinos se pueden especificar mediante rangos de direcciones IP, que son compatibles con las reglas de entrada y salida. El comportamiento de destino predeterminado depende de la dirección de la regla.

Destinos para las reglas de entrada

Puedes usar los siguientes destinos para las reglas de firewall de entrada:

Sigue estos lineamientos a fin de agregar rangos de direcciones IP de destino para las reglas de entrada:

Destinos para las reglas de salida

Puedes usar los siguientes destinos para las reglas de firewall de salida:

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:

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.

Filtra por cuenta de servicio en comparación con 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 VMs, usa las cuentas de servicio de objetivo y las cuentas de servicio de origen en lugar de etiquetas de red de objetivo y etiquetas de red de origen:

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

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

Funciones y permisos

En la siguiente tabla, se describen los permisos de administración de identidades y accesos (IAM) que necesitas para trabajar con las reglas de firewall de VPC.

Tarea Permiso necesario Función de muestra
Crea una regla de firewall compute.firewalls.create Administrador de seguridad de Compute (roles/compute.securityAdmin
Borra una regla de firewall compute.firewalls.delete Administrador de seguridad de Compute (roles/compute.securityAdmin
Realiza cambios en las reglas de firewall compute.firewalls.update Administrador de seguridad de Compute (roles/compute.securityAdmin
Visualiza los detalles de una regla de firewall compute.firewalls.get Visualizador de la red de Compute (roles/compute.networkViewer)
Visualiza una lista de reglas de firewall compute.firewalls.list Visualizador de la red de Compute (roles/compute.networkViewer)

Casos de uso

Los casos prácticos a continuación demuestran cómo funcionan las reglas de firewall. En estos ejemplos, se habilitaron todas las reglas de firewall.

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:

El origen predeterminado es cualquier dirección IPv4 (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 IP 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 de destino 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 la figura 1, 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 de objetivo en la asignación de reglas para aplicar reglas a instancias específicas.

En esta red de VPC de ejemplo, las reglas de firewall de entrada permitida admiten la regla de denegación de entrada implícita para algunas VMs.

Figura 1. En esta red de VPC de ejemplo, las reglas de firewall de entrada permitida admiten la regla de denegación de entrada implícita para algunas VMs (haz clic para ampliar).

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 de destino 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 IPv4 (0.0.0.0/0), pero puedes crear un destino más específico si usas un rango de direcciones IPv4 o IPv6 en formato CIDR. Cuando especificas un rango de direcciones IP, 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 la figura 2, 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 de objetivo en la asignación de reglas para aplicar reglas a instancias específicas.

En esta red de VPC de ejemplo, las reglas de firewall de salida de rechazo anulan la regla de permiso de salida implícita para algunas VMs.

Figura 2. En esta red de VPC de ejemplo, las reglas de firewall de salida de rechazo anulan la regla de permiso de salida implícita para algunas VMs (haz clic para agrandar).

¿Qué sigue?

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud NGFW en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Cloud NGFW gratis