Análisis del contenido del cuerpo de POST

Esta página contiene información sobre la configuración del análisis del contenido del cuerpo de POST, una función opcional que puedes usar con tus políticas de seguridad de Google Cloud Armor.

De forma predeterminada, Google Cloud Armor evalúa el contenido completo de un cuerpo de POST como una string uniforme (sujeta a las limitaciones de tamaño del cuerpo) en comparación con las firmas en las reglas de WAF preconfiguradas. Para las solicitudes que contienen una codificación alternativa, como JSON, los componentes estructurales del mensaje (no especificados por el usuario) podrían activar coincidencias con las firmas de WAF preconfiguradas. A fin de evitar el ruido y reducir el riesgo de falsos positivos, te recomendamos que configures Google Cloud Armor para habilitar el análisis alternativo de cualquier tipo de contenido compatible si tus cargas de trabajo protegidas hacen lo siguiente:

  • Entrega APIs de REST
  • Usa GraphQL
  • Recibe las solicitudes con contenido codificado en JSON.

Puedes habilitar o inhabilitar el análisis del contenido del cuerpo JSON de las solicitudes POST para cada política de seguridad. Cuando el encabezado Content-Type se configure como application/json, usa la marca --json-parsing en Google Cloud CLI.

De forma predeterminada, esta opción está inhabilitada. La sintaxis de la marca es la siguiente:

--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]

La marca solo está disponible con gcloud compute security-policies update. No puedes crear una política de seguridad nueva con esta opción, a menos que crees una política de seguridad en un archivo y, luego, importes ese archivo. Para obtener más información, consulta Importa políticas de seguridad.

Usa el análisis de JSON

En el siguiente ejemplo, se configura una lista de valores de encabezado Content-Type personalizados para los que se aplica análisis alternativo. En el ejemplo, se actualiza la política de seguridad POLICY_NAME para habilitar el análisis de JSON y se especifican los tipos de contenido application/json, application/vnd.api+json, application/vnd.collection+json y application/vnd.hyper+json:

gcloud compute security-policies update POLICY_NAME \
    --json-parsing STANDARD \
    --json-custom-content-types "application/json,application/vnd.api+json,application/vnd.collection+json,application/vnd.hyper+json"

Usa el análisis de GraphQL

Para configurar el análisis de GraphQL, actualiza tu política de seguridad para establecer la marca --json-parsing en STANDARD_WITH_GRAPHQL, como en el siguiente ejemplo:

gcloud compute security-policies update POLICY_NAME \
    --json-parsing STANDARD_WITH_GRAPHQL

Logging

Cada solicitud HTTP(S) que se evalúa en función de una política de seguridad de Google Cloud Armor se registra a través de Cloud Logging. Los registros proporcionan detalles, como el nombre de la política de seguridad aplicada, la regla coincidente y si la regla se aplicó. El registro de solicitudes para recursos de servicio de backend nuevos está inhabilitado de forma predeterminada. Para asegurarte de que se registren las solicitudes de Google Cloud Armor, debes habilitar el registro de HTTP(S) para cada servicio de backend protegido por una política de seguridad. Para obtener más información, consulta Registro y supervisión del balanceador de cargas de aplicaciones externo global.

Limitaciones

Ten en cuenta las siguientes limitaciones cuando configures el análisis de JSON:

  • La inspección del cuerpo de POST se limita a los primeros 8 KB. Si el contenido JSON supera los 8 KB, Google Cloud Armor aplica el análisis de JSON a los primeros 8 KB de contenido utilizado inspeccionado por cualquier regla de WAF preconfigurada.
  • Si el analizador de JSON no muestra ningún resultado, se puede intentar el análisis de URI. Si el analizador de URI no muestra parámetros de nombre-valor o muestra solo parámetros nombre-valor parciales, la string completa o parcial podría tratarse como el nombre de parámetro para la inspección.

¿Qué sigue?