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 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 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) poderiam acionar correspondências com as assinaturas WAF predefinidas. 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 abaixo, você configura uma lista de valores de cabeçalho Content-Type
personalizados aos quais a análise alternativa é aplicada. 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 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
, 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 de WAF refeita.
- 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
- Configurar políticas de segurança do Google Cloud Armor
- Saiba mais sobre a geração de registros de solicitações.