Limiti relativi alle dimensioni di richiesta e caricamento di file di Web application firewall
Web application firewall consente agli utenti di configurare i limiti di dimensioni di richiesta entro un limite inferiore e superiore. I Web application firewall di gateway applicazione che eseguono il set di regole Core 3.2 o versioni successive hanno più controlli di richiesta e dimensioni di caricamento dei file, inclusa la possibilità di disabilitare l'imposizione delle dimensioni massime per le richieste e/o per i caricamenti di file.
Importante
È in corso la distribuzione di una nuova funzionalità per Web application firewall del gateway applicazione v2 che eseguono il set di regole Core 3.2 o versioni successive. Questa consente un maggiore controllo delle dimensioni del corpo della richiesta, delle dimensioni di caricamento dei file e dell'ispezione del corpo della richiesta. Se si esegue Web application firewall v2 del gateway applicazione con il set di regole Core 3.2 o versioni successive e si nota che le richieste vengono rifiutate (o non rifiutate) per un limite di dimensioni, vedere i passaggi per la risoluzione dei problemi nella parte inferiore di questa pagina.
Limiti
Il campo della dimensione del corpo della richiesta e il limite della dimensione del caricamento del file sono entrambi configurabili all'interno del Web Application Firewall. Il campo della dimensione massima del corpo della richiesta è specificato in KB e controlla il limite della dimensione complessiva della richiesta escludendo eventuali caricamenti di file. Il campo limite di caricamento file è specificato in MB e determina le dimensioni massime consentite per il caricamento. Per i limiti delle dimensioni della richiesta e il limite delle dimensioni di caricamento dei file, vedere Limiti del gateway applicazione.
Per i Web application firewall del gateway applicazione v2 che eseguono il set di regole Core 3.2 o versioni successive, è possibile disabilitare l'imposizione delle dimensioni massime del corpo della richiesta e delle dimensioni massime di caricamento dei file, così che Web application firewall non rifiuti più una richiesta o un caricamento di file troppo grande. Quando le imposizioni delle dimensioni massime del corpo della richiesta e del caricamento dei file vengono disabilitate all'interno del Web application firewall, le dimensioni massime consentite sono determinate dai limiti del gateway applicazione. Per altre informazioni, vedere Limiti del gateway applicazione.
Per i caricamenti di file sono considerate solo le richieste con tipo di contenuto multipart/form-data. Affinché il contenuto sia considerato come caricamento di file, deve far parte di un modulo multipart con intestazione filename. Per tutti gli altri tipi di contenuto, si applica il limite di dimensioni del corpo della richiesta.
Nota
Se si esegue il set di regole Core 3.2 o versioni successive e si dispone di una regola personalizzata con priorità alta che esegue azioni in base al contenuto delle intestazioni, dei cookie o dell'URI di una richiesta, questa avrà la precedenza sui limiti di qualsiasi altra dimensione massima della richiesta o di caricamento dei file. Questa ottimizzazione consente al Web Application Firewall di eseguire regole personalizzate con priorità alta che non richiedono prima la lettura della richiesta completa.
Esempio: se si dispone di una regola personalizzata con priorità 0 (la più alta) impostata per consentire una richiesta con l'intestazione xyz, anche se le dimensioni della richiesta sono più grandi del limite massimo di dimensioni della richiesta, sarà consentita prima che venga applicato il limite massimo di dimensioni
Ispezione del corpo della richiesta
Web application firewall offre un'impostazione di configurazione per abilitare o disabilitare l'ispezione del corpo della richiesta. Per impostazione predefinita, viene abilitata l'ispezione del corpo della richiesta. Se l'ispezione del corpo della richiesta è disabilitata, Web application firewall non valuta il contenuto del corpo di un messaggio HTTP. In questi casi, il Web application firewall continua a imporre regole di Web application firewall per intestazioni, cookie e URI. Nei Web application firewall che eseguono il set di regole Core 3.1 (o inferiore), se l'ispezione del corpo della richiesta è disattivata, il campo dimensioni massime del corpo della richiesta non è applicabile e non può essere impostato.
Per i Web application firewall di Criteri che eseguono il set di regole Core 3.2 (o versioni successive), l'ispezione del corpo della richiesta può essere abilitata/disabilitata indipendentemente dall’imposizione dei limiti delle dimensioni del corpo della richiesta e del caricamento dei file. Inoltre, i Web application firewall dei criteri che eseguono il set di regole Core 3.2 (o versioni successive) possono impostare il limite massimo di ispezione del corpo della richiesta indipendentemente dalle dimensioni massime del corpo della richiesta. Il limite massimo di ispezione del corpo della richiesta indica al Web application firewall quanto devono essere avanzate l’ispezione e applicazione delle regole in una richiesta che deve esaminare. L'impostazione di un valore inferiore per questo campo può migliorare le prestazioni del Web application firewall, ma potrebbe consentire il passaggio di contenuto dannoso che non è stato in grado di rilevare.
Per i Web application firewall meno recenti che eseguono il set di regole Core 3.1 (o inferiore), la disattivazione dell'ispezione del corpo della richiesta consente l'invio al Web application firewall di messaggi di dimensioni superiori a 128 kB, ma il corpo del messaggio non viene controllato ai fini del rilevamento delle vulnerabilità. Per i Web application firewall dei criteri che eseguono il set di regole Core 3.2 (o versioni successive), è possibile ottenere lo stesso risultato disabilitando il limite massimo del corpo della richiesta.
Quando Web application firewall riceve una richiesta oltre il limite di dimensioni, il comportamento dipende dalla modalità del Web application firewall e dalla versione del set di regole gestite usato.
- Quando i criteri di Web application firewall sono in modalità di prevenzione, Web application firewall registra e blocca le richieste e i caricamenti di file che superano i limiti di dimensioni.
- Quando i criteri di Web application firewall sono in modalità di rilevamento, Web application firewall controlla il corpo fino al limite specificato e ignora il resto. Se è presente l'intestazione
Content-Length
ed è maggiore del limite di caricamento dei file, Web application Firewall ignora l'intero corpo e registra la richiesta.
Risoluzione dei problemi
Se si è clienti di Web application firewall v2 del gateway applicazione che esegue il set di regole Core 3.2 o versioni successive e si verificano problemi con le richieste o i caricamenti di file, per un rifiuto errato dovuto alle dimensioni massime o perché le richieste non vengono esaminate completamente, potrebbe essere necessario verificare che tutti i valori siano impostati correttamente. PowerShell o l'interfaccia della riga di comando di Azure consentono di verificare le impostazioni di ciascun valore e se necessario, aggiornare i valori in base alle esigenze.
Abilita ispezione del corpo della richiesta
- PowerShell: "RequestBodyCheck"
- CLI: "request_body_check"
- Controlla se il Web application firewall controlla il corpo della richiesta e applica al traffico del corpo della richiesta le regole gestite e personalizzate secondo le impostazioni dei criteri del Web application firewall.
Limite massimo di ispezione del corpo della richiesta (kB)
- PowerShell: "RequestBodyInspectLimitInKB"
- CLI: "request_body_inspect_limit_in_kb"
- Controlla il grado di ispezione del corpo di una richiesta e l’applicazione delle regole gestite/personalizzate da parte di Web application firewall. In generale, è consigliabile impostarla sul massimo possibile, ma alcuni clienti, per migliorare le prestazioni, potrebbero desiderare un valore inferiore.
Imporre il limite massimo del corpo della richiesta
- PowerShell: "RequestBodyEnforcement"
- Interfaccia della riga di comando: "request_body_enforcement"
- Controlla se Web application firewall impone un limite massimo di dimensioni ai corpi delle richieste; se disattivata, non rifiuta le richieste di dimensioni troppo elevate.
Dimensioni massime del corpo della richiesta (kB)
- PowerShell: "MaxRequestBodySizeInKB"
- CLI: "max_request_body_size_in_kb"
- Controlla la dimensione del corpo di una richiesta prima che Web application firewall lo rifiuti per aver oltrepassato l'impostazione relativa alle dimensioni massime.
Imporre il limite massimo di caricamento dei file
- PowerShell: "FileUploadEnforcement"
- CLI: "file_upload_enforcement"
- Controlla se Web application firewall impone un limite di dimensioni massime per i caricamenti di file; se disattivata, non rifiuta i caricamenti di file troppo grandi.
Dimensioni massime caricamento file (MB)
- PowerShell: "FileUploadLimitInMB"
- CLI: file_upload_limit_in_mb
- Controlla la dimensione di un caricamento di file prima che Web application firewall lo rifiuti per il superamento dell'impostazione di dimensioni massime.
Nota
"Controllare il corpo della richiesta" controllato in precedenza se il corpo della richiesta è stato controllato e le regole applicate, nonché se è stato imposto un limite di dimensioni massime per i corpi della richiesta. Ora questo viene gestito da due campi separati che possono essere attivati/disattivati in modo indipendente.
PowerShell
Per restituire Criteri di Azure ed esaminare le impostazioni correnti è possibile usare i seguenti comandi di PowerShell.
$plcy = Get-AzApplicationGatewayFirewallPolicy -Name <policy-name> -ResourceGroupName <resourcegroup-name>
$plcy.PolicySettings
È possibile usare questi comandi per aggiornare le impostazioni dei criteri sui valori desiderati per i campi correlati a limite di ispezione e limite di dimensioni massime. È possibile scambiare 'RequestBodyEnforcement' nell'esempio seguente per uno degli altri valori da aggiornare.
$plcy = Get-AzApplicationGatewayFirewallPolicy -Name <policy-name> -ResourceGroupName <resourcegroup-name>
$plcy.PolicySettings.RequestBodyEnforcement=false
Set-AzApplicationGatewayFirewallPolicy -InputObject $plcy
- Ottenere il criterio Web application firewall
- Proprietà impostazioni dei criteri
- Classe impostazioni dei criteri
- Nuove impostazioni dei criteri
Interfaccia della riga di comando
È possibile usare l'interfaccia della riga di comando di Azure per restituire i valori correnti per questi campi dalle impostazioni di Criteri di Azure e aggiornare i campi con i valori desiderati usando questi comandi.
az network application-gateway waf-policy update --name <WAF Policy name> --resource-group <WAF policy RG> --set policySettings.request_body_inspect_limit_in_kb='128' policySettings.max_request_body_size_in_kb='128' policySettings.file_upload_limit_in_mb='100' --query policySettings -o table
Output:
FileUploadEnforcement FileUploadLimitInMb MaxRequestBodySizeInKb Mode RequestBodyCheck RequestBodyEnforcement RequestBodyInspectLimitInKB State
----------------------- --------------------- ------------------------ --------- ------------------ ------------------------ ----------------------------- -------
True 100 128 Detection True True 128 Enabled
Passaggi successivi
- Dopo aver configurato le impostazioni di Web Application Firewall, è possibile ottenere informazioni su come visualizzare i log di Web application firewall. Per altre informazioni, vedere Diagnostica del gateway applicazione.
- Altre informazioni sulla sicurezza di rete di Azure