Esta página contém informações sobre a configuração da análise do conteúdo do corpo POST, uma funcionalidade opcional que pode usar com as suas políticas de segurança do Cloud Armor.
Por predefinição, o 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 suas regras de WAF pré-configuradas. Para pedidos que contenham uma codificação alternativa, como JSON, os componentes estruturais da mensagem (não especificados pelo utilizador) podem acionar correspondências com as assinaturas da WAF pré-configuradas. Para evitar ruído e reduzir o risco de falsos positivos, recomendamos que configure o Cloud Armor para ativar a análise alternativa para qualquer tipo de conteúdo suportado se as suas cargas de trabalho protegidas fizerem o seguinte:
- Apresente APIs REST
- Use o GraphQL
- Receber pedidos com conteúdo codificado em JSON.
Pode ativar ou desativar a análise do conteúdo do corpo JSON dos pedidos POST para cada política de segurança. Quando o cabeçalho Content-Type
estiver definido como application/json
, use a flag --json-parsing
na Google Cloud CLI.
Por predefinição, esta opção está desativada. A sintaxe do sinalizador é a seguinte:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
A flag só está disponível com o gcloud compute security-policies update
. Não pode criar uma nova política de segurança com esta opção, a menos que crie uma política de segurança num ficheiro e, em seguida, importe esse ficheiro. Para mais informações, consulte o artigo
Importe políticas de segurança.
Use a análise de JSON
No exemplo seguinte, configura uma lista de valores de cabeçalho Content-Type
personalizados para os quais é aplicada a análise alternativa. O exemplo atualiza a
política de segurança POLICY_NAME
para ativar a análise de 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"
Use a análise GraphQL
Para configurar a análise GraphQL, atualize a sua política de segurança para definir a flag --json-parsing
como STANDARD_WITH_GRAPHQL
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD_WITH_GRAPHQL
Registo
Cada pedido HTTP(S) que é avaliado em função de uma política de segurança do Cloud Armor é registado através do Cloud Logging. Os registos fornecem detalhes, como o nome da política de segurança aplicada, a regra correspondente e se a regra foi aplicada. Por predefinição, o registo de pedidos para novos recursos de serviços de back-end está desativado. Para registar pedidos do Cloud Armor, tem de ativar a definição de registo HTTP(S) para cada serviço de back-end protegido por uma política de segurança. Para mais informações, consulte o artigo Registo e monitorização do Application Load Balancer externo regional.
Limitações
Considere as seguintes limitações ao configurar a análise JSON:
Por predefinição, o Cloud Armor inspeciona o corpo até aos primeiros 8 kB.
HTTP POST
Pode configurar este limite para 8 kB, 16 kB, 32 kB, 48 kB ou 64 kB. Se o conteúdo JSON for superior ao limite de inspeção configurado, o Cloud Armor aplica a análise JSON até este limite, que é então inspecionado por qualquer uma das regras de WAF pré-configuradas.Para mais informações sobre a configuração do limite de inspeção para o corpo do pedido quando usar regras de WAF pré-configuradas, consulte o artigo Limitação da inspeção do corpo de POST e PATCH.
Se o analisador JSON não devolver nenhum resultado, pode ser tentada a análise de URI. Se o analisador de URI não devolver parâmetros de nome/valor ou devolver apenas parâmetros de nome/valor parciais, a string completa ou parcial pode ser tratada como o nome do parâmetro para a inspeção.