Descripción general de la Protección adaptable de Google Cloud Armor

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La Protección adaptable de Google Cloud Armor te ayuda a proteger las aplicaciones, los sitios web y los servicios de Google Cloud contra ataques de denegación de servicio distribuido (DDoS) de capa 7, como inundaciones HTTP y otra actividad maliciosa de la capa 7 de frecuencia alta (nivel de la aplicación). La Protección adaptable compila modelos de aprendizaje automático que hacen lo siguiente:

  1. Detecta y alerta sobre actividad anómala
  2. Generan una firma que describa el posible ataque
  3. Generan una regla de WAF de Google Cloud Armor personalizada para bloquear la firma

Puedes habilitar o inhabilitar la Protección adaptable por política de seguridad.

Las alertas sobre el tráfico anómalo (ataques potenciales), que incluyen las firmas de los ataques, aparecen en el panel de eventos de Protección adaptable con registros de eventos enviados a Cloud Logging, donde se pueden analizar directamente o reenviar a un flujo de trabajo descendente para la supervisión de eventos o seguridad. Las alertas de posibles ataques también se generan como hallazgos en Security Command Center.

Disponibilidad de la Protección adaptable

Las alertas de protección adaptable completa solo están disponibles si te suscribes a Google Cloud Armor Managed Protection Plus. De lo contrario, recibirás solo una alerta básica, sin una firma de ataque o la capacidad de implementar una regla sugerida.

Si tus proyectos aún no están inscritos en Managed Protection Plus, consulta Usa la protección administrada para obtener información sobre cómo inscribirte.

Cloud Logging y Cloud Monitoring

Debido a que el uso de la Protección adaptable requiere de manera efectiva la comprensión de cómo funcionan el registro y las alertas en Google Cloud, te recomendamos familiarizarte con Cloud Logging, las alertas y las políticas de alertas.

Configura y ajusta alertas

Puedes habilitar la Protección adaptable en proyectos en los que las políticas de seguridad de Google Cloud Armor ya protegen tus aplicaciones. Cuando habilitas la protección adaptable para una política de seguridad en particular, la protección está vigente para todos los servicios de backend con los que está asociada la política de seguridad.

Después de habilitar la Protección adaptable, se produce un período de entrenamiento de al menos una hora antes de que esta función desarrolle un modelo de referencia confiable y comience a supervisar el tráfico y generar alertas. Durante el período de entrenamiento, la Protección adaptable modela el tráfico entrante y los patrones de uso específicos de cada servicio de backend a fin de que desarrolle el modelo de referencia para cada servicio de backend. Cuando finaliza el período de entrenamiento, recibes alertas en tiempo real cuando la Protección adaptable identifica anomalías de alta frecuencia o de gran volumen en el tráfico dirigido a cualquiera de los servicios de backend asociados con esa política de seguridad.

Puedes ajustar las alertas de Protección adaptable en función de varias métricas. Las alertas, que se envían a Cloud Logging, incluyen un nivel de confianza, una firma de ataque, una regla sugerida y una tasa de impacto asociada estimada con la regla sugerida.

  • El nivel de confianza indica la confianza con la que los modelos de Protección adaptable predicen que el cambio observado en el patrón de tráfico es anómalo.
  • Las tasas de referencia afectadas asociadas con la regla sugerida representan el porcentaje del tráfico de modelo de referencia existente que captura la regla. Se proporcionan dos tarifas. La primera corresponde al porcentaje relacionado con el tráfico hacia el servicio de backend específico bajo ataque. La segunda corresponde al porcentaje relativo a todo el tráfico que pasa por la política de seguridad, incluidos todos los objetivos de servicio de backend configurados (no solo el que está bajo ataque).

Puedes filtrar las alertas en Cloud Logging según los niveles de confianza, las tasas de referencia afectadas o ambos. Para obtener más información sobre el ajuste de las alertas, consulta Administra las políticas de alertas.

La protección adaptable busca proteger los servicios de backend de los ataques de DSD de capa 7 de gran volumen. En las siguientes situaciones, las solicitudes no se cuentan en la protección adaptable:

  • Solicitudes entregadas directamente desde Cloud CDN
  • Solicitudes rechazadas por una política de seguridad de Google Cloud Armor

Consume e interpreta alertas

En cuanto la Protección adaptable detecta un ataque sospechoso, dicha función genera un evento en el panel de eventos de Protección adaptable y un elemento de registro en Cloud Logging. La alerta se encuentra en la carga útil de JSON del elemento de registro. El elemento de registro se genera en el recurso Política de seguridad de red en Cloud Logging. El mensaje de registro identifica el servicio de backend bajo ataque y contiene una puntuación de confianza que indica cuán fuerte es la tasa de Protección adaptable que modifica el patrón del tráfico identificado como anómalo. El mensaje de registro también incluye una firma de ataque que ilustra las características del tráfico de ataque, junto con las reglas de Google Cloud Armor sugeridas que puedes aplicar para mitigar el ataque.

Comprende las firmas de los ataques

Una alerta de Protección adaptable incluye una firma de ataque, que es una descripción de los atributos de tráfico del posible ataque. Usa la firma para identificar y, potencialmente, bloquear el ataque. La firma tiene dos formas: como una tabla legible por el usuario y como una regla de WAF de Google Cloud Armor preconstruida que puedes implementar en la política de seguridad relevante. Si no estás suscrito a Google Cloud Armor Managed Protection Plus, no se incluye una firma de ataque en la alerta básica.

La firma consta de un conjunto de atributos, como la dirección IP de origen, las regiones geográficas, las cookies, los usuarios-agentes, las referencias y otros encabezados de solicitud HTTP, y el conjunto de valores de esos atributos que se cree que están asociados con el tráfico de ataque potencial. El usuario no puede configurar el conjunto de atributos. Los valores de los atributos dependen de los valores del tráfico entrante al servicio de backend.

Para cada valor de atributo que la Protección adaptable considera el posible ataque, la Protección adaptable indica lo siguiente:

  • La probabilidad de ataque
  • La proporción del atributo en el ataque, que es el porcentaje del tráfico potencial de ataques que tenía este valor en el momento en que se detectó el ataque
  • La proporción del atributo en el modelo de referencia, que es el porcentaje del tráfico de referencia que tuvo este valor de atributo en el momento en que se detectó el ataque

La especificación de entradas de Cloud Logging contiene detalles sobre la información en cada alerta.

A continuación, se muestra un ejemplo de una tabla legible por el usuario que contiene la firma de un posible ataque:

Nombre del atributo Valor Tipo de coincidencia Probabilidad de ataque Proporción en ataque Proporción en el modelo de referencia
UserAgent "foo" Concordancia exacta 0.7 0.85 0.12
UserAgent "bar" Concordancia exacta 0.6 0.7 0.4
IP de origen "a.b.c.d" Concordancia exacta 0.95 0.1 0.01
IP de origen a.b.c.e Concordancia exacta 0.95 0.1 0.01
IP de origen a.b.c.f Concordancia exacta 0.05 0.1 0.1
RegionCode Reino Unido Concordancia exacta 0.64 0.3 0.1
RegionCode IN Concordancia exacta 0.25 0.2 0.3
RequestUri /urlpart Substring 0.7 0.85 0.12

Una alerta de Protección adaptable y el registro de eventos de Cloud Logging correspondiente contienen lo siguiente:

  • Un ID de alerta único, o alertID, que se usa para hacer referencia a una alerta específica cuando informa comentarios de los usuarios (consulta más información a continuación)
  • El servicio de backend bajo ataque o backendService
  • La puntuación de confianza, o confidence, que es un número entre 0 y 1 que indica la intensidad con la que el sistema de Protección adaptable califica el evento detectado como un ataque malicioso

También recibirás un conjunto de firmas y reglas que caracterizan el ataque detectado. En particular, el conjunto proporciona una lista de headerSignatures, cada uno correspondiente a un encabezado HTTP y una lista de significantValues para el encabezado específico. Cada valor significativo es un valor de encabezado observado o una substring de él.

A continuación, se incluye un ejemplo de firma:

...
headerSignatures: [
  0: {
   name: "Referer"
   significantValues: [
    0: {
     attackLikelihood: 0.95
     matchType: "MATCH_TYPE_EQUALS"
     proportionInAttack: 0.6
     proportionInBaseline: 0.01
     value: "foo.attacker.com"
    }
   ]
  }
...

La alerta sugiere que el valor foo.attacker.com en el encabezado Referer es importante para caracterizar el ataque. Más específicamente, el 60% del tráfico de ataque (proportionInAttack) tiene este valor Referer y solo el 1% del tráfico de referencia entre todo el tráfico (proportionInBaseline) tiene el mismo valor Referer. Además, entre todo el tráfico que coincide con este valor de Referer, el 95% es tráfico de ataque (attackLikelihood).

Estos valores sugieren que si bloquearas todas las solicitudes con foo.attacker.com en el campo de encabezado Referer, bloquearías correctamente el 60% del ataque y el 1% del tráfico del modelo de referencia.

La propiedad matchType especifica la relación entre el atributo en el tráfico de ataque y el valor significativo. Puede ser MATCH_TYPE_CONTAINS o MATCH_TYPE_EQUALS.

La siguiente firma coincide con el tráfico con una substring /api? en el URI de solicitud:

...
headerSignatures: [
  0: {
   name: "RequestUri"
   significantValues: [
    0: {
     attackLikelihood: 0.95
     matchType: "MATCH_TYPE_CONTAINS"
     proportionInAttack: 0.9
     proportionInBaseline: 0.01
     value: "/api?"
    }
   ]
  }
...

Implementa las reglas sugeridas

Las alertas de Protección adaptable también proporcionan una regla sugerida de Google Cloud Armor que se expresa en el lenguaje de reglas personalizadas. Esta regla se puede usar para crear una regla en una política de seguridad de Google Cloud Armor a fin de mitigar el ataque. Además de la firma, la alerta incluye una tasa del tráfico de referencia afectado que te ayuda a evaluar el impacto de la implementación de la regla. La tasa del tráfico de referencia afectado es una proporción proyectada del tráfico de referencia que coincide con la firma del ataque identificada por la Protección adaptable. Si no estás suscrito a Google Cloud Armor Managed Protection Plus, las alertas básicas que envía la protección adaptable no incluyen una regla de Google Cloud Armor sugerida que puedas aplicar.

Puedes encontrar parte de la firma de la alerta, así como la tasa de referencia afectada en el mensaje de registro enviado a Cloud Logging. El siguiente ejemplo es la carga útil JSON de una alerta de muestra junto con las etiquetas de recursos en las que puedes filtrar los registros.

...
 jsonPayload: {
   alertId: "11275630857957031521"
   backendService: "test-service"
   confidence: 0.71828485
   headerSignatures: [

    0: {
     name: "RequestUri"
     significantValues: [
      0: {
       attackLikelihood: 0.88
       matchType: "MATCH_TYPE_EQUALS"
       proportionInAttack: 0.85
       proportionInBaseline: 0.01
       value: "/"
      }
     ]
    }
    1: {
     name: "RegionCode"
     significantValues: [
      0: {
       attackLikelihood: 0.08
       matchType: "MATCH_TYPE_EQUALS"
       proportionInAttack: 0.17
       proportionInBaseline: 0.28
       value: "US"
      }
      1: {
       attackLikelihood: 0.68
       matchType: "MATCH_TYPE_EQUALS"
       proportionInAttack: 0.09
       proportionInBaseline: 0.01
       value: "DE"
      }
      2: {
       attackLikelihood: 0.74
       matchType: "MATCH_TYPE_EQUALS"
       proportionInAttack: 0.05
       proportionInBaseline: 0
       value: "MD"
      }
     ]
    }
     2: {
     name: "UserAgent"
     significantValues: [
      0: {
       attackLikelihood: 0.92
       matchType: "MATCH_TYPE_EQUALS"
       proportionInAttack: 0.85
       proportionInBaseline: 0
       value: "Unusual browser"
      }
      1: {
       attackLikelihood: 0.87
       proportionInAttack: 0.7
       proportionInBaseline: 0.1
       missing: true
      }
     ]
    }
   ]
   suggestedRule: [
    0: {
     action: "DENY"
     evaluation: {
       impactedAttackProportion: 0.95
       impactedBaselineProportion: 0.001
       impactedBaselinePolicyProportion: 0.001
     }
     expression: "evaluateAdaptiveProtection('11275630857957031521')"
    }
   ]
   ruleStatus: RULE_GENERATED
   attackSize: 5000
 }
 resource: {
    type: "network_security_policy",
    labels: {
      project_id: "your-project",
      policy_name: "your-security-policy-name"
    }
 },
}
}
...

Para implementar reglas sugeridas, copia la expresión CEL de la firma de la regla y pega la expresión en la condición de coincidencia de una regla recién creada, o haz clic en el botón Aplicar en el panel de protección adaptable en la IU de Google Cloud Armor.

Para implementar la regla, crea una regla nueva en la política de seguridad de Google Cloud Armor que protege los servicios de backend orientados que identifica la alerta. A continuación, durante la configuración de la regla, copia y pega la expresión CEL de la alerta en el campo Condición de coincidencia de la regla y establece la acción de la regla en deny. En el ejemplo anterior, debes copiar la expresión evaluateAdaptiveProtection('11275630857957031521') de la sección suggestedRule de la alerta.

Te recomendamos que primero implementes la regla en modo de vista previa para que puedas evaluar el impacto de la regla en el tráfico de producción. Cuando haces esto, Google Cloud Armor registra la acción y el tráfico asociado cada vez que se activa la regla, pero no se realiza ninguna acción en el tráfico coincidente.

Además, si tu política de seguridad se conecta a varios servicios de backend, ten en cuenta si la regla nueva tiene efectos no deseados en cualquiera de los servicios de backend. Si esto sucede, configura nuevas políticas de seguridad para mitigar los efectos no deseados y adjúntalos a los servicios de backend correctos.

Implementa una regla de Protección adaptable sugerida
Implementar una regla de protección adaptable sugerida (haz clic para ampliar)

Te recomendamos establecer una prioridad para la regla nueva más alta que cualquier regla que tenga el conjunto de acciones permitido. Esto se debe a que, para tener el impacto proyectado y tener un efecto máximo en la mitigación del ataque, la regla debe implementarse en la posición de prioridad lógica más alta para garantizar que la regla bloquee todo el tráfico coincidente. Las reglas en una política de seguridad de Google Cloud Armor se evalúan en orden de prioridad, y la finalización de la evaluación se realiza después de que se activa la primera regla coincidente y se realiza la acción asociada. Si necesitas otorgar una excepción para algo de tráfico o clientes específicos de esta regla, se puede crear una regla de “permitir” con prioridad más alta, es decir, con un valor numérico más bajo. Para obtener más información sobre la prioridad de las reglas, consulta Orden de evaluación de reglas.

Implementa automáticamente las reglas sugeridas

También puedes configurar la protección adaptable para implementar reglas sugeridas de forma automática. Para habilitar la implementación automática de reglas, crea una regla de marcador de posición con la elección de prioridad y acción mediante la expresión evaluateAdaptiveProtectionAutoDeploy() en la condición de coincidencia. Esta regla se evalúa como true para las solicitudes que la Protección adaptable identifica como tráfico de ataque, y Google Cloud Armor aplica la acción a la solicitud atacante.

Si usas un proxy ascendente frente a tu balanceador de cargas HTTP(S) externo, como una CDN de terceros, te recomendamos que no configures la implementación automática de reglas debido al riesgo de bloquear de forma involuntaria el tráfico desde el proxy ascendente.

Para obtener más información sobre cómo configurar la implementación automática de reglas, consulta Implementa reglas sugeridas de protección adaptable.

Estado de la regla

Si no se presenta ninguna regla cuando intentas implementar una regla sugerida, puedes usar el campo ruleStatus para determinar la causa.

 ]
ruleStatus: RULE_GENERATED
attackSize: 5000
}

En la siguiente tabla, se describen los valores posibles del campo y lo que significan.

Estado de la regla Descripción
RULE_GENERATED Una regla utilizable se generó normalmente.
BASELINE_TOO_RECENT No tienes tiempo suficiente para acumular tráfico de referencia confiable. Se necesita hasta una hora para generar reglas.
NO_SIGNIFICANT_VALUE_DETECTED Ningún encabezado tiene valores significativos asociados con el tráfico de ataque, por lo que no se pudo generar ninguna regla.
NO_USABLE_RULE_FOUND No se pudo crear ninguna regla utilizable.
ERROR Se produjo un error no especificado cuando se creó la regla.

Supervisión, comentarios y errores de los eventos

Necesitas los siguientes permisos para ver el panel de Protección adaptable o interactuar con dicho panel.

  • compute.securityPolicies.list
  • compute.backendServices.list
  • logging.logEntries.list

Después de habilitar la Protección adaptable en cualquier política de seguridad de Google Cloud Armor, puedes ver la siguiente página en el panel Seguridad de red (Network Security) > Google Cloud Armor. Muestra el volumen de tráfico a lo largo del tiempo para la política de seguridad y el servicio de backend seleccionados, y la duración seleccionada. Cualquier instancia de posibles ataques alertados por la Protección adaptable se anota en el grafo y se encuentra debajo del grafo. Cuando haces clic en un evento de ataque específico, se muestra una ventana lateral con la firma de ataque y la regla sugerida en formato tabular. Esta es la misma información que está en las entradas de registro de Cloud Logging que se describen en la especificación de la entrada de Cloud Logging. Haz clic en el botón Aplicar para agregar la regla sugerida a la misma política de seguridad.

Panel de Protección adaptable
Panel de Protección adaptable (haz clic para ampliar)
Detalles de la alerta de la Protección adaptable
Panel de Protección adaptable (haz clic para ampliar)

No todos los resultados de la Protección adaptable se consideran un ataque, dado el contexto único y los factores del entorno del servicio de backend protegido. Si determinas que el posible ataque descrito por la alerta es normal o aceptado, puedes informar un error de evento para ayudar a entrenar los modelos de la Protección adaptable. Junto a cada evento de ataque que se indica en el grafo, hay un botón que aparece en una ventana interactiva que te permite informar un error de evento con un contexto opcional. Informar un error de evento ayuda a reducir la probabilidad de que se produzcan errores similares en el futuro. Con el tiempo, esto aumenta la exactitud de la Protección adaptable.

Supervisión, alertas y registros

La telemetría de Protección adaptable se envía a Cloud Logging y también a Security Command Center. El mensaje de registro de Protección adaptable que se envía a Cloud Logging se describe en las secciones anteriores de este documento. Una entrada de registro se genera cada vez que la Protección adaptable detecta un posible ataque y cada entrada contiene una puntuación de confianza que describe qué tan seguro están los modelos de que el tráfico observado es anómalo. Para ajustar las alertas, se puede configurar una política de alertas en Cloud Logging a fin de que active una alerta solo cuando un mensaje de registro de Protección adaptable tenga una puntuación de confianza superior al límite especificado por el usuario. Recomendamos que comiences con un umbral bajo, con una confianza mayor que 0.5, para evitar que falten advertencias sobre posibles ataques. El umbral de confianza en la política de alertas puede aumentar con el tiempo si las alertas tienen una tasa de referencia afectada que no es aceptable.

El panel de Security Command Center también contiene resultados de la Protección adaptable. Se encuentran en la tarjeta de Google Cloud Armor, en la categoría Ataques de DSD de la aplicación. Cada resultado incluye los detalles del servicio, la confianza de los ataques, la firma asociada con el ataque y un vínculo a la alerta específica en el panel de Protección adaptable.

Especificación de la entrada de Cloud Logging

La alerta de Protección adaptable que se envía a Cloud Logging consta de una entrada de registro que contiene los siguientes elementos:

  • Confianza de la alerta: la confianza de Protección adaptable de que el evento observado es un ataque.
  • Implementado automáticamente: Booleano que representa si se activó una defensa automática.
  • Firma de ataque
    • Nombre del atributo: El nombre del atributo que coincide con el Value a continuación, como un nombre de encabezado de solicitud en particular o un origen geográfico.
    • Valor: El valor con el que coincide el atributo en el tráfico malicioso.
    • Tipo de coincidencia: La relación entre Value y el atributo en el tráfico de ataque. El valor es igual a un atributo en el tráfico de ataque o una substring de él.
    • Probabilidad de ataque: La probabilidad de que una solicitud determinada sea maliciosa, siempre que el atributo relevante de esta solicitud coincida con Value.
    • Proporción en el ataque: El porcentaje de tráfico de ataque potencial que coincide con Value.
    • Proporción en referencia: El porcentaje de tráfico normal de referencia que coincide con Value.
  • Regla sugerida
    • Condición de coincidencia: la expresión que se usa en la condición de coincidencia de las reglas para identificar el tráfico malicioso.
    • Tasa de referencia afectada: El porcentaje proyectado de tráfico bueno al servicio de backend específico que está bajo ataque, que se captura con la regla sugerida.
    • Política de la tasa de referencia afectada: El porcentaje proyectado de tráfico bueno a todos los servicios de backend en la misma política de seguridad que se captura con la regla sugerida.
    • Tasa de ataque afectada: El porcentaje proyectado de tráfico de ataque que se captura con la regla sugerida.
  • Estado de la regla: Detalles adicionales sobre la generación de reglas.

Descripción general y privacidad del aprendizaje automático

  • Datos de entrenamiento y detección
    • La Protección adaptable compila varios modelos para detectar posibles ataques y, además, identificar sus firmas. Las señales que usan estos modelos para determinar si un ataque está en curso se derivan de los metadatos observados del tráfico de solicitudes entrantes de tus proyectos. Estos metadatos incluyen la dirección IP de origen, la geografía de la fuente y los valores de algunos encabezados de solicitud HTTP.
    • Los atributos reales que usan los modelos son propiedades estadísticas derivadas de los indicadores mencionados con anterioridad. Es decir, los datos de entrenamiento de los modelos no incluyen los valores reales de los metadatos, como las direcciones IP o los valores de encabezado de solicitud.
    • Un conjunto común de modelos de detección, entrenado solo con datos artificiales, se comparte entre todos los clientes para determinar si se está realizando un ataque, cuando se habilita por primera vez la Protección adaptable. Una vez que informas cualquier evento de ataque falso y los modelos se actualizan con señales de tráfico específicas de tus proyectos, estos modelos son locales para tus proyectos y no se usan para ningún otro cliente.
  • Datos de generación de firma
    • Después de que la Protección adaptable determina que existe un posible ataque, se genera una firma de ataque que es efectiva, lo que ayuda a que el objetivo mitigue el ataque rápidamente. Para lograr lo anterior, después de habilitar la Protección adaptable en una política de seguridad, las métricas de tráfico y los metadatos de las solicitudes a un servicio de backend (asociado con la política de seguridad) se registran de forma continua para aprender características de tráfico de referencia.
    • Dado que la protección adaptable necesita aprender sobre el tráfico del modelo de referencia, la protección adaptable puede tardar hasta una hora antes de generar reglas para mitigar posibles ataques.

¿Qué sigue?