Een regel voor Web Application Firewall-frequentielimiet configureren
De Azure Web Application Firewall regel voor frequentielimiet voor Azure Front Door bepaalt het aantal aanvragen dat is toegestaan van een bepaald bron-IP-adres naar de toepassing tijdens een duur van de frequentielimiet. Zie Wat is snelheidsbeperking voor Azure Front Door? voor meer informatie over snelheidsbeperking.
In dit artikel wordt beschreven hoe u een waf-regel (Web Application Firewall) voor frequentielimieten configureert in azure Front Door Standard- en Premium-lagen.
Scenario
Stel dat u verantwoordelijk bent voor een openbare website. U hebt zojuist een pagina toegevoegd met informatie over een promotie die door uw organisatie wordt uitgevoerd. U bent bang dat als clients die pagina te vaak bezoeken, sommige van uw back-endservices mogelijk niet snel worden geschaald en de toepassing prestatieproblemen ondervindt.
U besluit een regel voor frequentielimiet te maken die elk bron-IP-adres beperkt tot maximaal 1000 aanvragen per minuut. U past deze regel alleen toe op aanvragen die de aanvraag-URL bevatten */promo*
.
Tip
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Een Azure Front Door-profiel en WAF-beleid maken
Selecteer een resource maken in de Azure Portal.
Zoek naar Front Door en selecteer Front Door- en CDN-profielen.
Selecteer Maken.
Selecteer Doorgaan om een Front Door te maken om het proces voor het snel maken van de portal te gebruiken.
Voer de vereiste gegevens in op de pagina Basisinformatie :
- Resourcegroep: selecteer een bestaande resourcegroep of maak een nieuwe resourcegroep voor de Azure Front Door- en WAF-resources.
- Naam: voer de naam van uw Azure Front Door-profiel in.
- Laag: selecteer Standard of Premium. Voor dit scenario ondersteunen beide lagen snelheidsbeperking.
- Eindpuntnaam: geef een unieke naam op voor uw eindpunt, omdat Azure Front Door-eindpunten wereldwijd unieke namen moeten hebben.
- Oorsprongstype en hostnaam van oorsprong: selecteer de oorsprongtoepassing die u wilt beveiligen met de regel voor frequentielimiet.
Selecteer nieuwe maken naast WAF-beleid.
Voer de naam van een WAF-beleid in en selecteer Maken.
Selecteer Beoordelen en maken>Maken.
Nadat de implementatie is voltooid, selecteert u Ga naar resource.
Een regel voor frequentielimiet maken
Selecteer Aangepaste regels>Aangepaste regel toevoegen.
Voer de gegevens in die nodig zijn om een regel voor frequentielimiet te maken:
- Naam van aangepaste regel: voer de naam in van de aangepaste regel, zoals rateLimitRule.
- Regeltype: Selecteer Frequentielimiet.
- Prioriteit: voer de prioriteit van de regel in, zoals 1.
- Duur van frequentielimiet: selecteer 1 minuut.
- Drempelwaarde voor frequentielimiet (aanvragen): voer 1000 in.
Voer in Voorwaarden de informatie in die nodig is om een overeenkomstvoorwaarde op te geven om aanvragen te identificeren waarbij de URL de tekenreeks
*/promo*
bevat:- Overeenkomsttype: Selecteer Tekenreeks.
- Overeenkomstvariabele: Voer RequestUri in.
- Bewerking: selecteer is.
- Operator: selecteer Bevat.
- Overeenkomende waarden: voer /promo in.
Bij Actie selecteert u Logboek of Blokkeren.
Regels voor frequentielimieten ondersteunen
Log
enBlock
acties alleen.Allow
wordt niet ondersteund.Selecteer Toevoegen.
Selecteer Opslaan.
De preventiemodus op de WAF gebruiken
Standaard maakt de Azure Portal WAF-beleid in de detectiemodus. Deze instelling betekent dat de WAF geen aanvragen blokkeert. Zie WAF-modi voor meer informatie.
Stem uw WAF af voordat u de preventiemodus gebruikt. Afstemmen helpt fout-positieve detecties te voorkomen. Het helpt ook om te voorkomen dat uw WAF legitieme aanvragen blokkeert.
Hier configureert u de WAF opnieuw om de preventiemodus te gebruiken.
Open het WAF-beleid.
U ziet dat de beleidsmodus is ingesteld op Detectie.
Selecteer Overschakelen naar preventiemodus.
Vereisten
Voordat u begint met het instellen van een frequentielimietbeleid, moet u uw PowerShell-omgeving instellen en een Azure Front Door-profiel maken.
Uw PowerShell-omgeving instellen
Azure PowerShell voorziet in een set van cmdlets die gebruikmaken van het Azure Resource Manager-model om uw Azure-resources te beheren.
U kunt Azure PowerShell op uw lokale computer installeren en in elke PowerShell-sessie gebruiken. Hier meldt u zich aan met uw Azure-referenties en installeert u de module Azure PowerShell voor Azure Front Door Standard of Premium.
Verbinding maken met Azure met een interactief dialoogvenster voor aanmelden
Meld u aan bij Azure door de volgende opdracht uit te voeren:
Connect-AzAccount
PowerShellGet installeren
Zorg ervoor dat de huidige versie van PowerShellGet is geïnstalleerd. Voer de volgende opdracht uit:
Install-Module PowerShellGet -Force -AllowClobber
Start Vervolgens PowerShell opnieuw om ervoor te zorgen dat u de nieuwste versie gebruikt.
De Azure Front Door PowerShell-modules installeren
Installeer de Az.FrontDoor
PowerShell-modules en Az.Cdn
om te werken met Azure Front Door Standard of Premium vanuit PowerShell.
Install-Module -Name Az.FrontDoor
Install-Module -Name Az.Cdn
U gebruikt de Az.Cdn
module om te werken met Azure Front Door Standard- of Premium-resources. Gebruik de Az.FrontDoor
module om te werken met WAF-resources.
Een resourcegroep maken
Gebruik de cmdlet New-AzResourceGroup om een nieuwe resourcegroep te maken voor uw Azure Front Door-profiel en WAF-beleid. Werk de naam en locatie van de resourcegroep bij voor uw eigen vereisten:
$resourceGroupName = 'FrontDoorRateLimit'
New-AzResourceGroup -Name $resourceGroupName -Location 'westus'
Een Azure Front Door-profiel maken
Gebruik de cmdlet New-AzFrontDoorCdnProfile om een nieuw Azure Front Door-profiel te maken.
In dit voorbeeld maakt u een Azure Front Door-standaardprofiel met de naam MyFrontDoorProfile
:
$frontDoorProfile = New-AzFrontDoorCdnProfile `
-Name 'MyFrontDoorProfile' `
-ResourceGroupName $resourceGroupName `
-Location global `
-SkuName Standard_AzureFrontDoor
Een Azure Front Door-eindpunt maken
Gebruik de cmdlet New-AzFrontDoorCdnEndpoint om een eindpunt toe te voegen aan uw Azure Front Door-profiel.
Azure Front Door-eindpunten moeten wereldwijd unieke namen hebben, dus werk de waarde van de $frontDoorEndpointName
variabele bij naar iets unieks.
$frontDoorEndpointName = '<unique-front-door-endpoint-name>'
$frontDoorEndpoint = New-AzFrontDoorCdnEndpoint `
-EndpointName $frontDoorEndpointName `
-ProfileName $frontDoorProfile.Name `
-ResourceGroupName $frontDoorProfile.ResourceGroupName `
-Location $frontDoorProfile.Location
Een URL-overeenkomstvoorwaarde definiëren
Gebruik de cmdlet New-AzFrontDoorWafMatchConditionObject om een overeenkomstvoorwaarde te maken om aanvragen te identificeren waarop de frequentielimiet moet worden toegepast.
Het volgende voorbeeld komt overeen met aanvragen waarbij de RequestUri
variabele de tekenreeks /promo bevat:
$promoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable RequestUri `
-OperatorProperty Contains `
-MatchValue '/promo'
Een aangepaste regel voor frequentielimiet maken
Gebruik de cmdlet New-AzFrontDoorWafCustomRuleObject om de regel voor frequentielimiet te maken, waaronder de overeenkomstvoorwaarde die u in de vorige stap hebt gedefinieerd en de aanvraagdrempelwaarde.
In het volgende voorbeeld wordt de limiet ingesteld op 1000
:
$promoRateLimitRule = New-AzFrontDoorWafCustomRuleObject `
-Name 'rateLimitRule' `
-RuleType RateLimitRule `
-MatchCondition $promoMatchCondition `
-RateLimitThreshold 1000 `
-Action Block `
-Priority 1
Wanneer een bron-IP-adres meer dan 1000 aanvragen binnen één minuut verzendt, blokkeert de WAF volgende aanvragen totdat de volgende minuut begint.
Een WAF-beleid maken
Gebruik de cmdlet New-AzFrontDoorWafPolicy om een WAF-beleid te maken, dat de aangepaste regel bevat die u hebt gemaakt.
$wafPolicy = New-AzFrontDoorWafPolicy `
-Name 'MyWafPolicy' `
-ResourceGroupName $frontDoorProfile.ResourceGroupName `
-Sku Standard_AzureFrontDoor `
-CustomRule $promoRateLimitRule
Een beveiligingsbeleid configureren om uw Azure Front Door-profiel te koppelen aan uw WAF-beleid
Gebruik de cmdlet New-AzFrontDoorCdnSecurityPolicy om een beveiligingsbeleid te maken voor uw Azure Front Door-profiel. Een beveiligingsbeleid koppelt uw WAF-beleid aan domeinen die u wilt beveiligen door de WAF-regel.
In dit voorbeeld koppelt u de standaardhostnaam van het eindpunt aan uw WAF-beleid:
$securityPolicyAssociation = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallAssociationObject `
-PatternsToMatch @("/*") `
-Domain @(@{"Id"=$($frontDoorEndpoint.Id)})
$securityPolicyParameters = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallParametersObject `
-Association $securityPolicyAssociation `
-WafPolicyId $wafPolicy.Id
$frontDoorSecurityPolicy = New-AzFrontDoorCdnSecurityPolicy `
-Name 'MySecurityPolicy' `
-ProfileName $frontDoorProfile.Name `
-ResourceGroupName $frontDoorProfile.ResourceGroupName `
-Parameter $securityPolicyParameters
Vereisten
Voordat u begint met het instellen van een beleid voor frequentielimieten, moet u uw Azure CLI-omgeving instellen en een Azure Front Door-profiel maken.
Uw Azure CLI-omgeving instellen
De Azure CLI biedt een set opdrachten die gebruikmaken van het Azure Resource Manager-model voor het beheren van uw Azure-resources.
U kunt de Azure CLI installeren op uw lokale computer en deze in elke shellsessie gebruiken. Hier meldt u zich aan met uw Azure-referenties en installeert u de Azure CLI-extensie voor Azure Front Door Standard of Premium.
Verbinding maken met Azure met een interactief dialoogvenster voor aanmelden
Meld u aan bij Azure door de volgende opdracht uit te voeren:
az login
De Azure Front Door-extensie voor de Azure CLI installeren
Installeer de front-door
extensie om te werken met de Azure Front Door WAF vanuit de Azure CLI:
az extension add --name front-door
U gebruikt de az afd
opdrachten om te werken met Azure Front Door Standard- of Premium-resources. Gebruik de az network front-door waf-policy
opdrachten om te werken met WAF-resources.
Een resourcegroep maken
Gebruik de opdracht az group create om een nieuwe resourcegroep te maken voor uw Azure Front Door-profiel en WAF-beleid. Werk de naam en locatie van de resourcegroep bij voor uw eigen vereisten:
resourceGroupName='FrontDoorRateLimit'
az group create \
--name $resourceGroupName \
--location westus
Een Azure Front Door-profiel maken
Gebruik de opdracht az afd profile create om een nieuw Azure Front Door-profiel te maken.
In dit voorbeeld maakt u een Azure Front Door-standaardprofiel met de naam MyFrontDoorProfile
:
frontDoorProfileName='MyFrontDoorProfile'
az afd profile create \
--profile-name $frontDoorProfileName \
--resource-group $resourceGroupName \
--sku Standard_AzureFrontDoor
Een Azure Front Door-eindpunt maken
Gebruik de opdracht az afd endpoint create om een eindpunt toe te voegen aan uw Azure Front Door-profiel.
Azure Front Door-eindpunten moeten wereldwijd unieke namen hebben, dus werk de waarde van de frontDoorEndpointName
variabele bij naar iets unieks.
frontDoorEndpointName='<unique-front-door-endpoint-name>'
az afd endpoint create \
--endpoint-name $frontDoorEndpointName \
--profile-name $frontDoorProfileName \
--resource-group $resourceGroupName \
Een WAF-beleid maken
Gebruik de opdracht az network front-door waf-policy create om een WAF-beleid te maken:
wafPolicyName='MyWafPolicy'
az network front-door waf-policy create \
--name $wafPolicyName \
--resource-group $resourceGroupName \
--sku Standard_AzureFrontDoor
Het toevoegen van een aangepaste regel voor frequentielimiet voorbereiden
Gebruik de opdracht az network front-door waf-policy rule create om een aangepaste regel voor frequentielimiet te maken. In het volgende voorbeeld wordt de limiet ingesteld op 1000 aanvragen per minuut.
Regels voor frequentielimieten moeten een overeenkomstvoorwaarde bevatten, die u in de volgende stap maakt. In deze opdracht neemt u het --defer
argument op, waarmee de Azure CLI wordt verteld dat de regel nog niet naar Azure moet worden verzonden.
az network front-door waf-policy rule create \
--name rateLimitRule \
--policy-name $wafPolicyName \
--resource-group $resourceGroupName \
--rule-type RateLimitRule \
--rate-limit-duration 1 \
--rate-limit-threshold 1000 \
--action Block \
--priority 1 \
--defer
Wanneer een bron-IP-adres meer dan 1000 aanvragen binnen één minuut verzendt, blokkeert de WAF volgende aanvragen totdat de volgende minuut begint.
Een overeenkomstvoorwaarde toevoegen
Gebruik de opdracht az network front-door waf-policy rule match-condition add om een overeenkomstvoorwaarde toe te voegen aan uw aangepaste regel. De overeenkomstvoorwaarde identificeert aanvragen waarop de frequentielimiet moet worden toegepast.
Het volgende voorbeeld komt overeen met aanvragen waarbij de RequestUri
variabele de tekenreeks /promo bevat:
az network front-door waf-policy rule match-condition add \
--match-variable RequestUri \
--operator Contains \
--values '/promo' \
--name rateLimitRule \
--policy-name $wafPolicyName \
--resource-group $resourceGroupName
Wanneer u deze opdracht verzendt, maakt de Azure CLI de regel voor frequentielimiet en de voorwaarde voor overeenkomst samen.
Een beveiligingsbeleid configureren om uw Azure Front Door-profiel te koppelen aan uw WAF-beleid
Gebruik de opdracht az afd security-policy create om een beveiligingsbeleid te maken voor uw Azure Front Door-profiel. Een beveiligingsbeleid koppelt uw WAF-beleid aan domeinen die u wilt beveiligen door de WAF-regel.
In dit voorbeeld koppelt u de standaardhostnaam van het eindpunt aan uw WAF-beleid:
securityPolicyName='MySecurityPolicy'
wafPolicyResourceId=$(az network front-door waf-policy show --name $wafPolicyName --resource-group $resourceGroupName --query id --output tsv)
frontDoorEndpointResourceId=$(az afd endpoint show --endpoint-name $frontDoorEndpointName --profile-name $frontDoorProfileName --resource-group $resourceGroupName --query id --output tsv)
az afd security-policy create \
--security-policy-name $securityPolicyName \
--profile-name $frontDoorProfileName \
--resource-group $resourceGroupName \
--domains $frontDoorEndpointResourceId \
--waf-policy $wafPolicyResourceId
Met de voorgaande code wordt gezocht naar de Azure-resource-id's voor het WAF-beleid en het Azure Front Door-eindpunt, zodat deze kunnen worden gekoppeld aan uw beveiligingsbeleid.
Notitie
Wanneer u wijzigingen aanbrengt in uw WAF-beleid, hoeft u het Azure Front Door-beveiligingsbeleid niet opnieuw te maken. WAF-beleidsupdates worden automatisch toegepast op de Azure Front Door-domeinen.
Snelstart
Als u een Azure Front Door-profiel met een regel voor frequentielimiet wilt maken met behulp van Bicep, raadpleegt u de quickstart Azure Front Door Standard of Premium met frequentielimiet Bicep.
Volgende stappen
Meer informatie over Azure Front Door.