Een IP-beperkingsregel configureren met een WAF voor Azure Front Door

In dit artikel wordt beschreven hoe u IP-beperkingsregels configureert in een Web Application Firewall (WAF) voor Azure Front Door met behulp van de Azure Portal, de Azure CLI, Azure PowerShell of een Azure Resource Manager-sjabloon.

Een op IP-adressen gebaseerde regel voor toegangsbeheer is een aangepaste WAF-regel waarmee u de toegang tot uw webtoepassingen kunt beheren. De regel geeft een lijst met IP-adressen of IP-adresbereiken op in cidr-indeling (Classless Inter-Domain Routing).

Er zijn twee soorten overeenkomstvariabelen in een IP-adresovereenkomst: RemoteAddr en SocketAddr. De RemoteAddr variabele is het oorspronkelijke CLIENT-IP-adres dat meestal wordt verzonden via de X-Forwarded-For aanvraagheader. De SocketAddr variabele is het bron-IP-adres dat de WAF ziet. Als uw gebruiker zich achter een proxy bevindt, SocketAddr is dit vaak het adres van de proxyserver.

Uw webtoepassing is standaard toegankelijk via internet. Als u de toegang tot clients vanuit een lijst met bekende IP-adressen of IP-adresbereiken wilt beperken, kunt u een IP-matchingregel maken die de lijst met IP-adressen als overeenkomende waarden bevat en de operator instelt op Not (negate is true) en de actie op Block. Nadat een IP-beperkingsregel is toegepast, ontvangen aanvragen die afkomstig zijn van adressen buiten deze lijst met toegestane adressen het antwoord 403 Verboden.

Een WAF-beleid configureren met de Azure Portal

Volg deze stappen om een WAF-beleid te configureren met behulp van de Azure Portal.

Vereisten

Maak een Azure Front Door-profiel door de instructies te volgen die worden beschreven in Quickstart: Een Azure Front Door-exemplaar maken voor een maximaal beschikbare wereldwijde webtoepassing.

Een WAF-beleid maken

  1. Selecteer Een resource maken in de Azure-portal. Voer Web application firewall in het zoekvak Zoekservices en Marketplace in en selecteer Enter. Selecteer vervolgens Web Application Firewall (WAF).

  2. Selecteer Maken.

  3. Gebruik op de pagina Een WAF-beleid maken de volgende waarden om het tabblad Basisinformatie te voltooien.

    Instelling Waarde
    Beleid voor Global WAF (Front Door).
    Front Door-laag Selecteer Premium of Standard om overeen te komen met uw Azure Front Door-laag.
    Abonnement Selecteer uw abonnement.
    Resourcegroep Selecteer de resourcegroep waarin uw Azure Front Door-exemplaar zich bevindt.
    Beleidsnaam Voer een naam in voor uw beleid.
    Beleidsstatus Geselecteerd.
    Beleidsmodus Preventie.
  4. Selecteer Volgende: Beheerde regels.

  5. Selecteer Volgende: Beleidsinstellingen.

  6. Voer op het tabblad BeleidsinstellingenU bent geblokkeerd! in voor de antwoordtekst Blokkeren , zodat u kunt zien dat uw aangepaste regel van kracht is.

  7. Selecteer Volgende: Aangepaste regels.

  8. Selecteer Aangepaste regel toevoegen.

  9. Gebruik op de pagina Aangepaste regel toevoegen de volgende testwaarden om een aangepaste regel te maken.

    Instelling Waarde
    Naam van aangepaste regel FdWafCustRule
    Status Ingeschakeld
    Regeltype Match
    Prioriteit 100
    Type overeenkomst IP-adres
    Matchvariabele SocketAddr
    Bewerking Bevat niet
    IP-adres of -bereik 10.10.10.0/24
    Dan Verkeer weigeren

    Aangepaste regel

    Selecteer Toevoegen.

  10. Selecteer Volgende: Koppeling.

  11. Selecteer Een Front Door-profiel koppelen.

  12. Selecteer voor Front-endprofiel uw front-endprofiel.

  13. Selecteer bij Domein het domein.

  14. Selecteer Toevoegen.

  15. Selecteer Controleren en maken.

  16. Nadat uw beleidsvalidatie is geslaagd, selecteert u Maken.

Uw WAF-beleid testen

  1. Nadat de implementatie van uw WAF-beleid is voltooid, bladert u naar de naam van de front-endhost van Azure Front Door.

  2. U ziet nu het aangepaste blokkeringsbericht.

    WAF-regeltest

    Notitie

    Er is opzettelijk een privé-IP-adres gebruikt in de aangepaste regel om te garanderen dat de regel wordt geactiveerd. Maak in een daadwerkelijke implementatie regels voor toestaan en weigeren met behulp van IP-adressen voor uw specifieke situatie.

Een WAF-beleid configureren met de Azure CLI

Volg deze stappen om een WAF-beleid te configureren met behulp van de Azure CLI.

Vereisten

Voordat u een IP-beperkingsbeleid gaat configureren, moet u uw CLI-omgeving instellen en een Azure Front Door-profiel maken.

De Azure CLI-omgeving instellen

  1. Installeer de Azure CLI of gebruik Azure Cloud Shell. Azure Cloud Shell is een gratis Bash-shell die u rechtstreeks in Azure Portal kunt uitvoeren. In deze shell is de Azure CLI vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account. Selecteer de knop Uitproberen in de CLI-opdrachten die volgen. Meld u vervolgens aan bij uw Azure-account in de Cloud Shell sessie die wordt geopend. Nadat de sessie is gestart, voert u in az extension add --name front-door om de Azure Front Door-extensie toe te voegen.
  2. Als u de CLI lokaal in Bash gebruikt, meldt u zich aan bij Azure met behulp van az login.

Een Azure Front Door-profiel maken

Maak een Azure Front Door-profiel door de instructies te volgen die worden beschreven in Quickstart: Een Azure Front Door-exemplaar maken voor een maximaal beschikbare wereldwijde webtoepassing.

Een WAF-beleid maken

Maak een WAF-beleid met behulp van de opdracht az network front-door waf-policy create . Vervang in het volgende voorbeeld de beleidsnaam IPAllowPolicyExampleCLI door een unieke beleidsnaam.

az network front-door waf-policy create \
  --resource-group <resource-group-name> \
  --subscription <subscription ID> \
  --name IPAllowPolicyExampleCLI

Een aangepaste regel voor IP-toegangsbeheer toevoegen

Gebruik de opdracht az network front-door waf-policy custom-rule create om een aangepaste REGEL voor IP-toegangsbeheer toe te voegen voor het WAF-beleid dat u hebt gemaakt.

In de volgende voorbeelden:

  • Vervang IPAllowPolicyExampleCLI door uw unieke beleid dat u eerder hebt gemaakt.
  • Vervang ip-address-range-1, ip-address-range-2 door uw eigen bereik.

Maak eerst een IP-regel voor toestaan voor het beleid dat in de vorige stap is gemaakt.

Notitie

--defer is vereist omdat een regel een overeenkomstvoorwaarde moet hebben om in de volgende stap te kunnen worden toegevoegd.

az network front-door waf-policy rule create \
  --name IPAllowListRule \
  --priority 1 \
  --rule-type MatchRule \
  --action Block \
  --resource-group <resource-group-name> \
  --policy-name IPAllowPolicyExampleCLI --defer

Voeg vervolgens een overeenkomstvoorwaarde toe aan de regel:

az network front-door waf-policy rule match-condition add \
--match-variable SocketAddr \
--operator IPMatch \
--values "ip-address-range-1" "ip-address-range-2" \
--negate true \
--name IPAllowListRule \
  --resource-group <resource-group-name> \
  --policy-name IPAllowPolicyExampleCLI

De id van een WAF-beleid zoeken

Zoek de id van een WAF-beleid met behulp van de opdracht az network front-door waf-policy show . Vervang IPAllowPolicyExampleCLI in het volgende voorbeeld door uw unieke beleid dat u eerder hebt gemaakt.

az network front-door  waf-policy show \
  --resource-group <resource-group-name> \
  --name IPAllowPolicyExampleCLI

Stel de Azure Front Door WebApplicationFirewallPolicyLink ID in op de beleids-id met behulp van de opdracht az network front-door update . Vervang IPAllowPolicyExampleCLI door uw unieke beleid dat u eerder hebt gemaakt.

az network front-door update \
  --set FrontendEndpoints[0].WebApplicationFirewallPolicyLink.id=/subscriptions/<subscription ID>/resourcegroups/resource-group-name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/IPAllowPolicyExampleCLI \
  --name <frontdoor-name> \
  --resource-group <resource-group-name>

In dit voorbeeld wordt het WAF-beleid toegepast op FrontendEndpoints[0]. U kunt het WAF-beleid koppelen aan een van uw front-ends.

Notitie

U hoeft de WebApplicationFirewallPolicyLink eigenschap slechts eenmaal in te stellen om een WAF-beleid te koppelen aan een Azure Front Door-front-end. Volgende beleidsupdates worden automatisch toegepast op de front-end.

Een WAF-beleid configureren met Azure PowerShell

Volg deze stappen om een WAF-beleid te configureren met behulp van Azure PowerShell.

Vereisten

Voordat u een IP-beperkingsbeleid gaat configureren, moet u uw PowerShell-omgeving instellen en een Azure Front Door-profiel maken.

Uw PowerShell-omgeving instellen

Azure PowerShell biedt een set cmdlets die gebruikmaken van het Azure Resource Manager-model voor het beheren van Azure-resources.

U kunt Azure PowerShell op uw lokale computer installeren en in elke PowerShell-sessie gebruiken. Volg de instructies op de pagina om u aan te melden bij PowerShell met uw Azure-referenties en installeer vervolgens de Az-module.

  1. Maak verbinding met Azure met behulp van de volgende opdracht en gebruik vervolgens een interactief dialoogvenster om u aan te melden.

    Connect-AzAccount
    
  2. Voordat u een Azure Front Door-module installeert, moet u ervoor zorgen dat u de huidige versie van de PowerShellGet-module hebt geïnstalleerd. Voer de volgende opdracht uit en open PowerShell opnieuw.

    Install-Module PowerShellGet -Force -AllowClobber
    
  3. Installeer de module Az.FrontDoor met behulp van de volgende opdracht:

    Install-Module -Name Az.FrontDoor
    

Een Azure Front Door-profiel maken

Maak een Azure Front Door-profiel door de instructies te volgen die worden beschreven in Quickstart: Een Front Door maken voor een maximaal beschikbare wereldwijde webtoepassing.

Een IP-overeenkomstvoorwaarde definiëren

Gebruik de opdracht New-AzFrontDoorWafMatchConditionObject om een IP-overeenkomstvoorwaarde te definiëren. Vervang in het volgende voorbeeld ip-address-range-1, ip-address-range-2 door uw eigen bereik.

$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable  SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1

Een aangepaste ip-regel voor toestaan maken

Gebruik de opdracht New-AzFrontDoorWafCustomRuleObject om een actie te definiëren en een prioriteit in te stellen. In het volgende voorbeeld worden aanvragen die niet afkomstig zijn van client-IP-adressen die overeenkomen met de lijst geblokkeerd.

$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1

Een WAF-beleid configureren

Zoek de naam van de resourcegroep die het Azure Front Door-profiel bevat met behulp van Get-AzResourceGroup. Configureer vervolgens een WAF-beleid met de IP-regel met behulp van New-AzFrontDoorWafPolicy.

  $IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
    -Name "IPRestrictionExamplePS" `
    -resourceGroupName <resource-group-name> `
    -Customrule $IPAllowRule`
    -Mode Prevention `
    -EnabledState Enabled

Tip

Voor een bestaand WAF-beleid kunt u Update-AzFrontDoorWafPolicy gebruiken om het beleid bij te werken.

Koppel een WAF-beleidsobject aan een bestaande front-endhost en werk Azure Front Door-eigenschappen bij. Haal eerst het Azure Front Door-object op met behulp van Get-AzFrontDoor. Stel vervolgens de WebApplicationFirewallPolicyLink eigenschap in op de resource-id van $IPAllowPolicyExamplePS, gemaakt in de vorige stap, met behulp van de opdracht Set-AzFrontDoor .

  $FrontDoorObjectExample = Get-AzFrontDoor `
    -ResourceGroupName <resource-group-name> `
    -Name $frontDoorName
  $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
  Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Notitie

In dit voorbeeld wordt het WAF-beleid toegepast op FrontendEndpoints[0]. U kunt een WAF-beleid koppelen aan een van uw front-ends. U hoeft de WebApplicationFirewallPolicyLink eigenschap slechts eenmaal in te stellen om een WAF-beleid te koppelen aan een Azure Front Door-front-end. Volgende beleidsupdates worden automatisch toegepast op de front-end.

Een WAF-beleid configureren met een Resource Manager-sjabloon

Als u de sjabloon wilt weergeven waarmee een Azure Front Door-beleid en een WAF-beleid met aangepaste IP-beperkingsregels worden gemaakt, gaat u naar GitHub.

Volgende stappen

Meer informatie over het maken van een Azure Front Door-profiel.