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 POSTaté 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.