Usar el almacenamiento de registros de solicitudes

Los registros por solicitud de Google Cloud Armor incluyen el nombre de la política de seguridad, la prioridad de la regla de coincidencia, la acción asociada y la información relacionada. Se registran como parte del registro de los balanceadores de carga de aplicaciones externos y los balanceadores de carga de red de proxy externos. El registro de los nuevos servicios backend está inhabilitado de forma predeterminada, por lo que debes habilitarlo para registrar la información de registro completa de Cloud Armor.

Los registros de Cloud Armor forman parte de los registros de Cloud Load Balancing. Esto significa que la generación de registros de Cloud Armor está sujeta a la tasa de muestreo de registros configurada en tu balanceador de carga. Si reduces la frecuencia de muestreo de tu balanceador de carga, los registros de solicitudes de Cloud Armor se muestrearán a esa frecuencia reducida. Además, si usas referencias de servicio entre proyectos, los registros se generan en el proyecto de host o de servicio que incluye el frontend y el mapa de URLs de tu balanceador de carga. Por lo tanto, recomendamos que los administradores del proyecto frontend concedan permisos para leer registros y métricas a los administradores del proyecto backend.

Con el registro, puedes ver todas las solicitudes evaluadas por una política de seguridad de Cloud Armor y el resultado o la acción realizada en función de la regla coincidente de mayor prioridad. Por ejemplo, para ver las solicitudes denegadas, puedes usar filtros como jsonPayload.enforcedSecurityPolicy.outcome="DENY" o jsonPayload.statusDetails="denied_by_security_policy".

Para habilitar el registro de un balanceador de carga de aplicación externo, consulta la sección Registro de la página Registro y monitorización de balanceadores de carga de aplicación externos globales. En el caso del balanceador de carga de red de proxy externo, puedes usar los comandos de la CLI de Google Cloud que se indican en la página anterior Registro y monitorización del balanceador de carga de aplicaciones externo. No puedes habilitar el registro del balanceador de carga de red del proxy externo mediante la consola Google Cloud .

Además, puede definir diferentes niveles de registro para evaluar si sus políticas de seguridad y sus reglas funcionan según lo previsto. Para obtener información completa, consulta Registro detallado.

Entradas de registro de la política de seguridad

Las siguientes entradas de registro del explorador de registros corresponden al registro de políticas y reglas de seguridad de Cloud Armor. Las entradas tienen la siguiente estructura en jsonPayload. Los detalles de la solicitud HTTP aparecen en el mensaje httpRequest.

  • statusDetails: una descripción textual del código de respuesta.
    • redirected_by_security_policy: la solicitud se ha redirigido mediante una regla de redirección, ya sea GOOGLE_RECAPTCHA o EXTERNAL_302.
    • denied_by_security_policy: el balanceador de carga ha denegado una solicitud debido a una política de seguridad de Cloud Armor.
    • body_denied_by_security_policy: el balanceador de carga ha denegado el cuerpo de una solicitud debido a una política de seguridad de Cloud Armor.
  • enforcedSecurityPolicy: la regla de la política de seguridad que se ha aplicado.
    • name: el nombre de la política de seguridad.
    • priority: prioridad numérica de la regla coincidente en la política de seguridad.
    • adaptiveProtection: información sobre la regla de protección adaptativa implementada automáticamente, si procede.
      • autoDeployAlertId: el ID de alerta de los eventos que ha detectado Adaptive Protection.
    • configuredAction: el nombre de la acción configurada en la regla coincidente (por ejemplo, ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE [en el caso de una regla de limitación] o RATE_BASED_BAN [en el caso de una regla de suspensión basada en la frecuencia]).
    • rateLimitAction: información sobre la acción de limitación de frecuencia cuando se cumple una regla de limitación o una regla de prohibición basada en la frecuencia.
      • key: valor de la clave de límite de frecuencia (hasta 36 bytes). Este campo se omite si el tipo de clave es ALL o si el tipo de clave es HTTP-HEADER o HTTP-COOKIE y el encabezado o la cookie especificados no están presentes en la solicitud.
      • outcome: los valores posibles son los siguientes:
        • "RATE_LIMIT_THRESHOLD_CONFORM" si está por debajo del umbral del límite de frecuencia configurado.
        • "RATE_LIMIT_THRESHOLD_EXCEED" si supera el umbral del límite de frecuencia configurado.
        • "BAN_THRESHOLD_EXCEED" si supera el umbral de prohibición configurado.
    • outcome: el resultado de ejecutar la acción configurada (por ejemplo, ACCEPT, DENY, REDIRECT o EXEMPT).
    • preconfiguredExprIds: los IDs de todas las expresiones de reglas de WAF preconfiguradas que han activado la regla.
    • threatIntelligence: información sobre las listas de direcciones IP coincidentes de Google Threat Intelligence, si procede.
      • categories: los nombres de las listas de direcciones IP coincidentes.
    • addressGroup: información sobre los grupos de direcciones coincidentes, si procede.
      • names: los nombres de los grupos de direcciones coincidentes.
  • previewSecurityPolicy: se rellena si una solicitud coincide con una regla configurada para la vista previa (solo se presenta cuando una regla de vista previa habría tenido prioridad sobre la regla aplicada).
    • name: el nombre de la política de seguridad
    • priority: prioridad numérica de la regla coincidente en la política de seguridad.
    • configuredAction: el nombre de la acción configurada en la regla coincidente (por ejemplo, ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE [en el caso de una regla de limitación] o RATE_BASED_BAN [en el caso de una regla de suspensión basada en la frecuencia]).
    • rateLimitAction: información sobre la acción de limitación de frecuencia cuando se cumple una regla de limitación o una regla de prohibición basada en la frecuencia.
      • key: valor de la clave de límite de frecuencia (hasta 36 bytes). Este campo se omite si el tipo de clave es ALL o si el tipo de clave es HTTP-HEADER o HTTP-COOKIE y el encabezado o la cookie especificados no están presentes en la solicitud.
      • outcome: los valores posibles son los siguientes:
        • "RATE_LIMIT_THRESHOLD_CONFORM" si está por debajo del umbral del límite de frecuencia configurado.
        • "RATE_LIMIT_THRESHOLD_EXCEED" si supera el umbral del límite de frecuencia configurado.
        • "BAN_THRESHOLD_EXCEED" si supera el umbral de prohibición configurado.
    • outcome: el resultado de ejecutar la acción configurada (por ejemplo, ACCEPT, DENY, REDIRECT o EXEMPT).
    • preconfiguredExprIds: los IDs de todas las expresiones de reglas de WAF preconfiguradas que han activado la regla.
    • threatIntelligence: información sobre las listas de direcciones IP coincidentes de Inteligencia frente a amenazas, si procede.
      • categories: los nombres de las listas de direcciones IP coincidentes.
    • addressGroup: información sobre los grupos de direcciones coincidentes, si procede.
      • names: los nombres de los grupos de direcciones coincidentes.
  • enforcedEdgeSecurityPolicy: la regla de la política de seguridad de Edge que se ha aplicado.
    • name: el nombre de la política de seguridad.
    • priority: la prioridad de la regla coincidente en la política de seguridad.
    • configuredAction: el nombre de la acción configurada en la regla coincidente (por ejemplo, ALLOW o DENY).
    • outcome: el resultado de ejecutar la acción configurada (por ejemplo, ACCEPT o DENY).
  • previewEdgeSecurityPolicy: se rellena si una solicitud coincide con una regla de política de seguridad perimetral configurada para la vista previa. La entrada de registro previewEdgeSecurityPolicy solo aparece cuando una regla de vista previa tiene prioridad sobre la regla aplicada.
    • name: el nombre de la política de seguridad.
    • priority: prioridad numérica de la regla coincidente en la política de seguridad.
    • configuredAction: el nombre de la acción configurada en la regla coincidente (por ejemplo, ALLOW o DENY).
    • outcome: el resultado de ejecutar la acción configurada (por ejemplo, ACCEPT o DENY).

Ver registros

Solo puede ver los registros de una política de seguridad de Cloud Armor en la consola.Google Cloud

Consola

  1. En la Google Cloud consola, ve a Políticas de Cloud Armor.

    Ir a las políticas de Cloud Armor

  2. Haz clic en Acciones.

  3. Selecciona Ver registros.

Solicitar el registro de datos

Cuando se usa con Cloud Armor, jsonPayload tiene el siguiente campo adicional:

  • securityPolicyRequestData: datos relativos a la solicitud mientras se procesa mediante una política de seguridad, independientemente de la regla que se cumpla finalmente.
    • recaptchaActionToken: datos relacionados con un token de acción de reCAPTCHA.
      • score: una puntuación de legitimidad del usuario insertada en un token de acción de reCAPTCHA. Solo se presenta cuando se adjunta un token de acción de reCAPTCHA a la solicitud y se decodifica correctamente según una regla de política de seguridad. Para obtener más información, consulta Aplicar la evaluación de reCAPTCHA.
    • recaptchaSessionToken: datos relacionados con un token de sesión de reCAPTCHA.
      • score: una puntuación de legitimidad del usuario insertada en un token de sesión de reCAPTCHA. Solo se incluye cuando se adjunta un token de sesión de reCAPTCHA a la solicitud y se decodifica correctamente según una regla de política de seguridad.
    • tlsJa4Fingerprint: una huella digital TTL/SSL de JA4 si el cliente se conecta mediante HTTPS, HTTP/2 o HTTP/3. Solo se incluye si la huella digital está disponible y hay una política de seguridad que evalúa la solicitud (independientemente de si una expresión de la política coincide con la solicitud).
    • tlsJa3Fingerprint: una huella digital JA3 TTL/SSL si el cliente se conecta mediante HTTPS, HTTP/2 o HTTP/3. Solo se incluye si la huella digital está disponible y hay una política de seguridad que evalúa la solicitud (independientemente de si una expresión de la política coincide con la solicitud).

Ejemplos de registros

A continuación, se muestra un ejemplo de los detalles de registro de una regla de limitación que bloquea una solicitud:

jsonPayload: {
 enforcedSecurityPolicy: {
  priority: 100
  name: "sample-prod-policy"
  configuredAction: "THROTTLE"
  outcome: "DENY"
  rateLimitAction: {
    key:"sample-key"
    outcome:"RATE_LIMIT_THRESHOLD_EXCEED"
  }
 }
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:16:48.185763Z"

A continuación, se muestra un ejemplo de los detalles de registro de una regla de prohibición basada en la frecuencia que bloquea una solicitud:

jsonPayload: {
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 enforcedSecurityPolicy: {
  priority: 150
  name: "sample-prod-policy"
  outcome: "DENY"
  configuredAction: "RATE_BASED_BAN"
  rateLimitAction: {
    key:"sample-key"
    outcome:"BAN_THRESHOLD_EXCEED"
  }
 }
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:27:17.393244Z"

Siguientes pasos