Share via


Tutorial: Schnelles Skalieren und Schützen einer Webanwendung mithilfe von Azure Front Door und Azure Web Application Firewall (WAF)

Wichtig

Azure Front Door (klassisch) wird am 31. März 2027 eingestellt. Um Dienstunterbrechungen zu vermeiden, ist es wichtig, dass Sie Ihre (klassischen) Azure Front Door-Profile bis März 2027 zur Dienstebene Azure Front Door Standard oder Premium migrieren. Weitere Informationen finden Sie unter Einstellung von Azure Front Door (klassisch).

Bei vielen Webanwendungen hat sich das Datenverkehrsaufkommen mit der Zeit stark erhöht. Darüber hinaus ist bei diesen Webanwendungen eine starke Zunahme von schädlichem Datenverkehr zu beobachten, etwa in Form von Denial-of-Service-Angriffen. Es gibt eine effektive Möglichkeit, um Ihre Anwendung zur Bewältigung der Datenverkehrszunahme aufzuskalieren und sich gleichzeitig vor Angriffen zu schützen: Konfigurieren Sie Azure Front Door mit Azure WAF als Beschleunigungs-, Caching- und Sicherheitsebene vor Ihrer Web-App. In diesem Artikel erfahren Sie, wie Sie Azure Front Door mit Azure WAF für eine beliebige Web-App konfigurieren, die innerhalb oder außerhalb von Azure ausgeführt wird.

In diesem Tutorial konfigurieren Sie die WAF (Web Application Firewall) mithilfe der Azure-Befehlszeilenschnittstelle. Sie können dazu aber auch das Azure-Portal, Azure PowerShell, Azure Resource Manager oder die Azure-REST-APIs verwenden.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen einer Front Door-Instanz
  • Erstellen einer Azure WAF-Richtlinie
  • Konfigurieren von Regelsätzen für eine WAF-Richtlinie
  • Zuordnen einer WAF-Richtlinie zu Front Door
  • Konfigurieren einer benutzerdefinierten Domäne

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Voraussetzungen

  • In den Schritten dieses Tutorials wird die Azure-Befehlszeilenschnittstelle verwendet. Informationen zu den ersten Schritten mit der Azure-Befehlszeilenschnittstelle finden Sie in dieser Anleitung.

    Tipp

    Bash in Azure Cloud Shell ermöglicht einen schnellen und einfachen Einstieg in die Verwendung der Azure-Befehlszeilenschnittstelle.

  • Stellen Sie sicher, dass der Azure-Befehlszeilenschnittstelle die Erweiterung front-door hinzugefügt wurde:

    az extension add --name front-door
    

Hinweis

Weitere Informationen zu den in diesem Tutorial verwendeten Befehlen finden Sie in der Azure CLI-Referenz für Front Door.

Erstellen einer Azure Front Door-Ressource

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

--backend-address: Der vollqualifizierte Domänenname (Fully Qualified Domain Name, FQDN) der zu schützenden Anwendung. Beispiel: myapplication.contoso.com.

--accepted-protocols: Dient zum Angeben der Protokolle, die von Azure Front Door für Ihre Webanwendung unterstützt werden sollen. Beispiel: --accepted-protocols Http Https.

--name: Der Name Ihrer Azure Front Door-Ressource.

--resource-group: Die Ressourcengruppe, in der die Azure Front Door-Ressource platziert werden soll. Weitere Informationen zu Ressourcengruppen finden Sie unter Verwalten von Azure Resource Manager-Gruppen mithilfe des Azure-Portals.

Suchen Sie in der Antwort des ausgeführten Befehls nach dem Schlüssel hostName. Dieser Wert wird in einem späteren Schritt benötigt. Der Hostname (hostName) ist der DNS-Name der von Ihnen erstellten Azure Front Door-Ressource.

Erstellen eines Azure WAF-Profils zur Verwendung mit Azure Front Door-Ressourcen

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

--name: Der Name der neuen Azure WAF-Richtlinie.

--resource-group: Die Ressourcengruppe, in der diese WAF-Ressource platziert werden soll.

Der obige CLI-Code erstellt eine WAF-Richtlinie im Präventionsmodus.

Hinweis

Es empfiehlt sich unter Umständen, die WAF-Richtlinie im Erkennungsmodus zu erstellen und zu beobachten, wie sie schädliche Anforderungen erkennt und protokolliert (ohne sie zu blockieren), bevor Sie sich für die Verwendung des Schutzmodus entscheiden.

Suchen Sie in der Antwort des ausgeführten Befehls nach dem Schlüssel ID. Dieser Wert wird in einem späteren Schritt benötigt.

Für das Feld ID muss das folgende Format verwendet werden:

/subscriptions/Abonnement-ID/resourcegroups/Ressourcengruppenname/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/Name der WAF-Richtlinie

Hinzufügen verwalteter Regelsätze zur WAF-Richtlinie

Einer WAF-Richtlinie können verwaltete Regelsätze hinzugefügt werden. Bei einem verwalteten Regelsatz handelt es sich um eine Reihe von Regeln, die von Microsoft erstellt und verwaltet werden und zum Schutz vor einer Bedrohungsklasse beitragen. In diesem Beispiel werden zwei Regelsätze hinzugefügt:

  • Der Standardregelsatz zum Schutz vor gängigen Webbedrohungen
  • Der Bot-Schutzregelsatz zum Schutz vor schädlichen Bots

Fügen Sie den Standardregelsatz hinzu:

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

Fügen Sie den Bot-Schutzregelsatz hinzu:

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

--policy-name: Der Name, den Sie für Ihre Azure WAF-Ressource angegeben haben.

--resource-group: Die Ressourcengruppe, in der Sie die WAF-Ressource platziert haben.

Zuordnen der WAF-Richtlinie zur Azure Front Door-Ressource

In diesem Schritt wird die erstellte WAF-Richtlinie der Azure Front Door-Ressource zugeordnet, die sich vor Ihrer Webanwendung befindet:

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

--name: Der Name, den Sie für Ihre Azure Front Door-Ressource angegeben haben.

--resource-group: Die Ressourcengruppe, in der Sie die Azure Front Door-Ressource platziert haben.

--set: Hier aktualisieren Sie das Attribut WebApplicationFirewallPolicyLink für das frontendEndpoint-Element, das Ihrer Azure Front Door-Ressource zugeordnet ist, mit der neuen WAF-Richtlinie. Verwenden Sie die ID der WAF-Richtlinie, die Sie weiter oben in diesem Tutorial beim Erstellen des WAF-Profils erhalten haben.

Hinweis

Das vorherige Beispiel ist anwendbar, wenn Sie keine benutzerdefinierte Domäne verwenden. Wenn Sie keine benutzerdefinierten Domänen verwenden, um auf Ihre Webanwendungen zuzugreifen, können Sie den nächsten Abschnitt überspringen. In diesem Fall geben Sie den Hostnamen (hostName), den Sie beim Erstellen der Azure Front Door-Ressource erhalten haben, an Ihre Kunden weiter. Diese verwenden dann den Hostnamen (hostName), um zu Ihrer Webanwendung zu gelangen.

Konfigurieren der benutzerdefinierten Domäne für Ihre Webanwendung

Der Name der benutzerdefinierten Domäne Ihrer Webanwendung wird von Benutzern verwendet, um auf Ihre Anwendung zu verweisen. Beispiel: www.contoso.com. Von diesem Namen der benutzerdefinierten Domäne wurde ursprünglich auf den Ausführungsort vor der Einführung von Azure Front Door verwiesen. Nachdem Sie Azure Front Door und WAF vor der Anwendung hinzugefügt haben, muss der DNS-Eintrag, der dieser benutzerdefinierten Domäne entspricht, auf die Azure Front Door-Ressource verweisen. Um diese Änderung vorzunehmen, können Sie den Eintrag in Ihrem DNS-Server dem Hostnamen (hostName) von Azure Front Door zuordnen, den Sie sich beim Erstellen der Azure Front Door-Ressource notiert haben.

Die genauen Schritte zum Aktualisieren Ihrer DNS-Einträge hängen von Ihrem DNS-Dienstanbieter ab. Wenn Sie Azure DNS zum Hosten Ihres DNS-Namens verwenden, erfahren Sie in der zugehörigen Dokumentation, wie Sie einen DNS-Eintrag aktualisieren und auf den Hostnamen (hostName) von Azure Front Door verweisen.

Es gibt einen wichtigen Punkt für den Fall zu beachten, dass Ihre Kunden den Zonen-Apex (beispielsweise „contoso.com“) verwenden müssen, um zu Ihrer Website zu gelangen. In diesem Fall müssen Sie Azure DNS und den zugehörigen Aliaseintragstyp verwenden, um Ihren DNS-Namen zu hosten.

Außerdem müssen Sie die Azure Front Door-Konfiguration aktualisieren und ihr die benutzerdefinierte Domäne hinzufügen, damit diese Zuordnung erkannt wird.

Wenn Sie eine benutzerdefinierte Domäne verwenden, um Ihre Webanwendung zu erreichen, und das HTTPS-Protokoll aktivieren möchten, müssen Sie die Zertifikate für Ihre benutzerdefinierte Domäne in Azure Front Door einrichten.

Sperren der Webanwendung

Es empfiehlt sich, dafür zu sorgen, dass nur Azure Front Door-Edges mit Ihrer Webanwendung kommunizieren können. Dadurch wird sichergestellt, dass niemand den Azure Front Door-Schutz umgehen und direkt auf Ihre Anwendung zugreifen kann. Informationen zur Implementierung dieser Sperre finden Sie unter Wie kann ich den Zugriff auf mein Back-End nur auf Azure Front Door beschränken?.

Bereinigen von Ressourcen

Wenn Sie die in diesem Tutorial verwendeten Ressourcen nicht mehr benötigen, entfernen Sie die Ressourcengruppe, Front Door und die WAF-Richtlinie mithilfe des Befehls az group delete:

  az group delete \
    --name <>

--name: Der Name der Ressourcengruppe für alle in diesem Tutorial verwendeten Ressourcen.

Nächste Schritte

Informationen zur Behandlung von Problemen mit Front Door finden Sie in den Leitfäden zur Problembehandlung: