Share via


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

  1. 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).

  2. Välj Skapa.

  3. 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.
  4. Välj Nästa: Hanterade regler.

  5. Välj Nästa: Principinställningar.

  6. 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.

  7. Välj Nästa: Anpassade regler.

  8. Välj Lägg till anpassad regel.

  9. 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

    Anpassad regel

    Välj Lägg till.

  10. Välj Nästa: Association.

  11. Välj Associera en Front door-profil.

  12. För Klientdelsprofil väljer du din klientdelsprofil.

  13. För Domän väljer du domänen.

  14. Välj Lägg till.

  15. Välj Granska + skapa.

  16. När principverifieringen har godkänts väljer du Skapa.

Testa waf-principen

  1. När WAF-principdistributionen är klar bläddrar du till azure Front Door-värdnamnet för klientdelen.

  2. Du bör se ditt anpassade blockmeddelande.

    WAF-regeltest

    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

  1. 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.
  2. Om du använder CLI lokalt i Bash loggar du in på Azure med hjälp az loginav .

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

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.

  1. Anslut till Azure med hjälp av följande kommando och använd sedan en interaktiv dialogruta för att logga in.

    Connect-AzAccount
    
  2. 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
    
  3. 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-AzResourceGroupav . 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 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 $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 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.