Kurz: Rychlé škálování a ochrana webové aplikace pomocí služby Azure Front Door a firewallu webových aplikací Azure (WAF)

Důležité

Služba Azure Front Door (Classic) bude vyřazena 31. března 2027. Abyste se vyhnuli přerušení služeb, je důležité do března 2027 migrovat profily služby Azure Front Door (Classic) na úroveň Azure Front Door Standard nebo Premium. Další informace najdete v části Vyřazení služby Azure Front Door (Classic).

Mnoho webových aplikací má rychlý nárůst provozu v průběhu času. U těchto webových aplikací dochází také k nárůstu škodlivého provozu, včetně útoků na dostupnost služby. Existuje efektivní způsob, jak škálovat aplikaci pro zvýšení provozu a chránit se před útoky: Nakonfigurujte Službu Azure Front Door s Azure WAF jako akceleraci, ukládání do mezipaměti a vrstvu zabezpečení před vaší webovou aplikací. Tento článek obsahuje pokyny, jak získat Službu Azure Front Door s Azure WAF nakonfigurovanou pro libovolnou webovou aplikaci, která běží uvnitř Azure nebo mimo Azure.

K konfiguraci WAF v tomto kurzu používáme Azure CLI. Totéž můžete provést pomocí webu Azure Portal, Azure PowerShellu, Azure Resource Manageru nebo rozhraní Azure REST API.

V tomto kurzu se naučíte:

  • Vytvoření služby Front Door
  • Vytvořte zásadu Azure WAF.
  • Konfigurace sad pravidel pro zásady WAF
  • Přidružte zásady WAF ke službě Front Door.
  • Nakonfigurujte vlastní doménu.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Požadavky

Poznámka:

Další informace o příkazech použitých v tomto kurzu najdete v referenčních informacích k Azure CLI pro službu Front Door.

Vytvoření prostředku Služby Azure Front Door

az network front-door create --backend-address <>  --accepted-protocols <> --name <> --resource-group <>

--backend-address: Plně kvalifikovaný název domény (FQDN) aplikace, kterou chcete chránit. Například myapplication.contoso.com.

--accepted-protocols: Určuje protokoly, které má Služba Azure Front Door podporovat pro vaši webovou aplikaci. Například --accepted-protocols Http Https.

--name: Název prostředku služby Azure Front Door.

--resource-group: Skupina prostředků, do které chcete umístit tento prostředek Služby Azure Front Door. Další informace o skupinách prostředků najdete v tématu Správa skupin prostředků v Azure.

V odpovědi, kterou získáte při spuštění tohoto příkazu, vyhledejte klíč hostName. Tuto hodnotu budete potřebovat v pozdějším kroku. Jedná se hostName o název DNS prostředku Služby Azure Front Door, který jste vytvořili.

Vytvoření profilu Azure WAF pro použití s prostředky Služby Azure Front Door

az network front-door waf-policy create --name <>  --resource-group <>  --disabled false --mode Prevention

--name: Název nové zásady Azure WAF.

--resource-group: Skupina prostředků, do které chcete umístit tento prostředek WAF.

Předchozí kód rozhraní příkazového řádku vytvoří zásadu WAF v režimu prevence.

Poznámka:

Možná budete chtít vytvořit zásadu WAF v režimu detekce a sledovat, jak detekuje a protokoluje škodlivé požadavky (aniž byste je blokovali), než se rozhodnete použít režim ochrany.

V odpovědi, kterou získáte při spuštění tohoto příkazu, vyhledejte klíč ID. Tuto hodnotu budete potřebovat v pozdějším kroku.

Pole ID by mělo být v tomto formátu:

/subscriptions/subscription id/resourcegroups/resourcegroups/resource group name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/WAF policy name

Přidání sad spravovaných pravidel do zásad WAF

Spravované sady pravidel můžete přidat do zásad WAF. Spravovaná sada pravidel je sada pravidel vytvořená a spravovaná Microsoftem, která pomáhá chránit před třídou hrozeb. V tomto příkladu přidáváme dvě sady pravidel:

  • Výchozí sada pravidel, která pomáhá chránit vás před běžnými webovými hrozbami.
  • Sada pravidel ochrany robota, která pomáhá chránit vás před škodlivými roboty.

Přidejte výchozí sadu pravidel:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0

Přidejte sadu pravidel ochrany robota:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0

--policy-name: Název, který jste zadali pro prostředek Azure WAF.

--resource-group: Skupina prostředků, do které jste umístili prostředek WAF.

Přidružení zásad WAF k prostředku Služby Azure Front Door

V tomto kroku přidružíme zásadu WAF, kterou jsme vytvořili, s prostředkem služby Azure Front Door, který je před vaší webovou aplikací:

az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'

--name: Název, který jste zadali pro prostředek Služby Azure Front Door.

--resource-group: Skupina prostředků, do které jste umístili prostředek Azure Front Door.

--set: Tady aktualizujete WebApplicationFirewallPolicyLink atribut přidruženého k vašemu frontendEndpoint prostředku Služby Azure Front Door pomocí nových zásad WAF. Měli byste mít ID zásady WAF z odpovědi, kterou jste získali při vytváření profilu WAF dříve v tomto kurzu.

Poznámka:

Předchozí příklad platí, když nepoužíváte vlastní doménu. Pokud pro přístup k webovým aplikacím nepoužíváte žádné vlastní domény, můžete přeskočit další část. V takovém případě poskytnete zákazníkům hostName , které jste získali při vytváření prostředku Azure Front Door. Použije ho hostName k přechodu na webovou aplikaci.

Konfigurace vlastní domény pro webovou aplikaci

Název vlastní domény vaší webové aplikace je ten, který zákazníci používají k odkazování na vaši aplikaci. Například www.contoso.com. Tento vlastní název domény zpočátku odkazoval na umístění, ve kterém byl spuštěný, než jste zavedli Službu Azure Front Door. Po přidání služby Azure Front Door a WAF do fronty aplikace by položka DNS odpovídající této vlastní doméně měla odkazovat na prostředek Služby Azure Front Door. Tuto změnu můžete provést tak, že znovu namapujete položku na serveru DNS na Službu Azure Front Door hostName , kterou jste si poznamenali při vytváření prostředku Azure Front Door.

Konkrétní postup aktualizace záznamů DNS závisí na poskytovateli služeb DNS. Pokud k hostování názvu DNS používáte Azure DNS, můžete si projděte dokumentaci k postupu aktualizace záznamu DNS a nasměrování na Službu Azure Front Door hostName.

Pokud potřebujete, aby se vaši zákazníci dostali na web pomocí vrcholu zóny (například contoso.com), je potřeba poznamenat jednu důležitou věc. V takovém případě musíte k hostování názvu DNS použít Azure DNS a jeho typ záznamu aliasu.

Potřebujete také aktualizovat konfiguraci služby Azure Front Door, aby se do ní přidala vlastní doména , aby o tomto mapování věděla.

A konečně, pokud k připojení k webové aplikaci používáte vlastní doménu a chcete povolit protokol HTTPS. Musíte nastavit certifikáty pro vlastní doménu ve službě Azure Front Door.

Uzamknutí webové aplikace

Doporučujeme zajistit, aby s webovou aplikací mohly komunikovat jenom hrany služby Azure Front Door. Tím se zajistí, že nikdo nebude moct obejít ochranu služby Azure Front Door a přistupovat k vaší aplikaci přímo. Pokud chcete tento zámek provést, podívejte se, Návody uzamknout přístup k mému back-endu jenom ke službě Azure Front Door?.

Vyčištění prostředků

Pokud už prostředky použité v tomto kurzu nepotřebujete, pomocí příkazu az group delete odeberte skupinu prostředků, front Door a zásadu WAF:

  az group delete \
    --name <>

--name: Název skupiny prostředků pro všechny prostředky použité v tomto kurzu.

Další kroky

Informace o řešení potíží se službou Front Door najdete v průvodcích odstraňováním potíží: