Integra Google Cloud Armor con otros productos de Google

En las siguientes secciones, se analiza cómo interactúa Google Cloud Armor con otras funciones y productos de Google Cloud.

Reglas de firewall de VPC y Google Cloud Armor

Las políticas de seguridad de Google Cloud Armor y las reglas de firewall de VPC tienen funciones diferentes.

  • Las políticas de seguridad de Google Cloud Armor brindan seguridad perimetral y actúan sobre el tráfico de clientes en Google Front Ends (GFE).
  • Las reglas de firewall de VPC permiten o deniegan el tráfico hacia y desde tus backends. Debes crear reglas de firewall de permiso de entrada, cuyos destinos sean las VM de backend con balanceo de cargas y cuyas fuentes sean rangos de IP usados por balanceadores de cargas de HTTP(S) externos. Estas reglas permiten que los GFE y los sistemas de verificación de estado se comuniquen con tus VM de backend.

Por ejemplo, considera una situación en la que deseas permitir el tráfico solo del rango de CIDR 100.1.1.0/24 y el rango de 100.1.2.0/24 para acceder a tu balanceador de cargas de HTTP(S) externo. Tu objetivo es garantizar que el tráfico no pueda alcanzar directamente a las instancias de balanceo de cargas de backend. En otras palabras, solo el tráfico externo se procesa a través del balanceador de cargas de HTTP(S) externo con una política de seguridad asociada debería llegar a las instancias.

Uso de la política de seguridad de Google Cloud Armor con firewalls de entrada a fin de restringir el acceso
Uso de la política de seguridad de Google Cloud Armor con firewalls de entrada a fin de restringir el acceso (haz clic para ampliar)

En la ilustración anterior, puedes lograr tus objetivos de seguridad mediante la configuración de la implementación de Google Cloud de la siguiente manera:

  1. Crea dos grupos de instancias, uno en la región us-west1 y otro en la región europe-west1.
  2. Implementa instancias de aplicaciones de backend en las VM de los grupos de instancias.
  3. Crea un balanceador de cargas de HTTP(S) externo en el nivel Premium. Configura un mapa de URL simple y un servicio de backend único cuyos backends sean los dos grupos de instancias que creaste en el paso anterior. Asegúrate de que la regla de reenvío del balanceador de cargas use la dirección IP externa 120.1.1.1.
  4. Configura una política de seguridad de Google Cloud Armor que permita el tráfico desde 100.1.1.0/24 y 100.1.2.0/24 y deniegue todo el resto del tráfico.
  5. Asocia esta política con el servicio de backend del balanceador de cargas. Para obtener instrucciones, consulta Configura políticas de seguridad. Los balanceadores de cargas de HTTP(S) externos con mapas de URL más complejos pueden hacer referencia a varios servicios de backend. Puedes asociar la política de seguridad con uno o más de los servicios de backend, según sea necesario.
  6. Configura las reglas de firewall de permiso de entrada para permitir el tráfico desde el balanceador de cargas de HTTP(S) externo. Para obtener más información, consulta las Reglas de firewall.

IAP y Google Cloud Armor con balanceo de cargas de HTTP(S)

Identity-Aware Proxy (IAP) verifica la identidad de un usuario y, luego, determina si se le debe permitir el acceso a una aplicación. Si quieres habilitar IAP para el balanceador de cargas de HTTP(S) externo, debes habilitarlo en los servicios de backend del balanceador de cargas. Del mismo modo, las políticas de seguridad perimetral de Google Cloud Armor se vinculan a los servicios de backend de un balanceador de cargas de HTTP(S) externo.

Si IAP y las políticas de seguridad de Google Cloud Armor se habilitaron en un servicio de backend de un balanceador de cargas de HTTP(S) externo, primero se realiza la evaluación de IAP. Si IAP bloquea una solicitud, Google Cloud Armor no evalúa esa solicitud. Si IAP autentica correctamente una solicitud, Google Cloud Armor evalúa la solicitud. La solicitud se bloquea si una política de seguridad de Google Cloud Armor genera una decisión de rechazo.

Usa las listas de bloqueo de direcciones IP y las lista de anunciantes permitidos con IAP.
Uso de listas de bloqueo de direcciones IP y lista de anunciantes permitidos con IAP (haz clic para ampliar)

Para obtener más información sobre IAP y las opciones de configuración relacionadas, consulta la documentación de Identity-Aware Proxy.

Google Cloud Armor con implementaciones híbridas

En una implementación híbrida, un balanceador de cargas HTTP(S) externo necesita acceso a una aplicación o una fuente del contenido que se ejecuta fuera de Google Cloud, por ejemplo, en la infraestructura de otro proveedor de servicios en la nube. Puedes usar Google Cloud Armor para proteger esas implementaciones.

En el siguiente diagrama, el balanceador de cargas tiene dos servicios de backend. Uno tiene un grupo de instancias como backend. El otro servicio de backend tiene un NEG de Internet como backend, y el NEG de Internet está asociado con una aplicación que se ejecuta en el centro de datos de un proveedor externo.

Google Cloud Armor para implementaciones híbridas
Google Cloud Armor para implementaciones híbridas (haz clic para ampliar)

Cuando adjuntas una política de seguridad de Google Cloud Armor al servicio de backend que tiene un NEG de Internet como backend, Google Cloud Armor inspecciona cada solicitud de L7 que llega al balanceador de cargas de HTTP(S) externo que está destinado a ese servicio de backend.

La protección de Google Cloud Armor para implementaciones híbridas está sujeta a las mismas limitaciones que se aplican a los NEG de Internet.

Entrada de Google Cloud Armor con Google Kubernetes Engine (GKE)

Después de configurar una política de seguridad de Google Cloud Armor, puedes usar Kubernetes Ingress para habilitarla con GKE.

Para hacer referencia a tu política de seguridad con un recurso BackendConfig, agrega el nombre de tu política de seguridad a BackendConfig. En el siguiente manifiesto de BackendConfig, se especifica una política de seguridad llamada example-security-policy:

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backendconfig
spec:
  securityPolicy:
    name: "example-security-policy"

Para obtener más información sobre las características de Ingress, consulta Configura características de Ingress.

Google Cloud Armor con Cloud CDN

Para proteger los servidores de origen de CDN, puedes usar Google Cloud Armor con Cloud CDN. Google Cloud Armor protege tu servidor de origen de CDN de los ataques de las aplicaciones, mitiga los 10 riesgos principales de OWASP y aplica las políticas de filtrado de la capa 7.

Google Cloud Armor aplica políticas de seguridad para servicios de backend con Cloud CDN habilitado solo para errores de caché, es decir, solicitudes que omiten la caché de Cloud CDN.

Cuando se vincula una política de seguridad a un servicio de backend habilitado para Cloud CDN, Google Cloud Armor evalúa las solicitudes entrantes que no se pueden entregar desde la caché a fin de determinar si deben reenviarse al servidor de origen. Si una regla coincide con la solicitud, se realiza la acción que está configurada en la regla.

Sin embargo, no se aplican las políticas de seguridad vinculadas a un servicio de backend habilitado para Cloud CDN en el caso de los aciertos de caché. Si una solicitud se puede entregar desde la caché, se entrega a cualquier cliente válido, sin importar lo que la política de seguridad hubiera hecho para esa solicitud.

En el siguiente diagrama, se muestra cómo funciona Google Cloud Armor con los orígenes de Cloud CDN.

Uso de Google Cloud Armor con Cloud CDN
Google Cloud Armor con Cloud CDN (haz clic para ampliar)

Google Cloud Armor con apps sin servidores

Puedes usar las políticas de seguridad de Google Cloud Armor con un backend de NEG sin servidores que apunte a un servicio Cloud Run , App Engine o Cloud Functions.

Sin embargo, cuando usas Google Cloud Armor con Cloud Functions y NEG sin servidores, debes tomar medidas especiales para garantizar que todo el acceso al extremo sin servidores se filtre a través de una política de seguridad de Google Cloud Armor.

Los usuarios que tienen la URL predeterminada para un servicio de Cloud Functions pueden omitir el balanceador de cargas y dirigirse directamente a la URL del servicio. Mediante esta acción, se omiten las políticas de seguridad de Google Cloud Armor. No puedes inhabilitar las URL que Google Cloud asigna de forma automática a los servicios de Cloud Functions.

Para asegurarte de que tus controles de acceso se apliquen a todo el tráfico entrante, puedes usar internal-and-gclb cuando configures Cloud Functions, lo que solo permite el tráfico interno y el tráfico que se envía a una dirección IP pública expuesta por el balanceador de cargas HTTP(S) externo. El tráfico que se envía a cloudfunctions.net o a cualquier otro dominio personalizado configurado mediante Cloud Functions se bloquea. Esto evita que los usuarios eludan los controles de acceso (como las políticas de seguridad de Google Cloud Armor) configurados mediante el balanceador de cargas de HTTP(S) externo.

Para obtener más información sobre los NEG sin servidores, consulta Descripción general de los grupos de extremos de redes sin servidores y Configura NEG sin servidores.

¿Qué sigue?