Ir para o conteúdo

Como faço para lidar com solicitações HTTP de grandes dimensões no AWS WAF?

5 minuto de leitura
0

Quero gerenciar os limites de tamanho ao inspecionar o corpo da solicitação web no AWS WAF.

Breve descrição

Quando um corpo da solicitação web excede o limite de tamanho da inspeção corporal, o serviço de host subjacente encaminha somente conteúdos que estão dentro do limite para o AWS WAF. O AWS WAF não detecta ataques cross-site scripting (XSS) ou padrões de injeção de SQL no corpo da solicitação da web além do limite.

Observação: o AWS WAF não registra o conteúdo do corpo da solicitação web, independentemente de encontrar ou não um padrão de ataque dentro do limite de tamanho da inspeção corporal.

Para se proteger contra padrões de ataque que não aparecem dentro do limite de tamanho da inspeção corporal para solicitações grandes, configure uma regra que bloqueie todas as solicitações grandes. Em seguida, crie uma regra que permita explicitamente solicitações legítimas de grandes dimensões. É possível criar uma regra personalizada ou usar o grupo de regras gerenciado do conjunto de regras principais (CRS).

Resolução

Use uma regra gerenciada pelo CRS

Para usar o grupo de regras gerenciadas do CRS, ative a regra SizeRestrictions_Body para bloquear solicitações que excedam 8 KB (8.192 bytes). Em seguida, crie uma regra que permita solicitações legítimas que excedam o limite de tamanho.

Ative a regra SizeRestrictions_Body

Conclua as etapas a seguir:

  1. Abra o console do AWS WAF.
  2. No painel de navegação, em AWS WAF, escolha ACLs Web.
  3. Em Região, escolha a região da AWS em que você criou sua lista de controle de acesso à web (ACL da web).
    Observação: se você configurar sua ACL da Web para o Amazon CloudFront, selecione Global.
  4. Selecione sua ACL da web.
  5. Em Regras, escolha Adicionar regras.
  6. Na lista suspensa, escolha Adicionar grupos de regras gerenciados.
  7. Em Adicionar grupos de regras gerenciados, escolha grupos de regras gerenciados pela AWS.
  8. Em Grupos de regras livres, escolha Conjunto de regras principais.
  9. Ative Adicionar à ACL da web e escolha Editar.
  10. Para inspecionar e bloquear corpos de solicitações da Web que excedam 8 KB, defina a regra SizeRestrictions_BODY como Bloquear.
  11. Escolha Salvar regra.

Para reduzir a ocorrência de falsos positivos, use somente a regra SizeRestrictions_Body e substitua todas as outras regras para Count.

Crie uma regra que permita solicitações legítimas

A regra SizeRestrictions_Body pode bloquear solicitações legítimas que excedam 8 KB. Para permitir solicitações legítimas que excedam o limite de tamanho, defina a regra SizeRestrictions_BODY como Count. Em seguida, use os rótulos que o AWS WAF adiciona para avaliação posterior das regras.

Conclua as etapas a seguir:

  1. Abra o console do AWS WAF.
  2. No painel de navegação, em AWS WAF, escolha ACLs Web.
  3. Em Região, selecione a região em que você criou sua ACL da web.
    Observação: se você configurar sua ACL da Web para o CloudFront, selecione Global.
  4. Selecione sua ACL da web.
  5. Em Regras, escolha AWS-AWSManagedRulesCommonRuleSet.
  6. Escolha Editar.
  7. Para a regra SizeRestrictions_BODY, escolha Substituir para contar.
  8. Escolha Salvar regra.
  9. Em Regras e escolha Adicionar regras e depois escolha Adicionar minhas próprias regras e grupos de regras.
  10. Em Nome, insira um nome de regra e escolha Regra regular.
  11. Em Se uma solicitação, escolha corresponder a todas as instruções (E).
  12. Em Declaração 1, insira as seguintes informações:
    Em Inspecionar, escolha Tem uma etiqueta.
    Em Match scope, escolha Label.
    Em Match key, insira o rótulo awswaf:managed:aws:core-rule-set:SizeRestrictions_Body.
  13. Em Declaração 2, insira as seguintes informações:
    Escolha Negar resultados da declaração.
    Em Inspecionar, escolha o caminho do URI.
    Em Tipo de correspondência, escolha Corresponde exatamente à string.
    Para que a String corresponda, digite /upload.
    Observação: substitua /upload pelo caminho do URI em que você faz solicitações.
  14. (Opcional) Para Transformação de texto, escolha uma Transformação de texto ou Nenhuma.
  15. Em Ação, escolha Bloquear.
  16. Escolha Adicionar regra.
  17. Em Definir prioridade da regra, atualize a prioridade para que a regra fique após o grupo de regras gerenciado pelo CRS. A regra SizeRestrictions_Body no CRS agora pode adicionar um rótulo, e o AWS WAF pode usar o rótulo nas regras subsequentes.
  18. Escolha Salvar regra.

Observação: é uma prática recomendada testar regras em um ambiente de não produção com a Ação definida como Contagem. Para avaliar a regra, use métricas do Amazon CloudWatch combinadas com amostras de solicitações do AWS WAF ou logs do AWS WAF.

Crie uma regra de inspeção corporal personalizada

Configurar a ação de tratamento de solicitações de tamanho grande para a regra

Ao configurar uma regra de inspeção corporal personalizada, é possível escolher a ação de tratamento de solicitações de tamanho grande. O tratamento de grandes dimensões informa ao AWS WAF o que fazer com uma solicitação da web quando o corpo da solicitação excede o limite de tamanho. As opções para lidar com componentes grandes incluem Continuar, Match e No match. No console do AWS WAF, você deve escolher uma dessas opções. Fora do console, a opção padrão é definida como Continuar. Para bloquear solicitações de tamanho grande, crie uma regra personalizada que use a ação de tratamento de solicitações de tamanho grande.

Crie uma regra que permita solicitações legítimas

Para permitir solicitações legítimas que excedam o limite de tamanho, crie uma regra que permita explicitamente solicitações de hosts legítimos. Em seguida, atualize a prioridade da regra para que ela seja maior do que a prioridade da regra que bloqueia a solicitação.

Informações relacionadas

Por que o AWS WAF bloqueia minha solicitação legítima de upload?

AWS OFICIALAtualizada há 6 meses