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-portalen, 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-portalen.
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-princip
Välj Skapa en resurs på Azure-portalen. Ange brandväggen för webbprogram i sökrutan usluga pretrage s och marketplace och välj Retur. 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 |
Princip för |
Global WAF (Front Door). |
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. |
Principnamn |
Ange ett namn på principen. |
Principtillstånd |
Har valts |
Principläge |
Prevention (Skydd) |
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 |
Status |
Aktiverat |
Regeltyp |
Matchning |
Prioritet |
100 |
Matchningstyp |
IP-adress |
Matcha variabel |
SocketAddr |
Å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.
Kommentar
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 loggar du in på Azure med hjälp
az login
av .
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-princip
Skapa en WAF-princip med hjälp av 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 princip som skapades tidigare.
- Ersätt ip-address-range-1, ip-address-range-2 med ditt eget intervall.
Skapa först en IP-tillåtna regel för principen som skapades från föregående steg.
Kommentar
--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-princip
Hitta waf-principens 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-princip till en Azure Front Door-klientdelsvärd
Ange Azure Front Door WebApplicationFirewallPolicyLink-ID till princip-ID:t med hjälp av kommandot az network front-door update . Ersätt IPAllowPolicyExampleCLI med din unika princip 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-principen till någon av dina klientdelar.
Kommentar
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 principuppdateringar tillämpas automatiskt på klientdelen.
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 PRINCIP för IP-begränsning konfigurerar du din PowerShell-miljö och skapar 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åtna
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-AzResourceGroup
av . Konfigurera sedan en WAF-princip med IP-regeln med hjälp av New-AzFrontDoorWafPolicy.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
Länka en WAF-princip till en Azure Front Door-klientdelsvärd
Länka ett WAF-principobjekt till en befintlig klientdelsvärd 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 $IPAllowPolicyExamplePS
fö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]
Kommentar
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 principuppdateringar tillämpas automatiskt på klientdelen.
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.