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, un una función opcional que puedes usar con tu seguridad de Google Cloud Armor y políticas de seguridad.

De forma predeterminada, Google Cloud Armor evalúa el contenido completo de un cuerpo de POST como un string uniforme (sujeta a las limitaciones de tamaño del cuerpo) según las firmas en tus reglas de WAF preconfiguradas. Para solicitudes que contener codificación alternativa, como JSON, componentes estructurales del mensaje (no especificado por el usuario) podrían activar coincidencias con el WAF preconfigurado las firmas. Para evitar el ruido y reducir el riesgo de falsos positivos, 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
  • Cómo usar GraphQL
  • Recibe cualquier solicitud 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 encabezados Content-Type personalizados valores para los que se aplica un análisis alternativo. El ejemplo actualiza la política de seguridad POLICY_NAME para habilitar el análisis de JSON y especifica la 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"

Cómo usar el análisis de GraphQL

Para configurar el análisis de GraphQL, actualiza la política de seguridad para establecer 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 de manera forzosa. 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 archivo JSON supera los 8 KB, se aplicará Google Cloud Armor JSON analizando los primeros 8 KB de contenido usado que es inspeccionado por cualquier reglas de WAF preconfiguradas.
  • 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?