Aplicar Google Threat Intelligence

Google Threat Intelligence permite a los suscriptores de Google Cloud Armor Enterprise proteger su tráfico permitiendo o bloqueando el tráfico a sus balanceadores de carga de aplicaciones externos en función de varias categorías de datos de inteligencia sobre amenazas. Los datos de inteligencia sobre amenazas de Google se dividen en las siguientes categorías:

  • Nodos de salida de Tor: Tor es un software de código abierto que permite la comunicación anónima. Para excluir a los usuarios que ocultan su identidad, bloquea las direcciones IP de los nodos de salida de Tor (puntos en los que el tráfico sale de la red Tor).
  • Direcciones IP maliciosas conocidas: direcciones IP que deben bloquearse para mejorar la estrategia de seguridad de tu aplicación, ya que se sabe que los ataques a aplicaciones web se originan en ellas.
  • Buscadores: direcciones IP a las que puedes dar acceso para habilitar la indexación del sitio.
  • Proveedores de VPN: direcciones IP que usan proveedores de VPN con mala reputación. Esta categoría se puede bloquear para denegar los intentos de eludir las reglas basadas en direcciones IP.
  • Proxies anónimos: direcciones IP que usan proxies anónimos conocidos.
  • Mineros de criptomonedas: direcciones IP que usan sitios web conocidos de minería de criptomonedas.
  • Intervalos de direcciones IP de nubes públicas: esta categoría se puede bloquear para evitar que herramientas automatizadas maliciosas naveguen por aplicaciones web o se puede permitir si tu servicio usa otras nubes públicas.

Para usar Google Threat Intelligence, debes definir reglas de política de seguridad que permitan o bloqueen el tráfico en función de algunas o todas estas categorías mediante la expresión de coincidencia evaluateThreatIntelligence junto con un nombre de feed que represente una de las categorías anteriores. Además, debes suscribirte a Cloud Armor Enterprise. Para obtener más información sobre Cloud Armor Enterprise, consulta la descripción general de Cloud Armor Enterprise.

Configurar Google Threat Intelligence

Para usar Google Threat Intelligence, debes configurar reglas de políticas de seguridad mediante la expresión de coincidencia evaluateThreatIntelligence('FEED_NAME') y proporcionar un FEED_NAME basado en la categoría que quieras permitir o bloquear. La información de cada feed se actualiza continuamente, lo que protege los servicios frente a nuevas amenazas sin necesidad de realizar pasos de configuración adicionales. Estos son los argumentos válidos.

Nombre del feed Descripción
iplist-tor-exit-nodes Coincide con las direcciones IP de los nodos de salida de Tor.
iplist-known-malicious-ips Coincide con direcciones IP que se sabe que atacan aplicaciones web.
iplist-search-engines-crawlers Coincide con las direcciones IP de los rastreadores de buscadores
iplist-vpn-providers Busca coincidencias con intervalos de direcciones IP que usan proveedores de VPN con mala reputación.
iplist-anon-proxies Coincide con los intervalos de direcciones IP que pertenecen a proxies anónimos abiertos.
iplist-crypto-miners Coincide con los intervalos de direcciones IP que pertenecen a sitios de minería de criptomonedas.
iplist-cloudflare Coincide con los intervalos de direcciones IPv4 y IPv6 de los servicios de proxy de Cloudflare.
iplist-fastly Coincide con los intervalos de direcciones IP de los servicios proxy de Fastly.
iplist-imperva Coincide con los intervalos de direcciones IP de los servicios proxy de Imperva.
iplist-public-clouds
  • iplist-public-clouds-aws
  • iplist-public-clouds-azure
  • iplist-public-clouds-gcp
Coincide con las direcciones IP que pertenecen a nubes públicas.
  • Coincide con los intervalos de direcciones IP que usa Amazon Web Services.
  • Coincide con los intervalos de direcciones IP que usa Microsoft Azure.
  • Coincide con los intervalos de direcciones IP que usa Google Cloud.

Puedes configurar una nueva regla de política de seguridad con el siguiente comando gcloud, con un FEED_NAME de la tabla anterior y cualquier ACTION como allow, deny o throttle. Para obtener más información sobre las acciones de las reglas, consulta los tipos de políticas.

gcloud compute security-policies rules create 1000 \
    --security-policy=NAME \
    --expression="evaluateThreatIntelligence('FEED_NAME')" \
    --action="ACTION"

Si quieres excluir una dirección IP o un intervalo de direcciones IP que Google Threat Intelligence podría bloquear de otro modo para que no se evalúen, puedes añadir la dirección a la lista de exclusión con la siguiente expresión. Sustituye ADDRESS por la dirección o el intervalo de direcciones que quieras excluir.

evaluateThreatIntelligence('iplist-known-malicious-ips', ['ADDRESS'])

Usar listas de direcciones IP con nombre

Las listas de direcciones IP con nombre de Cloud Armor te permiten hacer referencia a listas de direcciones IP e intervalos de IP que mantienen proveedores externos. Puedes configurar listas de direcciones IP con nombre en una política de seguridad. No es necesario especificar manualmente cada dirección IP o intervalo de direcciones IP.

En este documento, los términos dirección IP y lista de direcciones IP incluyen intervalos de direcciones IP.

Las listas de direcciones IP con nombre son listas de direcciones IP agrupadas con nombres diferentes. El nombre suele hacer referencia al proveedor. Las listas de direcciones IP con nombre no están sujetas al límite de cuota del número de direcciones IP por regla.

Las listas de direcciones IP con nombre no son políticas de seguridad. Puedes incorporarlas a una política de seguridad haciendo referencia a ellas como expresiones, de la misma forma que haces referencia a una regla preconfigurada.

Por ejemplo, si un proveedor externo tiene una lista de direcciones IP de {ip1, ip2, ip3....ip_N_} con el nombre provider-a, puedes crear una regla de seguridad que permita todas las direcciones IP que estén en la lista provider-a y excluya las que no estén en esa lista:

gcloud beta compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('provider-a')" \
    --action "allow"

No puedes crear tus propias listas de direcciones IP con nombre personalizadas. Esta función solo está disponible para las listas de direcciones IP con nombre que mantienen proveedores externos que colaboran con Google. Si estas listas de direcciones IP con nombres no se ajustan a tus necesidades, puedes crear una política de seguridad en la que las reglas permitan o denieguen el acceso a tus recursos en función de la dirección IP desde la que se originan las solicitudes. Para obtener más información, consulta Configurar políticas de seguridad de Cloud Armor.

Para usar listas de direcciones IP con nombre, debes suscribirte a Google Cloud Armor Enterprise y registrar proyectos en Cloud Armor Enterprise. Para obtener más información, consulta Disponibilidad de listas de direcciones IP con nombre.

Permitir el tráfico solo de proveedores externos autorizados

Un caso práctico habitual es crear una lista de permitidos que contenga las direcciones IP de un partner externo autorizado para asegurarse de que solo el tráfico procedente de este partner pueda acceder al balanceador de carga y a los backends.

Por ejemplo, los proveedores de CDN deben extraer contenido de los servidores de origen a intervalos regulares para distribuirlo a sus propias cachés. Una asociación con Google proporciona una conexión directa entre los proveedores de CDN y el perímetro de la red de Google. Los usuarios de CDN en Google Cloud pueden usar esta conexión directa durante las peticiones de origen. En este caso, el usuario de la CDN puede crear una política de seguridad que solo permita el tráfico procedente de ese proveedor de CDN concreto.

En este ejemplo, un proveedor de CDN publica su lista de direcciones IP 23.235.32.0/20, 43.249.72.0/22, ⋯,. Un usuario de CDN configura una regla de seguridad que solo permite el tráfico procedente de estas direcciones IP. Por lo tanto, se permiten dos puntos de acceso de proveedores de CDN (23.235.32.10 y 43.249.72.10) y, por lo tanto, su tráfico. Se bloquea el tráfico del punto de acceso no autorizado 198.51.100.1.

Dirección IP con nombre de Cloud Armor.
Dirección IP con nombre de Cloud Armor (haz clic para ampliarla).

Simplificar la configuración y la gestión mediante reglas preconfiguradas

Los proveedores de CDN suelen usar direcciones IP conocidas que muchos usuarios de CDN necesitan usar. Estas listas cambian con el tiempo, ya que los proveedores añaden, eliminan y actualizan las direcciones IP.

Usar una lista de direcciones IP con nombres en una regla de política de seguridad simplifica el proceso de configuración y gestión de direcciones IP, ya que Cloud Armor sincroniza automáticamente la información de los proveedores de CDN a diario. De esta forma, se elimina el proceso de mantenimiento manual de una lista de direcciones IP grande, que requiere mucho tiempo y es propenso a errores.

A continuación, se muestra un ejemplo de una regla preconfigurada que permite todo el tráfico de un proveedor:

evaluatePreconfiguredExpr('provider-a') => allow traffic

Proveedores de listas de direcciones IP

Los proveedores de listas de direcciones IP de la siguiente tabla son compatibles con Cloud Armor. Se trata de proveedores de CDN que han colaborado con Google. Sus listas de direcciones IP se publican a través de URLs públicas individuales.

Estos partners proporcionan listas independientes de direcciones IPv4 y direcciones IPv6. Cloud Armor usa las URLs proporcionadas para obtener listas y, a continuación, convierte las listas en listas de direcciones IP con nombre. Las listas se identifican por los nombres que aparecen en la tabla.

Por ejemplo, el siguiente código crea una regla en la política de seguridad POLICY_NAME con la prioridad 750, que incorpora la lista de direcciones IP con nombres de Cloudflare y permite el acceso desde esas direcciones IP:

gcloud beta compute security-policies rules create 750 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \
    --action "allow"
Proveedor URLs Nombre de la lista de direcciones IP
Fastly https://api.fastly.com/public-ip-list sourceiplist-fastly
Cloudflare

https://www.cloudflare.com/ips-v4

https://www.cloudflare.com/ips-v6

sourceiplist-cloudflare
Imperva

https://my.imperva.com/api/integration/v1/ips

Para acceder a la lista de Imperva, se necesita una POST solicitud. También puedes usar el siguiente comando:

curl -d "" https://my.imperva.com/api/integration/v1/ips

sourceiplist-imperva

Para enumerar las listas de direcciones IP con nombre preconfiguradas, usa este comando de gcloud CLI:

gcloud compute security-policies list-preconfigured-expression-sets \
    --filter="id:sourceiplist"

Devuelve lo siguiente:

EXPRESSION_SET
sourceiplist-fastly
sourceiplist-cloudflare
sourceiplist-imperva

Sincronizar listas de direcciones IP

Cloud Armor solo sincroniza las listas de direcciones IP con cada proveedor cuando detecta cambios que tienen un formato válido. Cloud Armor realiza una validación de sintaxis básica en las direcciones IP de todas las listas.

Disponibilidad de listas de direcciones IP con nombre

Google Cloud Armor Enterprise está disponible de forma general. La disponibilidad de listas de direcciones IP con nombre de terceros es la siguiente:

  1. Si tienes una suscripción al nivel Enterprise de Google Cloud Armor, tienes licencia para usar listas de direcciones IP con nombre en los proyectos registrados. Puedes crear, actualizar y eliminar reglas con listas de direcciones IP con nombre.
  2. Si caduca tu suscripción al nivel Enterprise de Google Cloud Armor o vuelves al nivel Standard por cualquier otro motivo, no podrás añadir ni modificar reglas con listas de direcciones IP con nombre, pero sí podrás eliminar reglas y actualizar reglas para quitar una lista de IPs con nombre.
  3. En los proyectos que ya incluyan reglas con listas de direcciones IP con nombre y en los que no te hayas registrado en Google Cloud Armor Enterprise, puedes seguir usando, actualizando y eliminando las reglas con listas de direcciones IP con nombre. En estos proyectos, puedes crear reglas que incorporen listas de direcciones IP con nombre.

Siguientes pasos