Dela via


Storleksbegränsningar för begäran om webbprogrambrandvägg och filuppladdning

Med brandväggen för webbaserade program kan du konfigurera storleksgränser för begäranden inom en nedre och övre gräns. Application Gateways Web Application Firewalls som kör Core Rule Set 3.2 eller senare har fler kontroller för begäran och filuppladdningsstorlek, inklusive möjligheten att inaktivera maximal storlekskontroll för begäranden och/eller filuppladdningar.

Viktigt!

Vi håller på att distribuera en ny funktion för Application Gateway v2 Web Application Firewalls som kör Core Rule Set 3.2 eller senare som ger större kontroll över begärandetextens storlek, filuppladdningsstorlek och kontroll av begärandetext. Om du kör Application Gateway v2 Web Application Firewall med Core Rule Set 3.2 eller senare och du märker att begäranden avvisas (eller inte avvisas) för en storleksgräns läser du felsökningsstegen längst ned på den här sidan.

Gränser

Storleksfältet för begärandetext och storleksgränsen för filuppladdning kan båda konfigureras i brandväggen för webbprogram. Det maximala storleksfältet för begärandetext anges i kilobyte och styr den totala storleksgränsen för begäranden exklusive filuppladdningar. Fältet för filuppladdningsgräns anges i megabyte och styr den maximala tillåtna filuppladdningsstorleken. För storleksbegränsningar för begäranden och storleksgräns för filuppladdning, se Gränser för Application Gateway.

För Application Gateway v2 Web Application Firewalls som kör Core Rule Set 3.2, eller senare, kan den maximala storleken på begärandetexten och maximal filuppladdningsstorlek inaktiveras och brandväggen för webbprogram avvisar inte längre en begäran eller filuppladdning för att den är för stor. När den maximala storleken på begärandetexten och maxstorleken för filuppladdning inaktiveras i brandväggen för webbprogram avgör Application Gateways gränser den maximala tillåtna storleken. Mer information finns i Begränsningar för Application Gateway.

Endast begäranden med innehållstyp för fleraparts-/formulärdata beaktas för filuppladdningar. För att innehåll ska betraktas som en filuppladdning måste det vara en del av ett formulär med flera delar med ett filnamnshuvud . För alla andra innehållstyper gäller storleksgränsen för begärandetext.

Kommentar

Om du kör Core Rule Set 3.2 eller senare, och du har en anpassad regel med hög prioritet som vidtar åtgärder baserat på innehållet i en begärans huvuden, cookies eller URI, har detta företräde framför maximal storlek på begäranden eller maximal filuppladdningsstorlek. Den här optimeringen gör att brandväggen för webbaserade program kör anpassade regler med hög prioritet som inte kräver att du läser den fullständiga begäran först.

Exempel: Om du har en anpassad regel med prioritet 0 (högsta prioritet) inställd för att tillåta en begäran med sidhuvudet xyz, även om begärans storlek är större än din maximala storleksgräns för begäran, tillåts den innan maxstorleksgränsen tillämpas

Kontroll av begärandetext

Brandväggen för webbaserade program erbjuder en konfigurationsinställning för att aktivera eller inaktivera kontroll av begärandetexten. Som standard är kontrollen av begärandetext aktiverad. Om kontrollen av begärandetexten är inaktiverad utvärderar inte brandväggen för webbaserade program innehållet i http-meddelandets brödtext. I sådana fall fortsätter brandväggen för webbaserade program att tillämpa brandväggsregler för webbprogram på huvuden, cookies och URI. I Brandväggar för webbprogram som kör Core Rule Set 3.1 (eller lägre), om kontrollen av begärandetexten är inaktiverad, är fältet för maximal storlek på begärandetexten inte tillämpligt och kan inte anges.

För principwebbprogrambrandväggar som kör Core Rule Set 3.2 (eller senare) kan kontroll av begärandetext aktiveras/inaktiveras oberoende av storleksbegränsningar för begärandetext och storleksbegränsningar för filuppladdning. Dessutom kan principwebbprogrambrandväggar som kör Core Rule Set 3.2 (eller senare) ange maximal kontrollgräns för begärandetext oberoende av den maximala storleken på begärandetexten. Den maximala gränsen för kontroll av begärandetext anger för brandväggen för webbaserade program hur djupt in i en begäran den ska inspektera och tillämpa regler. Om du anger ett lägre värde för det här fältet kan prestandan för brandväggen för webbaserade program förbättras, men kan göra det möjligt för oanvänd skadligt innehåll att passera genom brandväggen för webbprogram.

För äldre brandväggar för webbprogram som kör Core Rule Set 3.1 (eller lägre) kan meddelanden som är större än 128 kB skickas till brandväggen för webbprogram, men meddelandetexten kontrolleras inte för säkerhetsrisker. För brandväggar för principwebbprogram som kör Core Rule Set 3.2 (eller senare) kan du uppnå samma resultat genom att inaktivera maxgränsen för begärandetext.

När brandväggen för webbprogram tar emot en begäran som överskrider storleksgränsen beror beteendet på läget för brandväggen för webbprogram och vilken version av den hanterade regeluppsättningen som du använder.

  • När din brandväggsprincip för webbprogram är i förebyggande läge loggar och blockerar brandväggen för webbaserade program begäranden och filuppladdningar som överskrider storleksgränserna.
  • När din brandväggsprincip för webbaserade program är i identifieringsläge inspekterar Web Application Firewall brödtexten upp till den angivna gränsen och ignorerar resten. Content-Length Om rubriken finns och är större än filuppladdningsgränsen ignorerar Web Application Firewall hela brödtexten och loggar begäran.

Felsökning

Om du är en Application Gateway v2 Web Application Firewall-kund som kör Core Rule Set 3.2 eller senare och har problem med begäranden eller filuppladdningar, avvisas felaktigt för maximal storlek, eller om du ser att begäranden inte inspekteras helt, kan du behöva kontrollera att alla värden har angetts korrekt. Med PowerShell eller Azure-kommandoradsgränssnittet kan du kontrollera vad varje värde är inställt på och uppdatera alla värden efter behov.

Framtvinga kontroll av begärandetext

  • PowerShell: "RequestBodyCheck"
  • CLI: "request_body_check"
  • Styr om brandväggen för webbaserade program inspekterar begärandetexten och tillämpar hanterade och anpassade regler på begärandetextens trafik enligt inställningarna för brandväggsprincipen för webbaserade program.

Maximal kontrollgräns för begärandetext (KB)

  • PowerShell: "RequestBodyInspectLimitInKB"
  • CLI: "request_body_inspect_limit_in_kb"
  • Styr hur djupt in i en begärandetext webbaserade programbrandväggen inspekterar och tillämpar hanterade/anpassade regler. Generellt sett skulle du vilja ställa in detta på högsta möjliga inställning, men vissa kunder kanske vill ange det till ett lägre värde för att förbättra prestandan.

Framtvinga maxgränsen för begärandetext

  • PowerShell: "RequestBodyEnforcement"
  • CLI: "request_body_enforcement"
  • Kontrollera om brandväggen för webbaserade program framtvingar en maxstorleksgräns för begärandeorgan. när det är inaktiverat avvisas inga begäranden om att vara för stora.

Maximal storlek på begärandetext (KB)

  • PowerShell: "MaxRequestBodySizeInKB"
  • CLI: "max_request_body_size_in_kb"
  • Styr hur stor begärandetexten kan vara innan brandväggen för webbprogram avvisar den för att överskrida maxstorleksinställningen.

Framtvinga maximal filuppladdningsgräns

  • PowerShell: "FileUploadEnforcement"
  • CLI: "file_upload_enforcement"
  • Styr om brandväggen för webbaserade program framtvingar en maxstorleksgräns för filuppladdningar. när det är inaktiverat avvisas inga filuppladdningar för att de är för stora.

Maximal filuppladdningsstorlek (MB)

  • PowerShell: "FileUploadLimitInMB"
  • CLI: file_upload_limit_in_mb
  • Styr hur stor en filuppladdning kan vara innan brandväggen för webbprogram avvisar den för att överskrida maxstorleksinställningen.

Kommentar

"Inspektera begärandetexten" kontrollerades tidigare om begärandetexten inspekterades och regler tillämpades samt om en maximal storleksgräns tillämpades på begärandeorganen. Nu hanteras detta av två separata fält som kan aktiveras/inaktiveras oberoende av varandra.

PowerShell

Du kan använda följande PowerShell-kommandon för att returnera din Azure-princip och titta på dess aktuella inställningar.

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

Du kan använda de här kommandona för att uppdatera principinställningarna till önskade värden för kontrollgräns och maximal storleksbegränsning relaterade fält. Du kan växla ut "RequestBodyEnforcement" i följande exempel mot något av de andra värden som du vill uppdatera.

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

Kommandoradsgränssnitt

Du kan använda Azure CLI för att returnera de aktuella värdena för dessa fält från dina Azure-principinställningar och uppdatera fälten till önskade värden med hjälp av dessa kommandon.

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

Utdata:

FileUploadEnforcement    FileUploadLimitInMb    MaxRequestBodySizeInKb    Mode       RequestBodyCheck    RequestBodyEnforcement    RequestBodyInspectLimitInKB    State
-----------------------  ---------------------  ------------------------  ---------  ------------------  ------------------------  -----------------------------  -------
True                     100                   128                      Detection  True                True                      128                           Enabled

Nästa steg