Självstudie: Skala och skydda ett webbprogram snabbt med hjälp av Azure Front Door och Azure Web Application Firewall (WAF)
Viktigt!
Azure Front Door (klassisk) dras tillbaka den 31 mars 2027. För att undvika avbrott i tjänsten är det viktigt att du migrerar dina Azure Front Door-profiler (klassiska) till Azure Front Door Standard- eller Premium-nivån senast i mars 2027. Mer information finns i Azure Front Door (klassisk) tillbakadragning.
Många webbprogram upplever en snabb ökning av trafiken över tid. Dessa webbprogram upplever också en ökning av skadlig trafik, inklusive överbelastningsattacker. Det finns ett effektivt sätt att både skala ut ditt program för trafiktoppar och skydda dig mot attacker: konfigurera Azure Front Door med Azure WAF som ett accelerations-, cachelagrings- och säkerhetslager framför webbappen. Den här artikeln innehåller vägledning om hur du konfigurerar Azure Front Door med Azure WAF för alla webbappar som körs i eller utanför Azure.
Vi använder Azure CLI för att konfigurera WAF i den här självstudien. Du kan göra samma sak med hjälp av Azure-portalen, Azure PowerShell, Azure Resource Manager eller Azure REST-API:erna.
I den här självstudien lär du dig att:
- Skapa en Front Door.
- Skapa en Azure WAF-princip.
- Konfigurera regeluppsättningar för en WAF-princip.
- Associera en WAF-princip med Front Door.
- Konfigurera en anpassad domän.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Anvisningarna i den här självstudien använder Azure CLI. Visa den här guiden för att komma igång med Azure CLI.
Dricks
Ett enkelt och snabbt sätt att komma igång med Azure CLI är med Bash i Azure Cloud Shell.
Kontrollera att
front-door
tillägget har lagts till i Azure CLI:az extension add --name front-door
Kommentar
Mer information om de kommandon som används i den här självstudien finns i Azure CLI-referens för Front Door.
Skapa en Azure Front Door-resurs
az network front-door create --backend-address <> --accepted-protocols <> --name <> --resource-group <>
--backend-address
: Det fullständigt kvalificerade domännamnet (FQDN) för det program som du vill skydda. Exempel: myapplication.contoso.com
--accepted-protocols
: Anger de protokoll som du vill att Azure Front Door ska stödja för ditt webbprogram. Exempel: --accepted-protocols Http Https
--name
: Namnet på din Azure Front Door-resurs.
--resource-group
: Den resursgrupp som du vill placera den här Azure Front Door-resursen i. Mer information om resursgrupper finns i Hantera resursgrupper i Azure.
I svaret du får när du kör det här kommandot letar du efter nyckeln hostName
. Du behöver det här värdet i ett senare steg. hostName
är DNS-namnet på den Azure Front Door-resurs som du skapade.
Skapa en Azure WAF-profil som ska användas med Azure Front Door-resurser
az network front-door waf-policy create --name <> --resource-group <> --disabled false --mode Prevention
--name
: Namnet på den nya Azure WAF-principen.
--resource-group
: Den resursgrupp som du vill placera den här WAF-resursen i.
Föregående CLI-kod skapar en WAF-princip i förebyggande läge.
Kommentar
Du kanske vill skapa WAF-principen i identifieringsläge och se hur den identifierar och loggar skadliga begäranden (utan att blockera dem) innan du bestämmer dig för att använda skyddsläge.
I svaret du får när du kör det här kommandot letar du efter nyckeln ID
. Du behöver det här värdet i ett senare steg.
Fältet ID
ska vara i det här formatet:
/subscriptions/subscription id/resourcegroups/resource group name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/WAF policy name
Lägga till hanterade regeluppsättningar i WAF-principen
Du kan lägga till hanterade regeluppsättningar i en WAF-princip. En hanterad regeluppsättning är en uppsättning regler som skapats och hanteras av Microsoft och som hjälper dig att skydda dig mot en klass av hot. I det här exemplet lägger vi till två regeluppsättningar:
- Standardregeluppsättningen som hjälper dig att skydda dig mot vanliga webbhot.
- Regeluppsättningen för robotskydd som hjälper dig att skydda dig mot skadliga robotar.
Lägg till standardregeluppsättningen:
az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0
Lägg till regeluppsättningen för robotskydd:
az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0
--policy-name
: Det namn som du angav för din Azure WAF-resurs.
--resource-group
: Den resursgrupp som du placerade WAF-resursen i.
Associera WAF-principen med Azure Front Door-resursen
I det här steget associerar vi WAF-principen som vi skapade med Azure Front Door-resursen som finns framför ditt webbprogram:
az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'
--name
: Det namn som du angav för din Azure Front Door-resurs.
--resource-group
: Resursgruppen som du placerade Azure Front Door-resursen i.
--set
: Är där du uppdaterar WebApplicationFirewallPolicyLink
attributet för den frontendEndpoint
som är associerad med din Azure Front Door-resurs med den nya WAF-principen. Du bör ha ID för WAF-principen från det svar du fick när du skapade WAF-profilen tidigare i den här självstudien.
Kommentar
Föregående exempel gäller när du inte använder en anpassad domän. Om du inte använder några anpassade domäner för att komma åt dina webbprogram kan du hoppa över nästa avsnitt. I så fall ger du dina kunder den hostName
du fick när du skapade Azure Front Door-resursen. De använder detta hostName
för att gå till din webbapp.
Konfigurera den anpassade domänen för webbappen
Det anpassade domännamnet för ditt webbprogram är det som kunder använder för att referera till ditt program. Till exempel www.contoso.com. Ursprungligen pekade det här anpassade domännamnet på platsen där det kördes innan du introducerade Azure Front Door. När du har lagt till Azure Front Door och WAF framför programmet ska DNS-posten som motsvarar den anpassade domänen peka på Azure Front Door-resursen. Du kan göra den här ändringen genom att mappa om posten i DNS-servern till Azure Front Door hostName
som du noterade när du skapade Azure Front Door-resursen.
Specifika steg för att uppdatera DNS-posterna beror på DNS-tjänstleverantören. Om du använder Azure DNS som värd för ditt DNS-namn kan du läsa dokumentationen om steg för att uppdatera en DNS-post och peka på Azure Front Door hostName
.
Det finns en viktig sak att notera om du behöver dina kunder för att komma till din webbplats med hjälp av zonens apex (till exempel contoso.com). I det här fallet måste du använda Azure DNS och dess aliasposttyp som värd för ditt DNS-namn.
Du måste också uppdatera Azure Front Door-konfigurationen för att lägga till den anpassade domänen så att den är medveten om den här mappningen.
Slutligen, om du använder en anpassad domän för att nå ditt webbprogram och vill aktivera HTTPS-protokollet. Du måste konfigurera certifikaten för din anpassade domän i Azure Front Door.
Lås webbappen
Vi rekommenderar att du ser till att endast Azure Front Door-kanter kan kommunicera med ditt webbprogram. Detta säkerställer att ingen kan kringgå Azure Front Door-skyddet och komma åt ditt program direkt. Information om hur du utför den här nedlåsningen finns i Hur gör jag för att låsa åtkomsten till min serverdel till endast Azure Front Door?.
Rensa resurser
När du inte längre behöver de resurser som används i den här självstudien använder du kommandot az group delete för att ta bort resursgruppen, Front Door och WAF-principen:
az group delete \
--name <>
--name
: Namnet på resursgruppen för alla resurser som används i den här självstudien.
Nästa steg
Information om hur du felsöker din Front Door finns i felsökningsguiderna: