Den här artikeln visar hur du konfigurerar IP-begränsningsregler i en brandvägg för webbprogram (WAF) för Azure Front Door med hjälp av Azure Portal, Azure CLI, Azure PowerShell eller en Azure Resource Manager-mall.
En IP-adressbaserad åtkomstkontrollregel är en anpassad WAF-regel som gör att du kan styra åtkomsten till dina webbprogram. Regeln anger en lista över IP-adresser eller IP-adressintervall i CIDR-format (Classless Inter-Domain Routing).
Som standard är webbappen tillgänglig från Internet. Om du vill begränsa åtkomsten till klienter från en lista över kända IP-adresser eller IP-adressintervall kan du skapa en IP-matchningsregel som innehåller listan över IP-adresser som matchande värden och anger operatorn till Not (negate är sant) och åtgärden till Block. När en IP-begränsningsregel har tillämpats får begäranden som kommer från adresser utanför den här tillåtna listan ett 403-förbjudet svar.
Följ de här stegen för att konfigurera en WAF-princip med hjälp av Azure Portal.
Förutsättningar
Skapa en Azure Front Door-profil genom att följa anvisningarna i Snabbstart: Skapa en Azure Front Door-instans för ett globalt webbprogram med hög tillgänglighet.
Skapa en WAF-policy
Välj Skapa en resurs på Azure-portalen. Ange Webbapplikationsbrandvägg i sökrutan för Search services och marketplace och tryck på Enter. Välj sedan Web Application Firewall (WAF).
Välj Skapa.
På sidan Skapa en WAF-princip använder du följande värden för att slutföra fliken Grundläggande .
| Inställning |
Värde |
| Policy för |
Global WAF (ytterdörr). |
| Ytterdörrsnivå |
Välj Premium eller Standard för att matcha din Azure Front Door-nivå. |
| Prenumeration |
Välj din prenumeration. |
| Resursgrupp |
Välj den resursgrupp där din Azure Front Door-instans finns. |
| Policynamn |
Ange ett namn för policyn. |
| Principtillstånd |
Har valts |
| Policyläge |
Förebyggande |
Välj Nästa: Hanterade regler.
Välj Nästa: Principinställningar.
På fliken Principinställningar anger du Du har blockerats! för brödtexten Blockera svar så att du kan se att din anpassade regel gäller.
Välj Nästa: Anpassade regler.
Välj Lägg till anpassad regel.
På sidan Lägg till anpassad regel använder du följande testvärden för att skapa en anpassad regel.
| Inställning |
Värde |
| Namn på anpassad regel |
FdWafCustRule |
| Läge |
Aktiverat |
| Regeltyp |
Tändsticka |
| Prioritet |
100 |
| Matchningstyp |
IP-adress |
| Matcha variabel |
SocketAddr (på engelska) |
| Åtgärd |
Innehåller inte |
| IP-adress eller intervall |
10.10.10.0/24 |
| Gäller följande |
Neka trafik |
Markera Lägga till.
Välj Nästa: Association.
Välj Associera en frontdörrprofil.
För Klientdelsprofil väljer du din klientdelsprofil.
För Domän väljer du domänen.
Markera Lägga till.
Välj Granska + skapa.
När principverifieringen har godkänts väljer du Skapa.
Testa waf-principen
När waf-principdistributionen har slutförts bläddrar du till ditt Azure Front Door-värdnamn.
Du bör se ditt anpassade blockmeddelande.
Anteckning
En privat IP-adress användes avsiktligt i den anpassade regeln för att garantera att regeln skulle utlösas. I en faktisk distribution skapar du regler för att tillåta och neka genom att använda IP-adresser för din specifika situation.
Följ de här stegen för att konfigurera en WAF-princip med hjälp av Azure CLI.
Förutsättningar
Innan du börjar konfigurera en PRINCIP för IP-begränsning konfigurerar du DIN CLI-miljö och skapar en Azure Front Door-profil.
Konfigurera Azure CLI-miljön
-
Installera Azure CLI eller använd Azure Cloud Shell. Azure Cloud Shell är ett kostnadsfritt Bash-gränssnitt som du kan köra direkt i Azure-portalen. Den har Azure CLI förinstallerat och har konfigurerats för användning med ditt konto.
Välj knappen Prova i CLI-kommandona som följer. Logga sedan in på ditt Azure-konto i Cloud Shell-sessionen som öppnas. När sessionen har startat anger du
az extension add --name front-door för att lägga till Azure Front Door-tillägget.
- Om du använder CLI lokalt i Bash, logga in på Azure med
az login.
Skapa en Azure Front Door-profil
Skapa en Azure Front Door-profil genom att följa anvisningarna i Snabbstart: Skapa en Azure Front Door-instans för ett globalt webbprogram med hög tillgänglighet.
Skapa en WAF-policy
Skapa en WAF-princip genom att använda kommandot az network front-door waf-policy create.
I exemplet nedan ersätter du principnamnet IPAllowPolicyExampleCLI med ett unikt principnamn.
az network front-door waf-policy create \
--resource-group <resource-group-name> \
--subscription <subscription ID> \
--name IPAllowPolicyExampleCLI
Lägga till en anpassad IP-åtkomstkontrollregel
Använd kommandot az network front-door waf-policy custom-rule create för att lägga till en anpassad IP-åtkomstkontrollregel för WAF-principen som du skapade.
I följande exempel:
- Ersätt IPAllowPolicyExampleCLI med din unika policy som du skapade tidigare.
- Ersätt ip-address-range-1, ip-address-range-2 med ditt eget intervall.
Skapa först en IP-tillåtelseregel för policyn som skapades i föregående steg.
Anteckning
--defer krävs eftersom en regel måste ha ett matchningsvillkor som ska läggas till i nästa steg.
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
Lägg sedan till ett matchningsvillkor i regeln:
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
Hitta ID för en WAF-policy
Hitta en WAF-policys ID med kommandot az network front-door waf-policy show. Ersätt IPAllowPolicyExampleCLI i följande exempel med din unika princip som du skapade tidigare.
az network front-door waf-policy show \
--resource-group <resource-group-name> \
--name IPAllowPolicyExampleCLI
Länka en WAF-policy till en Azure Front Door-front-end-värd
Ange Azure Front Door WebApplicationFirewallPolicyLink-ID till policy-ID:n genom att använda kommandot az network front-door update. Ersätt IPAllowPolicyExampleCLI med din unika policy som du skapade tidigare.
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>
I det här exemplet tillämpas WAF-principen på FrontendEndpoints[0]. Du kan länka WAF-policy till någon av dina frontändar.
Anteckning
Du behöver bara ange WebApplicationFirewallPolicyLink egenskapen en gång för att länka en WAF-princip till en Azure Front Door-klientdel. Efterföljande policyuppdateringar tillämpas automatiskt på frontend.
Följ de här stegen för att konfigurera en WAF-princip med hjälp av Azure PowerShell.
Förutsättningar
Innan du börjar konfigurera en IP-begränsningspolicy ställ in din PowerShell-miljö och skapa en Azure Front Door-profil.
Konfigurera PowerShell-miljön
Azure PowerShell innehåller en uppsättning cmdletar som använder Azure Resource Manager-modellen för att hantera Azure-resurser.
Du kan installera Azure PowerShell på en lokal dator och använda det i alla PowerShell-sessioner. Följ anvisningarna på sidan för att logga in på PowerShell med dina Azure-autentiseringsuppgifter och installera sedan Modulen Az PowerShell.
Anslut till Azure med hjälp av följande kommando och använd sedan en interaktiv dialogruta för att logga in.
Connect-AzAccount
Innan du installerar en Azure Front Door-modul kontrollerar du att du har den aktuella versionen av PowerShellGet-modulen installerad. Kör följande kommando och öppna sedan PowerShell igen.
Install-Module PowerShellGet -Force -AllowClobber
Installera Az.FrontDoor-modulen med hjälp av följande kommando:
Install-Module -Name Az.FrontDoor
Skapa en Azure Front Door-profil
Skapa en Azure Front Door-profil genom att följa anvisningarna i Snabbstart: Skapa en Front Door för ett globalt webbprogram med hög tillgänglighet.
Definiera ett IP-matchningsvillkor
Använd kommandot New-AzFrontDoorWafMatchConditionObject för att definiera ett IP-matchningsvillkor.
I följande exempel ersätter du ip-address-range-1, ip-address-range-2 med ditt eget intervall.
$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1
Skapa en anpassad regel för IP-tillåtelse
Använd kommandot New-AzFrontDoorWafCustomRuleObject för att definiera en åtgärd och ange en prioritet. I följande exempel blockeras begäranden som inte kommer från klient-IP-adresser som matchar listan.
$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1
Leta reda på namnet på resursgruppen som innehåller Azure Front Door-profilen med hjälp Get-AzResourceGroupav . Nästa, konfigurera en WAF-policy med IP-regeln genom att använda New-AzFrontDoorWafPolicy.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
Länka en WAF-policy till en Azure Front Door-front-end-värd
Länka en WAF-policy till en befintlig fronthost och uppdatera Azure Front Door-egenskaper. Hämta först Azure Front Door-objektet med hjälp av Get-AzFrontDoor. Ange WebApplicationFirewallPolicyLink sedan egenskapen till resurs-ID $IPAllowPolicyExamplePSför , som skapades i föregående steg, med hjälp av kommandot Set-AzFrontDoor .
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName <resource-group-name> `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Anteckning
I det här exemplet tillämpas WAF-principen på FrontendEndpoints[0]. Du kan länka en WAF-princip till någon av dina klientdelar. Du behöver bara ange WebApplicationFirewallPolicyLink egenskapen en gång för att länka en WAF-princip till en Azure Front Door-klientdel. Efterföljande policyuppdateringar tillämpas automatiskt på frontend.
Om du vill visa Resource Manager-mallen som skapar en Azure Front Door-princip och en WAF-princip med anpassade IP-begränsningsregler går du till GitHub.