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
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).
Selecteer Maken.
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. Selecteer Volgende: Beheerde regels.
Selecteer Volgende: Beleidsinstellingen.
Voer op het tabblad BeleidsinstellingenU bent geblokkeerd! in voor de antwoordtekst Blokkeren , zodat u kunt zien dat uw aangepaste regel van kracht is.
Selecteer Volgende: Aangepaste regels.
Selecteer Aangepaste regel toevoegen.
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 Selecteer Toevoegen.
Selecteer Volgende: Koppeling.
Selecteer Een Front Door-profiel koppelen.
Selecteer voor Front-endprofiel uw front-endprofiel.
Selecteer bij Domein het domein.
Selecteer Toevoegen.
Selecteer Controleren en maken.
Nadat uw beleidsvalidatie is geslaagd, selecteert u Maken.
Uw WAF-beleid testen
Nadat de implementatie van uw WAF-beleid is voltooid, bladert u naar de naam van de front-endhost van Azure Front Door.
U ziet nu het aangepaste blokkeringsbericht.
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
- 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. - 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
Een WAF-beleid koppelen aan een Front-endhost van Azure Front Door
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.
Maak verbinding met Azure met behulp van de volgende opdracht en gebruik vervolgens een interactief dialoogvenster om u aan te melden.
Connect-AzAccount
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
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.
Een WAF-beleid koppelen aan een Front-endhost van Azure Front Door
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.