Esta página contém informações sobre como configurar a análise do conteúdo do corpo do POST, 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 de um corpo POST como uma string uniforme (sujeita a limitações de tamanho de corpo) em relação às assinaturas nas regras WAF predefinidas. 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 WAF predefinidas. 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:
- 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 flag é 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
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 regional.
Limitações
Considere as seguintes limitações ao configurar a análise de JSON:
Por padrão, o Cloud Armor inspeciona o corpo
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 vai aplicar a análise JSON até esse limite, que será inspecionado por qualquer uma das regras de WAF predefinidas.Para mais informações sobre como configurar o limite de inspeção para o corpo da solicitação ao usar regras WAF pré-configuradas, consulte Limitação de inspeção do corpo 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.