Limites de tamanho de solicitação e upload de arquivos do Web Application Firewall

O Web Application Firewall permite configurar limites de tamanho de solicitação dentro de um limite inferior e superior. Os Application Gateways Web Application Firewalls que executam o Core Rule set 3.2 ou posterior têm mais controles de tamanho de solicitação e upload de arquivos, incluindo a capacidade de desabilitar a imposição de tamanho máximo para solicitações e/ou uploads de arquivos.

Importante

Estamos no processo de implantação de um novo recurso para os Firewalls de Aplicativos Web do Application Gateway v2 executando o Core Rule set 3.2 ou posterior que permite um maior controle do tamanho do corpo da solicitação, do tamanho do upload do arquivo e da inspeção do corpo da solicitação. Se você estiver executando o Application Gateway v2 Web Application Firewall com Core Rule set 3.2 ou posterior e notar solicitações sendo rejeitadas (ou não rejeitadas) por um limite de tamanho, consulte as etapas de solução de problemas na parte inferior desta página.

Limites

O campo de tamanho do corpo da solicitação e o limite de tamanho de carregamento de arquivo são configuráveis no Firewall do Aplicativo Web. O campo de tamanho máximo do corpo da solicitação é especificado em kilobytes e controla o limite geral de tamanho da solicitação, excluindo qualquer upload de arquivo. O campo de limite de upload de arquivo é especificado em megabytes e rege o tamanho máximo permitido de upload de arquivo. Para obter os limites de tamanho de solicitação e de upload de arquivo, consulte Limites do Application Gateway.

Para Firewalls de Aplicativos Web do Application Gateway v2 que executam o Conjunto de Regras Principais 3.2 ou mais recente, a imposição do tamanho máximo do corpo da solicitação e a imposição do tamanho máximo do upload de arquivos podem ser desabilitadas e o Firewall do Aplicativo Web não rejeitará mais uma solicitação ou upload de arquivo por ser muito grande. Quando a imposição do tamanho máximo do corpo da solicitação e a imposição do tamanho máximo do upload do arquivo são desabilitadas no Firewall do Aplicativo Web, os limites do Application Gateway determinam o tamanho máximo permitido. Para obter mais informações, consulte Limites do Application Gateway.

Somente solicitações com tipo de conteúdo de dados de várias partes/formulários são consideradas para uploads de arquivos. Para que o conteúdo seja considerado como um upload de arquivo, ele deve fazer parte de um formulário com várias partes com um cabeçalho de nome de arquivo . Para todos os outros tipos de conteúdo, aplica-se o limite de tamanho do corpo da solicitação.

Nota

Se você estiver executando o Conjunto de Regras Principais 3.2 ou posterior e tiver uma regra personalizada de alta prioridade que executa ações com base no conteúdo dos cabeçalhos, cookies ou URI de uma solicitação, isso terá precedência sobre qualquer tamanho máximo de solicitação ou tamanho máximo de upload de arquivo. Essa otimização permite que o Web Application Firewall execute regras personalizadas de alta prioridade que não exigem a leitura da solicitação completa primeiro.

Exemplo: Se você tiver uma regra personalizada com prioridade 0 (a prioridade mais alta) definida para permitir uma solicitação com o cabeçalho xyz, mesmo que o tamanho da solicitação seja maior do que o limite máximo de tamanho da solicitação, ela será permitida antes que o limite de tamanho máximo seja imposto

Solicitar inspeção do organismo

O Web Application Firewall oferece uma definição de configuração para habilitar ou desabilitar a inspeção do corpo da solicitação. Por padrão, a inspeção do órgão de solicitação está habilitada. Se a inspeção do corpo de solicitação estiver desabilitada, o Web Application Firewall não avaliará o conteúdo do corpo de uma mensagem HTTP. Nesses casos, o Web Application Firewall continua a impor regras do Web Application Firewall em cabeçalhos, cookies e URI. Nos Firewalls de Aplicativos Web que executam o Conjunto de Regras Principais 3.1 (ou inferior), se a inspeção do corpo da solicitação estiver desativada, o campo Tamanho máximo do corpo da solicitação não será aplicável e não poderá ser definido.

Para Firewalls de Aplicativos Web de Política que executam o Conjunto de Regras Principais 3.2 (ou mais recente), a inspeção do corpo de solicitação pode ser habilitada/desabilitada independentemente da imposição do tamanho do corpo da solicitação e dos limites de tamanho de upload de arquivos. Além disso, os firewalls de aplicativos Web de política que executam o Core Rule set 3.2 (ou mais recente) podem definir o limite máximo de inspeção do corpo de solicitação, independentemente do tamanho máximo do corpo da solicitação. O limite máximo de inspeção do corpo de solicitação informa ao Web Application Firewall a profundidade de uma solicitação que ele deve inspecionar e aplicar regras; definir um valor mais baixo para esse campo pode melhorar o desempenho do Web Application Firewall, mas pode permitir que conteúdo mal-intencionado não inspecionado passe pelo Web Application Firewall.

Para firewalls de aplicativos Web mais antigos que executam o Core Rule set 3.1 (ou inferior), desativar a inspeção do corpo da solicitação permite que mensagens maiores que 128 KB sejam enviadas para o Web Application Firewall, mas o corpo da mensagem não é inspecionado em busca de vulnerabilidades. Para Firewalls de Aplicativos Web de Política que executam o Conjunto de Regras Principais 3.2 (ou mais recente), você pode obter o mesmo resultado desativando o limite máximo de corpo de solicitação.

Quando o Web Application Firewall recebe uma solicitação que está acima do limite de tamanho, o comportamento depende do modo do Web Application Firewall e da versão do conjunto de regras gerenciado que você usa.

  • Quando sua política do Web Application Firewall está no modo de prevenção, o Web Application Firewall registra e bloqueia solicitações e uploads de arquivos que estão acima dos limites de tamanho.
  • Quando a política do Web Application Firewall está no modo de deteção, o Web Application Firewall inspeciona o corpo até o limite especificado e ignora o restante. Se o Content-Length cabeçalho estiver presente e for maior do que o limite de upload de arquivo, o Web Application Firewall ignorará todo o corpo e registrará a solicitação.

Resolução de Problemas

Se você for um cliente do Application Gateway v2 Web Application Firewall executando o Core Rule set 3.2 ou posterior e tiver problemas com solicitações ou uploads de arquivos, sendo rejeitados incorretamente para o tamanho máximo, ou se vir solicitações que não estão sendo inspecionadas completamente, talvez seja necessário verificar se todos os valores estão definidos corretamente. Usando o PowerShell ou a Interface de Linha de Comando do Azure, você pode verificar para que cada valor está definido e atualizar quaisquer valores conforme necessário.

Fazer cumprir a inspeção do órgão de solicitação

  • PS: "RequestBodyCheck"
  • CLI: "request_body_check"
  • Controla se o Web Application Firewall inspecionará o corpo da solicitação e aplicará regras gerenciadas e personalizadas ao tráfego do corpo da solicitação de acordo com as configurações da política do Web Application Firewall.

Limite máximo de inspeção do organismo requerido (KB)

  • PS: "RequestBodyInspectLimitInKB"
  • CLI: "request_body_inspect_limit_in_kb"
  • Controla a profundidade de uma solicitação que o Web Application Firewall inspecionará e aplicará regras gerenciadas/personalizadas. De um modo geral, você gostaria de definir isso para a configuração máxima possível, mas alguns clientes podem querer defini-lo para um valor mais baixo para melhorar o desempenho.

Impor limite máximo de corpo de solicitação

  • PS: "RequestBodyEnforcement"
  • CLI: "request_body_enforcement"
  • Controle se o seu Web Application Firewall aplicará um limite de tamanho máximo nos corpos de solicitação; quando desligado, ele não rejeitará nenhuma solicitação por ser muito grande.

Tamanho máximo do corpo da solicitação (KB)

  • PS: "MaxRequestBodySizeInKB"
  • CLI: "max_request_body_size_in_kb"
  • Controla o tamanho de um corpo de solicitação antes que o Web Application Firewall o rejeite por exceder a configuração de tamanho máximo.

Impor limite máximo de upload de arquivos

  • PS: "FileUploadEnforcement"
  • CLI: "file_upload_enforcement"
  • Controla se o Web Application Firewall aplicará um limite máximo de tamanho nos carregamentos de arquivos; quando desligado, ele não rejeitará nenhum upload de arquivo por ser muito grande.

Tamanho máximo de carregamento de ficheiros (MB)

  • PS: "FileUploadLimitInMB"
  • CLI: file_upload_limit_in_mb
  • Controla o tamanho que um upload de arquivo pode ter antes que o Web Application Firewall o rejeite por exceder a configuração de tamanho máximo.

Nota

"Organismo de inspeção" previamente controlado se o organismo requerente foi inspecionado e as regras aplicadas, bem como se um limite máximo de tamanho foi aplicado aos organismos solicitados. Agora isso é tratado por dois campos separados que podem ser ativados / desativados independentemente.

PowerShell

Você pode usar os seguintes comandos do PowerShell para retornar sua política do Azure e examinar suas configurações atuais.

$plcy = Get-AzApplicationGatewayFirewallPolicy -Name <policy-name> -ResourceGroupName <resourcegroup-name>
$plcy.PolicySettings

Você pode usar esses comandos para atualizar as configurações de política para os valores desejados para os campos relacionados limite de inspeção e limitação de tamanho máximo. Você pode trocar 'RequestBodyEnforcement' no exemplo abaixo por um dos outros valores que deseja atualizar.

$plcy = Get-AzApplicationGatewayFirewallPolicy -Name <policy-name> -ResourceGroupName <resourcegroup-name>
$plcy.PolicySettings.RequestBodyEnforcement=false
Set-AzApplicationGatewayFirewallPolicy -InputObject $plcy

Interface de linha de comando

Você pode usar a CLI do Azure para retornar os valores atuais para esses campos de suas configurações de política do Azure e atualizar os campos para os valores desejados usando esses comandos.

az network application-gateway waf-policy update --name <WAF Policy name> --resource-group <WAF policy RG> --set policySettings.request_body_inspect_limit_in_kb='2000' policySettings.max_request_body_size_in_kb='2000' policySettings.file_upload_limit_in_mb='3500' --query policySettings -o table

Saída:

FileUploadEnforcement    FileUploadLimitInMb    MaxRequestBodySizeInKb    Mode       RequestBodyCheck    RequestBodyEnforcement    RequestBodyInspectLimitInKB    State
-----------------------  ---------------------  ------------------------  ---------  ------------------  ------------------------  -----------------------------  -------
True                     3500                   2000                      Detection  True                True                      2000                           Enabled

Próximos passos