Samouczek: szybkie skalowanie i ochrona aplikacji internetowej przy użyciu usług Azure Front Door i Azure Web Application Firewall (WAF)
Ważne
Usługa Azure Front Door (klasyczna) zostanie wycofana 31 marca 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure Front Door (wersja klasyczna) do warstwy Azure Front Door Standard lub Premium do marca 2027 r. Aby uzyskać więcej informacji, zobacz Wycofywanie usługi Azure Front Door (wersja klasyczna).
W wielu aplikacjach internetowych występuje szybki wzrost ruchu w czasie. Te aplikacje internetowe również doświadczają wzrostu złośliwego ruchu, w tym ataków typu "odmowa usługi". Istnieje skuteczny sposób skalowania aplikacji w poziomie pod kątem wzrostów ruchu i ochrony przed atakami: konfigurowanie usługi Azure Front Door za pomocą zapory aplikacji internetowej platformy Azure jako przyspieszania, buforowania i warstwy zabezpieczeń przed aplikacją internetową. Ten artykuł zawiera wskazówki dotyczące sposobu konfigurowania usługi Azure Front Door za pomocą zapory aplikacji internetowej platformy Azure dla dowolnej aplikacji internetowej działającej wewnątrz platformy Azure lub poza platformą Azure.
Używamy interfejsu wiersza polecenia platformy Azure do konfigurowania zapory aplikacji internetowej w tym samouczku. Możesz to zrobić za pomocą witryny Azure Portal, programu Azure PowerShell, usługi Azure Resource Manager lub interfejsów API REST platformy Azure.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- tworzenie usługi Front Door.
- Tworzenie zasad zapory aplikacji internetowej platformy Azure.
- Konfigurowanie zestawów reguł dla zasad zapory aplikacji internetowej.
- Kojarzenie zasad zapory aplikacji internetowej z usługą Front Door.
- Konfigurowanie domeny niestandardowej.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Instrukcje w tym samouczku korzystają z interfejsu wiersza polecenia platformy Azure. Zapoznaj się z tym przewodnikiem , aby rozpocząć pracę z interfejsem wiersza polecenia platformy Azure.
Napiwek
Prostym i szybkim sposobem rozpoczęcia pracy z interfejsem wiersza polecenia platformy Azure jest powłoka Bash w usłudze Azure Cloud Shell.
Upewnij się, że
front-door
rozszerzenie zostało dodane do interfejsu wiersza polecenia platformy Azure:az extension add --name front-door
Uwaga
Aby uzyskać więcej informacji na temat poleceń używanych w tym samouczku, zobacz Dokumentacja interfejsu wiersza polecenia platformy Azure dla usługi Front Door.
Tworzenie zasobu usługi Azure Front Door
az network front-door create --backend-address <> --accepted-protocols <> --name <> --resource-group <>
--backend-address
: w pełni kwalifikowana nazwa domeny (FQDN) aplikacji, którą chcesz chronić. Na przykład myapplication.contoso.com
.
--accepted-protocols
: określa protokoły, które mają być obsługiwane przez usługę Azure Front Door dla aplikacji internetowej. Na przykład --accepted-protocols Http Https
.
--name
: nazwa zasobu usługi Azure Front Door.
--resource-group
: grupa zasobów, w której chcesz umieścić ten zasób usługi Azure Front Door. Aby dowiedzieć się więcej na temat grup zasobów, zobacz Zarządzanie grupami zasobów na platformie Azure.
W odpowiedzi, którą otrzymasz po uruchomieniu tego polecenia, poszukaj klucza hostName
. Ta wartość jest potrzebna w późniejszym kroku. Jest hostName
to nazwa DNS utworzonego zasobu usługi Azure Front Door.
Tworzenie profilu zapory aplikacji internetowej platformy Azure do użycia z zasobami usługi Azure Front Door
az network front-door waf-policy create --name <> --resource-group <> --disabled false --mode Prevention
--name
: nazwa nowych zasad zapory aplikacji internetowej platformy Azure.
--resource-group
: grupa zasobów, w której chcesz umieścić ten zasób zapory aplikacji internetowej.
Powyższy kod interfejsu wiersza polecenia tworzy zasady zapory aplikacji internetowej w trybie zapobiegania.
Uwaga
Możesz utworzyć zasady zapory aplikacji internetowej w trybie wykrywania i obserwować sposób wykrywania i rejestrowania złośliwych żądań (bez blokowania ich) przed podjęciem decyzji o użyciu trybu ochrony.
W odpowiedzi, którą otrzymasz po uruchomieniu tego polecenia, poszukaj klucza ID
. Ta wartość jest potrzebna w późniejszym kroku.
Pole ID
powinno mieć następujący format:
/subscriptions/subscription id/resourcegroups/resource group name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/Nazwa zasad zapory aplikacji internetowej
Dodawanie zestawów reguł zarządzanych do zasad zapory aplikacji internetowej
Do zasad zapory aplikacji internetowej można dodać zarządzane zestawy reguł. Zestaw reguł zarządzanych to zestaw reguł utworzonych i zarządzanych przez firmę Microsoft, który pomaga chronić cię przed klasą zagrożeń. W tym przykładzie dodajemy dwa zestawy reguł:
- Domyślny zestaw reguł, który pomaga chronić cię przed typowymi zagrożeniami internetowymi.
- Zestaw reguł ochrony botów, który pomaga chronić przed złośliwymi botami.
Dodaj domyślny zestaw reguł:
az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0
Dodaj zestaw reguł ochrony botów:
az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0
--policy-name
: nazwa określona dla zasobu zapory aplikacji internetowej platformy Azure.
--resource-group
: grupa zasobów, w której umieszczono zasób zapory aplikacji internetowej.
Kojarzenie zasad zapory aplikacji internetowej z zasobem usługi Azure Front Door
W tym kroku skojarzymy zasady zapory aplikacji internetowej utworzone z zasobem usługi Azure Front Door, który znajduje się przed aplikacją internetową:
az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'
--name
: nazwa określona dla zasobu usługi Azure Front Door.
--resource-group
: grupa zasobów, w której umieszczono zasób usługi Azure Front Door.
--set
: To miejsce, w którym aktualizujesz WebApplicationFirewallPolicyLink
atrybut frontendEndpoint
skojarzony z zasobem usługi Azure Front Door przy użyciu nowych zasad zapory aplikacji internetowej. Identyfikator zasad zapory aplikacji internetowej powinien pochodzić z odpowiedzi utworzonej wcześniej w tym samouczku profilu zapory aplikacji internetowej.
Uwaga
Powyższy przykład ma zastosowanie, jeśli nie używasz domeny niestandardowej. Jeśli nie używasz żadnych domen niestandardowych do uzyskiwania dostępu do aplikacji internetowych, możesz pominąć następną sekcję. W takim przypadku przyznasz klientom hostName
dostęp uzyskany podczas tworzenia zasobu usługi Azure Front Door. Użyją tego hostName
polecenia, aby przejść do aplikacji internetowej.
Konfigurowanie domeny niestandardowej dla aplikacji internetowej
Niestandardowa nazwa domeny aplikacji internetowej jest nazwą używaną przez klientów do odwoływania się do aplikacji. Na przykład www.contoso.com. Początkowo ta niestandardowa nazwa domeny wskazywała lokalizację, w której była uruchomiona przed wprowadzeniem usługi Azure Front Door. Po dodaniu usługi Azure Front Door i zapory aplikacji internetowej do przodu aplikacji wpis DNS odpowiadający tej domenie niestandardowej powinien wskazywać zasób usługi Azure Front Door. Tę zmianę można wprowadzić, mapując ponownie wpis na serwerze DNS na zanotowaną podczas tworzenia zasobu usługi Azure Front Door hostName
.
Konkretne kroki aktualizacji rekordów DNS zależą od dostawcy usług DNS. Jeśli używasz usługi Azure DNS do hostowania nazwy DNS, zapoznaj się z dokumentacją , aby uzyskać instrukcje dotyczące aktualizowania rekordu DNS i wskazywania usługi Azure Front Door hostName
.
Należy pamiętać, że jeśli potrzebujesz klientów, aby dostać się do witryny internetowej przy użyciu wierzchołka strefy (na przykład contoso.com). W takim przypadku musisz użyć usługi Azure DNS i jego typu rekordu aliasu do hostowania nazwy DNS.
Należy również zaktualizować konfigurację usługi Azure Front Door, aby dodać do niej domenę niestandardową, aby była świadoma tego mapowania.
Jeśli na koniec używasz domeny niestandardowej do uzyskania dostępu do aplikacji internetowej i chcesz włączyć protokół HTTPS. Należy skonfigurować certyfikaty dla domeny niestandardowej w usłudze Azure Front Door.
Blokowanie aplikacji internetowej
Zalecamy upewnienie się, że tylko krawędzie usługi Azure Front Door mogą komunikować się z twoją aplikacją internetową. Dzięki temu nikt nie może pominąć ochrony usługi Azure Front Door i uzyskać bezpośredni dostęp do aplikacji. Aby osiągnąć tę blokadę, zobacz Jak mogę zablokować dostęp do zaplecza tylko do usługi Azure Front Door?.
Czyszczenie zasobów
Jeśli nie potrzebujesz już zasobów używanych w tym samouczku, użyj polecenia az group delete , aby usunąć grupę zasobów, usługę Front Door i zasady zapory aplikacji internetowej:
az group delete \
--name <>
--name
: nazwa grupy zasobów dla wszystkich zasobów używanych w tym samouczku.
Następne kroki
Aby dowiedzieć się, jak rozwiązywać problemy z usługą Front Door, zobacz przewodniki rozwiązywania problemów: