Análise do conteúdo do corpo POST

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

Por padrão, o Google Cloud Armor avalia o conteúdo completo de um corpo POST como uma string uniforme (sujeita a limitações de tamanho do corpo) em relação às assinaturas nas regras do 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) podem acionar correspondências com as assinaturas do WAF pré-configuradas. Para evitar ruídos e reduzir o risco de falsos positivos, recomendamos que você configure o Google Cloud Armor para ativar a análise alternativa de qualquer Content-Type compatível se as cargas de trabalho protegidas fizerem o seguinte:

  • Exibir APIs REST
  • Usar o GraphQL
  • Receber solicitações com conteúdo codificado em JSON.

É possível ativar ou desativar a análise do conteúdo do corpo JSON das solicitações POST para cada política de segurança. Quando o cabeçalho Content-Type estiver definido como application/json, use a sinalização --json-parsing na Google Cloud CLI.

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

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

A sinalização está disponível apenas com gcloud compute security-policies update. Não é possível criar uma nova política de segurança com essa opção, a menos que você crie uma política de segurança em um arquivo e importe esse arquivo. Para mais informações, consulte Como 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 para a aplicação de uma análise alternativa. 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 análise de GraphQL

Para configurar a análise do GraphQL, atualize sua política de segurança para definir a flag --json-parsing como STANDARD_WITH_GRAPHQL, como no exemplo abaixo:

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

Geração de registros

Cada solicitação HTTP(S) avaliada em relação a uma política de segurança do Google 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 garantir que as solicitações do Google Cloud Armor sejam registradas, ative a 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 JSON:

  • A inspeção do corpo POST ainda está limitada aos primeiros 8 KB. Se o conteúdo JSON for maior que 8 KB, o Google Cloud Armor vai aplicar a análise JSON aos primeiros 8 KB de conteúdo usado que é inspecionado por qualquer regra WAF pré-configurada.
  • 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