Konfigurera en REGEL för IP-begränsning med en WAF för Azure Front Door
Den här artikeln visar hur du konfigurerar IP-begränsningsregler i en brandvägg för webbaserade program (WAF) för Azure Front Door med hjälp av mallen Azure Portal, Azure CLI, Azure PowerShell eller en Azure Resource Manager.
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).
Det finns två typer av matchningsvariabler i en IP-adressmatchning: RemoteAddr
och SocketAddr
. Variabeln RemoteAddr
är den ursprungliga klient-IP-adressen som vanligtvis skickas via begärandehuvudet X-Forwarded-For
. Variabeln SocketAddr
är källans IP-adress som WAF ser. Om användaren finns bakom en proxyserver SocketAddr
är den ofta proxyserveradressen.
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 REGEL för IP-begränsning 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.
Konfigurera en WAF-princip med Azure Portal
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 en global webbapp med hög tillgänglighet.
Skapa en WAF-princip
Välj Skapa en resurs på Azure-portalen. Ange brandväggen för webbaserade program i sökrutan Söktjänster 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 Grunder .
Inställning Värde Princip för Global WAF (Front Door). Front door-nivå 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 för principen. Principtillstånd Valda. Principläge Förebyggande. Välj Nästa: Hanterade regler.
Välj Nästa: Principinställningar.
På fliken Principinställningar anger du Du har blockerats! som Block response body (Blockera svarstext ) 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 Enabled 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 Välj Lägg till.
Välj Nästa: Association.
Välj Associera en Front door-profil.
För Klientdelsprofil väljer du din klientdelsprofil.
För Domän väljer du domänen.
Välj Lägg till.
Välj Granska + skapa.
När principverifieringen har godkänts väljer du Skapa.
Testa waf-principen
När WAF-principdistributionen är klar bläddrar du till azure Front Door-värdnamnet för klientdelen.
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.
Konfigurera en WAF-princip med Azure CLI
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 Portal. Den har Azure CLI förinstallerat och har konfigurerats för användning med ditt konto. Välj knappen Prova i de CLI-kommandon som följer. Logga sedan in på ditt Azure-konto i den Cloud Shell session 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 en global webbapp 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 följande exempel 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 REGEL för IP-åtkomstkontroll
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-regel för tillåtna IP-adresser för principen som skapades från 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-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.
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 principuppdateringar tillämpas automatiskt på klientdelen.
Konfigurera en WAF-princip med Azure PowerShell
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 Az-modulen.
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 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 IP-regel för tillåtna IP-adresser
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
Konfigurera en WAF-princip
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
Tips
För en befintlig WAF-princip kan du använda Update-AzFrontDoorWafPolicy för att uppdatera principen.
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]
Anteckning
I det här exemplet tillämpas WAF-principen på FrontendEndpoints[0]
. Du kan länka en WAF-princip till valfri klientdel. 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.
Konfigurera en WAF-princip med en Resource Manager mall
Om du vill visa mallen som skapar en Azure Front Door-princip och en WAF-princip med anpassade IP-begränsningsregler går du till GitHub.
Nästa steg
Lär dig hur du skapar en Azure Front Door-profil.