Freigeben über


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 Azure Front Door Standard- oder Premium-Stufe migrieren. Weitere Informationen finden Sie unter Einstellung von Azure Front Door (klassisch).

Bei Webanwendungen kommen häufig Datenverkehrsspitzen und böswillige Angriffe vor, z. B. Denial-of-Service-Angriffe. Azure Front Door kann zusammen mit Azure WAF dazu beitragen, Ihre Anwendung zu skalieren und vor solchen Bedrohungen zu schützen. In diesem Tutorial werden Sie durch das Konfigurieren von Azure Front Door mit Azure WAF für beliebige Web-Apps geführt, unabhängig davon, ob sie innerhalb oder außerhalb von Azure ausgeführt werden.

Sie verwenden für dieses Tutorial die Azure-Befehlszeilenschnittstelle. Sie können auch das Azure-Portal, Azure PowerShell, Azure Resource Manager oder 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 diesem Lernprogramm wird die Azure CLIverwendet. Erste Schritte mit der Azure-Befehlszeilenschnittstelle

    Tipp

    Eine einfache Möglichkeit für die ersten Schritte mit der Azure-Befehlszeilenschnittstelle stellt die Verwendung von Bash in Azure Cloud Shell dar.

  • 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 <backend-address> --accepted-protocols <protocols> --name <name> --resource-group <resource-group>
  • --backend-address: der vollqualifizierte Domänenname (Fully Qualified Domain Name, FQDN) der zu schützenden Anwendung, z. B. myapplication.contoso.com
  • --accepted-protocols: von Azure Front Door unterstützte Protokolle, z. B. --accepted-protocols Http Https
  • --name: Der Name Ihrer Azure Front Door-Ressource.
  • --resource-group: die Ressourcengruppe für diese Azure Front Door-Ressource Weitere Informationen finden Sie unter Verwalten von Ressourcengruppen.

Notieren Sie sich den hostName-Wert aus der Antwort, da Sie ihn später benötigen. Der Hostname (hostName) ist der DNS-Name der Azure Front Door-Ressource.

Erstellen eines Azure WAF-Profils für Azure Front Door

az network front-door waf-policy create --name <name> --resource-group <resource-group> --disabled false --mode Prevention
  • --name: Der Name der neuen Azure WAF-Richtlinie.
  • --resource-group: die Ressourcengruppe für diese WAF-Ressource

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

Hinweis

Sie können die WAF-Richtlinie auch zunächst im Erkennungsmodus erstellen, um böswillige Anforderungen zu beobachten und zu protokollieren, ohne sie zu blockieren, bevor Sie auf den Präventionsmodus umstellen.

Notieren Sie sich den ID-Wert aus der Antwort, da Sie ihn später benötigen. Die ID muss folgendes Format aufweisen:

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

Hinzufügen verwalteter Regelsätze zur WAF-Richtlinie

Fügen Sie den Standardregelsatz hinzu:

az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <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 <policy-name> --resource-group <resource-group> --type Microsoft_BotManagerRuleSet --version 1.0
  • --policy-name: der Name Ihrer Azure WAF-Ressource
  • --resource-group: die Ressourcengruppe für die WAF-Ressource

Zuordnen der WAF-Richtlinie zur Azure Front Door-Ressource

az network front-door update --name <name> --resource-group <resource-group> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<ID>"}'
  • --name: Der Name Ihrer Azure Front Door-Ressource.
  • --resource-group: die Ressourcengruppe für die Azure Front Door-Ressource
  • --set: Aktualisieren Sie das WebApplicationFirewallPolicyLink-Attribut für den frontendEndpoint mit der ID der neuen WAF-Richtlinie.

Hinweis

Wenn Sie keine benutzerdefinierte Domäne verwenden, können Sie den nächsten Abschnitt überspringen. Geben Sie den Hostnamen (hostName), den Sie beim Erstellen der Azure Front Door-Ressource erhalten haben, an Ihre Kunden weiter.

Konfigurieren der benutzerdefinierten Domäne für Ihre Webanwendung

Aktualisieren Sie Ihre DNS-Einträge, damit die benutzerdefinierte Domäne auf den Azure Front Door-hostName verweist. Die genauen Schritte finden Sie in der Dokumentation Ihres DNS-Dienstanbieters. Wenn Sie Azure DNS verwenden, lesen Sie unter Aktualisieren von DNS-Einträgen nach.

Verwenden Sie für Apex-Domänen einer Zone (z. B. contoso.com) Azure DNS und den Aliaseintragstyp.

Aktualisieren Sie Ihre Azure Front Door-Konfiguration, um die benutzerdefinierte Domäne hinzuzufügen.

Um HTTPS für Ihre benutzerdefinierte Domäne zu aktivieren, richten Sie Zertifikate in Azure Front Door ein.

Sperren der Webanwendung

Stellen Sie sicher, dass nur Azure Front Door-Edges mit Ihrer Webanwendung kommunizieren können. Weitere Informationen finden Sie unter Wie kann ich den Zugriff auf mein Back-End nur auf Azure Front Door beschränken?

Bereinigen von Ressourcen

Löschen Sie die Ressourcengruppe, die Front Door-Instanz und die WAF-Richtlinie, wenn Sie sie nicht mehr benötigen:

az group delete --name <resource-group>
  • --name: Der Name der Ressourcengruppe für alle in diesem Tutorial verwendeten Ressourcen.

Nächste Schritte

Weitere Informationen zur Problembehandlung bei Front Door finden Sie unter: