Análise do conteúdo do corpo da solicitação

Esta página contém informações sobre como configurar a análise de conteúdo do corpo da solicitação, um recurso opcional que pode ser usado com as políticas de segurança do Cloud Armor.

Por padrão, o Cloud Armor avalia o conteúdo completo do corpo de uma solicitação como uma string uniforme (sujeita a limitações de tamanho de corpo) em relação às assinaturas nas regras de WAF pré-configuradas. Para solicitações que contêm codificação alternativa, como JSON, os componentes estruturais da mensagem (não especificados pelo usuário) poderiam acionar correspondências com as assinaturas WAF pré-configuradas. Para evitar ruídos e reduzir o risco de falsos positivos, recomendamos que você configure o Cloud Armor para ativar a análise alternativa de qualquer tipo de conteúdo compatível se as cargas de trabalho protegidas fizerem o seguinte:

  • Exibirem APIs REST
  • Usarem o GraphQL
  • Receberem solicitações com conteúdo codificado em JSON

Para cada política de segurança, é possível ativar ou desativar a análise JSON para corpos de solicitação. Quando o cabeçalho Content-Type estiver definido como application/json, use a sinalização --json-parsing na CLI do Google Cloud.

Por padrão, esta opção está desativada. A sintaxe da flag é a seguinte:

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

A flag está disponível apenas com gcloud compute security-policies update. Não é possível criar uma política de segurança com essa opção, a menos que você a crie em um arquivo e importe esse arquivo. Para mais informações, consulte Importar políticas de segurança.

Usar análise JSON

No exemplo a seguir, você configura uma lista de valores de cabeçalho Content-Type personalizados aos quais a análise alternativa se aplica. O exemplo atualiza a política de segurança POLICY_NAME para ativar a análise JSON e especifica os tipos de conteúdo application/json, application/vnd.api+json, application/vnd.collection+json e 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"

Usar a análise do GraphQL

Para configurar a análise do GraphQL, atualize a política de segurança e defina a flag --json-parsing como STANDARD_WITH_GRAPHQL:

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

Logging

Cada solicitação HTTP(S) avaliada em relação a uma política de segurança do Cloud Armor é registrada pelo Cloud Logging. Os registros fornecem detalhes como o nome da política de segurança aplicada, a regra de correspondência e se a regra foi aplicada. O registro de solicitações para novos recursos de serviço de back-end é desativado por padrão. Para registrar solicitações do Cloud Armor, ative a configuração de geração de registros HTTP(S) para cada serviço de back-end protegido por uma política de segurança. Para mais informações, consulte Geração de registros e monitoramento do balanceador de carga de aplicativo externo global.

Limitações

Considere as seguintes limitações ao configurar a análise de JSON:

  • Por padrão, o Cloud Armor inspeciona o corpo de HTTP POST até os primeiros 8 kB. É possível configurar esse limite como 8 kB, 16 kB, 32 kB, 48 kB ou 64 kB. Se o conteúdo JSON for maior que o limite de inspeção configurado, o Cloud Armor aplicará a análise JSON até esse limite, que será inspecionado por qualquer uma das regras de WAF pré-configuradas.

    Para mais informações sobre como configurar o limite de inspeção para o corpo da solicitação ao usar regras de WAF pré-configuradas, consulte Limitação de inspeção do corpo de POST e PATCH.

  • Se o analisador JSON não retornar um resultado, poderá ser feita uma análise de URI. Se o analisador de URI não retornar nenhum parâmetro de nome-valor ou apenas parâmetros parciais de nome-valor, a string inteira ou parcial vai poder ser tratada como o nome do parâmetro para a inspeção.

A seguir