Tutorial: Erstellen eines Anwendungsgateways mit einer Web Application Firewall über das Azure-Portal

In diesem Tutorial erfahren Sie, wie Sie mithilfe des Azure-Portals ein Anwendungsgateway mit einer Web Application Firewall (WAF) erstellen. Die WAF verwendet OWASP-Regeln, um Ihre Anwendung zu schützen. Diese Regeln beinhalten den Schutz vor Angriffen z.B. durch Einschleusung von SQL-Befehlen, siteübergreifendes Scripting und Sitzungsübernahmen. Nach der Erstellung wird das Anwendungsgateway getestet, um sicherzustellen, dass es ordnungsgemäß funktioniert. Mit Azure Application Gateway leiten Sie den Webdatenverkehr Ihrer Anwendungen an bestimmte Ressourcen weiter, indem Sie Ports Listener zuweisen, Regeln erstellen und Ressourcen zu einem Back-End-Pool hinzufügen. Der Einfachheit halber wird in diesem Tutorial ein einfaches Setup mit einer öffentlichen Front-End-IP-Adresse, einem grundlegenden Listener zum Hosten einer einzelnen Website auf diesem Anwendungsgateway, zwei virtuellen Linux-Computern für den Back-End-Pool und einer Routingregel für grundlegende Anforderungen verwendet.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Anwendungsgateways mit aktivierter WAF
  • Erstellen der virtuellen Computer, die als Back-End-Server verwendet werden
  • Erstellen eines Speicherkontos und Konfigurieren der Diagnose
  • Testen des Anwendungsgateways

Diagramm des Beispiels für die Webanwendungs-Firewall.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Voraussetzungen

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Anmelden bei Azure

Melden Sie sich beim Azure-Portal an.

Erstellen eines Anwendungsgateways

  1. Klicken Sie im Azure-Portal im Menü auf der linken Seite auf Ressource erstellen. Das Fenster Neu wird angezeigt.

  2. Klicken Sie auf Netzwerk, und wählen Sie dann in der Liste Ausgewählte die Option Application Gateway aus.

Registerkarte „Grundlagen“

  1. Geben Sie auf der Registerkarte Grundlagen die folgenden Werte für die Einstellungen des Anwendungsgateways ein:

    • Ressourcengruppe: Wählen Sie myResourceGroupAG als Ressourcengruppe aus. Falls diese Gruppe nicht vorhanden ist, wählen Sie Neue erstellen aus, um sie zu erstellen.

    • Name des Anwendungsgateways: Geben Sie myAppGateway als Namen des Anwendungsgateways ein.

    • Ebene: Wählen Sie die Option WAF V2 aus.

    • WAF-Richtlinie: Wählen Sie Neu erstellen aus, geben Sie einen Namen für die neue Richtlinie ein, und wählen Sie dann OK aus. Dadurch wird eine grundlegende WAF-Richtlinie mit einem verwalteten Kernregelsatz (Core Rule Set, CRS) erstellt.

      Screenshot: Registerkarte „Grundeinstellungen“ auf der Seite „Neues Anwendungsgateway erstellen“.

  2. Für die Kommunikation in Azure zwischen den von Ihnen erstellten Ressourcen ist ein virtuelles Netzwerk erforderlich. Sie können ein neues virtuelles Netzwerk erstellen oder ein bereits vorhandenes virtuelles Netzwerk auswählen. In diesem Beispiel erstellen Sie gleichzeitig mit dem Anwendungsgateway ein virtuelles Netzwerk. Application Gateway-Instanzen werden in separaten Subnetzen erstellt. In diesem Beispiel erstellen Sie zwei Subnetze: eins für das Anwendungsgateway und eins für die Back-End-Server.

    Wählen Sie unter Virtuelles Netzwerk konfigurieren die Option Neu erstellen aus, um ein neues virtuelles Netzwerk zu erstellen. Geben Sie im Fenster Virtuelles Netzwerk erstellen, das geöffnet wird, die folgenden Werte ein,um das virtuelle Netzwerk und zwei Subnetze zu erstellen:

    • Name: Geben Sie myVNet als Namen des virtuellen Netzwerks ein.

    • Subnetzname (Application Gateway-Subnetz): Im Raster Subnetze wird ein Subnetz namens Default angezeigt. Ändern Sie den Namen dieses Subnetzes in myAGSubnet.
      Das Subnetz für das Anwendungsgateway kann nur Anwendungsgateways enthalten. Andere Ressourcen sind nicht zulässig.

    • Subnetzname (Subnetz für Back-End-Server): Geben Sie in der zweiten Zeile des Rasters Subnetze in der Spalte Subnetzname den Namen myBackendSubnet ein.

    • Adressbereich (Subnetz für Back-End-Server): Geben Sie in der zweiten Zeile des Rasters Subnetze einen Adressbereich ein, der sich nicht mit dem Adressbereich des Subnetzes myAGSubnet überschneidet. Wenn der Adressbereich von myAGSubnet beispielsweise 10.21.0.0/24 lautet, geben Sie 10.21.1.0/24 als Adressbereich für myBackendSubnet ein.

    Wählen Sie OK aus, um das Fenster Virtuelles Netzwerk erstellen zu schließen und die Einstellungen für das virtuelle Netzwerk zu speichern.

    Screenshot des Erstellens eines neuen Anwendungsgateways: Erstellen eines virtuellen Netzwerks.

  3. Übernehmen Sie auf der Registerkarte Grundlagen die Standardwerte für die übrigen Einstellungen, und wählen Sie dann Weiter: Front-Ends aus.

Registerkarte „Front-Ends“

  1. Vergewissern Sie sich auf der Registerkarte Front-Ends, dass der Typ der Front-End-IP-Adresse auf Öffentlich festgelegt ist.
    Je nach Anwendungsfall können Sie für die Front-End-IP-Adresse Öffentlich oder Beide konfigurieren. In diesem Beispiel verwenden Sie eine öffentliche Front-End-IP-Adresse.

    Hinweis

    Für die Application Gateway v2 SKU werden derzeit die Front-End-IP-Adresstypen Öffentlich und Beide unterstützt. Die reine Front-End-IP-Konfiguration Privat wird derzeit nicht unterstützt.

  2. Wählen Sie Neu hinzufügen für Öffentliche IP-Adresse aus, und geben Sie myAGPublicIPAddress als Namen der öffentlichen IP-Adresse ein. Wählen Sie dann OK aus.

    Screenshot des Erstellens eines neuen Anwendungsgateways: Front-Ends.

  3. Klicken Sie auf Weiter: Back-Ends.

Registerkarte „Back-Ends“

Der Back-End-Pool wird zum Weiterleiten von Anforderungen an die Back-End-Server verwendet, die die Anforderung verarbeiten. Back-End-Pools können Netzwerkkarten, VM-Skalierungsgruppen, öffentliche IP-Adressen, interne IP-Adressen, vollqualifizierte Domänennamen (Fully Qualified Domain Names, FQDN) und Back-Ends mit mehreren Mandanten wie Azure App Service umfassen. In diesem Beispiel erstellen Sie einen leeren Back-End-Pool mit Ihrem Anwendungsgateway und fügen ihm später Back-End-Ziele hinzu.

  1. Wählen Sie auf der Registerkarte Back-Ends die Option Back-End-Pool hinzufügen aus.

  2. Geben Sie im Fenster Back-End-Pool hinzufügen, das geöffnet wird, die folgenden Werte ein, um einen leeren Back-End-Pool zu erstellen:

    • Name: Geben Sie myBackendPool als Name des Back-End-Pools ein.
    • Back-End-Pool ohne Ziele hinzufügen: Wählen Sie Ja aus, um einen Back-End-Pool ohne Ziele zu erstellen. Back-End-Ziele werden Sie nach dem Erstellen des Anwendungsgateways hinzufügen.
  3. Wählen Sie im Fenster Back-End-Pool hinzufügen die Option Hinzufügen aus, um die Konfiguration des Back-End-Pools zu speichern und zur Registerkarte Back-Ends zurückzukehren.

    Screenshot des Erstellens eines neuen Anwendungsgateways: Back-Ends.

  4. Wählen Sie auf der Registerkarte Back-Ends die Option Weiter: Konfiguration aus.

Registerkarte „Konfiguration“

Auf der Registerkarte Konfiguration verbinden Sie das Front-End und den von Ihnen erstellten Back-End-Pool mithilfe einer Routingregel.

  1. Wählen Sie in der Spalte Routingregeln die Option Routingregel hinzufügen aus.

  2. Geben Sie im Fenster Routingregel hinzufügen, das geöffnet wird, myRoutingRule als Regelname ein.

  3. Geben Sie unter Priorität eine Prioritätszahl ein.

  4. Eine Routingregel erfordert einen Listener. Geben Sie im Fenster Routingregel hinzufügen auf der Registerkarte Listener die folgenden Werte für den Listener ein:

    • Name des Listeners: Geben Sie myListener als Name für den Listener ein.

    • Front-End-IP: Wählen Sie Öffentlich aus, um die für das Front-End erstellte öffentliche IP-Adresse auszuwählen.

      Übernehmen Sie auf der Registerkarte Listener die Standardwerte für die übrigen Einstellungen. Wählen Sie dann die Registerkarte Back-End-Ziele aus, um den Rest der Routingregel zu konfigurieren.

    Screenshot: „Listener“ auf der Seite „Neues Anwendungsgateway erstellen“.

  5. Wählen Sie auf der Registerkarte Back-End-Ziele den Pool myBackendPool als Back-End-Ziel aus.

  6. Wählen Sie unter Back-End-Einstellungen die Option Neu hinzufügen aus, um eine neue Back-End-Einstellung zu erstellen. Diese Einstellung bestimmt das Verhalten der Routingregel. Geben Sie im daraufhin geöffneten Fenster Back-End-Einstellung hinzufügen unter Name der Back-End-Einstellungen den Namen myBackendSetting ein. Übernehmen Sie im Fenster die Standardwerte für die übrigen Einstellungen, und wählen Sie dann Hinzufügen aus, um zum Fenster Routingregel hinzufügen zurückzukehren.

    Screenshot: „Back-End“ auf der Seite „Neues Anwendungsgateway erstellen“.

  7. Wählen Sie im Fenster Routingregel hinzufügen die Option Hinzufügen aus, um die Routingregel zu speichern und zur Registerkarte Konfiguration zurückzukehren.

    Screenshot: „Routingregel“ auf der Seite „Neues Anwendungsgateway erstellen“.

  8. Klicken Sie auf Weiter: Tags und dann auf Weiter: Überprüfen + erstellen.

Registerkarte „Überprüfen und erstellen“

Überprüfen Sie die Einstellungen auf der Registerkarte Überprüfen und erstellen, und wählen Sie dann Erstellen aus, um das virtuelle Netzwerk, die öffentliche IP-Adresse und das Anwendungsgateway zu erstellen. Die Erstellung des Anwendungsgateways in Azure kann einige Minuten in Anspruch nehmen.

Warten Sie, bis die Bereitstellung erfolgreich abgeschlossen ist, bevor Sie mit dem nächsten Abschnitt fortfahren.

Hinzufügen von Back-End-Zielen

In diesem Beispiel verwenden Sie virtuelle Computer als Ziel-Back-End. Sie können entweder vorhandene virtuelle Computer verwenden oder neue erstellen. Sie erstellen zwei virtuelle Computer, die von Azure als Back-End-Server für das Anwendungsgateway verwendet werden.

Gehen Sie dazu wie folgt vor:

  1. Erstellen Sie zwei neue Linux-Computer (myVM und myVM2) für die Verwendung als Back-End-Server.
  2. Installieren Sie NGINX auf den virtuellen Computern, um zu überprüfen, ob die Application Gateway-Instanz erfolgreich erstellt wurde.
  3. Hinzufügen der Back-End-Server zum Back-End-Pool

Erstellen eines virtuellen Computers

  1. Klicken Sie im Azure-Portal auf Ressource erstellen. Das Fenster Ressource erstellen wird geöffnet.

  2. Wählen Sie unter Virtueller Computerdie Option Erstellen aus.

  3. Geben Sie auf der Registerkarte Grundlagen die folgenden Werte für die VM-Einstellungen ein:

    • Ressourcengruppe: Wählen Sie myResourceGroupAG als Namen der Ressourcengruppe aus.
    • Name des virtuellen Computers: Geben Sie myVM als Namen der VM ein.
    • Image: Ubuntu Server 20.04 LTS – Gen2.
    • Authentifizierungstyp: Kennwort
    • Benutzername: Geben Sie einen Benutzernamen für den Administrator ein.
    • Kennwort: Geben Sie ein Administratorkennwort ein.
    • Öffentliche Eingangsports: Wählen Sie Keine aus.
  4. Übernehmen Sie für die anderen Einstellungen die Standardwerte, und klicken Sie auf Weiter: Datenträger.

  5. Übernehmen Sie auf der Registerkarte Datenträger die Standardwerte, und klicken Sie auf Weiter: Netzwerk.

  6. Vergewissern Sie sich auf der Registerkarte Netzwerk, dass myVNet für Virtuelles Netzwerk ausgewählt und Subnetz auf myBackendSubnet festgelegt ist.

  7. Wählen Sie unter Öffentliche IP die Option Keine aus.

  8. Übernehmen Sie für die anderen Einstellungen die Standardwerte, und klicken Sie auf Weiter: Verwaltung aus.

  9. Wählen Sie Weiter: Überwachung aus, und legen Sie die Option Startdiagnose auf Deaktivieren fest. Übernehmen Sie für die anderen Einstellungen die Standardwerte, und klicken Sie auf Bewerten + erstellen.

  10. Überprüfen Sie auf der Registerkarte Bewerten + erstellen die Einstellungen, beheben Sie alle Validierungsfehler, und wählen Sie dann Erstellen aus.

  11. Warten Sie, bis die Erstellung des virtuellen Computers abgeschlossen ist, bevor Sie fortfahren.

Installieren von NGINX zu Testzwecken

In diesem Beispiel installieren Sie NGINX auf den virtuellen Computern nur, um zu überprüfen, ob Azure das Anwendungsgateway erfolgreich erstellt hat.

  1. Öffnen Sie eine Bash-Cloud Shell. Wählen Sie dazu in der oberen Navigationsleiste des Azure-Portals das Cloud Shell-Symbol und dann in der Dropdownliste Bash aus.

    Screenshot: Bash-Cloud Shell.

  2. Führen Sie den folgenden Befehl aus, um NGINX auf dem virtuellen Computer zu installieren:

     az vm extension set \
     --publisher Microsoft.Azure.Extensions \
     --version 2.0 \
     --name CustomScript \
     --resource-group myResourceGroupAG \
     --vm-name myVM \
     --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
    
  3. Erstellen Sie eine zweite VM, und installieren Sie NGINX mithilfe dieser zuvor ausgeführten Schritte. Verwenden Sie myVM2 als Namen für den virtuellen Computer und für die --vm-name-Einstellung des Cmdlets.

Hinzufügen von Back-End-Servern zu Back-End-Pools

  1. Wählen Sie Alle Ressourcen und dann myAppGateway aus.

  2. Klicken Sie im Menü auf der linken Seite auf Back-End-Pools.

  3. Wählen Sie myBackendPool aus.

  4. Wählen Sie unter Zieltyp in der Dropdownliste die Option Virtueller Computer aus.

  5. Wählen Sie unter Ziel in der Dropdownliste die zugehörige Netzwerkschnittstelle für myVM aus.

  6. Wiederholen Sie den Schritt für myVM2.

    Hinzufügen von Back-End-Servern

  7. Wählen Sie Speichern aus.

  8. Warten Sie, bis die Bereitstellung abgeschlossen ist, bevor Sie mit dem nächsten Schritt fortfahren.

Testen des Anwendungsgateways

NGINX ist für die Erstellung des Anwendungsgateways zwar nicht erforderlich, Sie haben die Installation aber ausgeführt, um zu überprüfen, ob Azure das Anwendungsgateway erfolgreich erstellt hat. Verwenden Sie den Webdienst, um das Anwendungsgateway zu testen:

  1. Suchen Sie auf der Seite Übersicht des Anwendungsgateways nach der öffentlichen IP-Adresse für das Anwendungsgateway. Screenshot der öffentlichen Application Gateway-IP-Adresse auf der Seite „Übersicht“.

    Alternativ können Sie Alle Ressourcen auswählen, myAGPublicIPAddress in das Suchfeld eingeben und den Eintrag dann in den Suchergebnissen auswählen. Azure zeigt die öffentliche IP-Adresse auf der Seite Übersicht an.

  2. Kopieren Sie die öffentliche IP-Adresse, und fügen Sie sie in die Adressleiste des Browsers ein.

  3. Überprüfen Sie die Antwort. Eine gültige Antwort bestätigt, dass das Anwendungsgateway erfolgreich erstellt wurde und eine Verbindung mit dem Back-End herstellen kann.

    Screenshot des Testens des Anwendungsgateways.

Bereinigen von Ressourcen

Wenn Sie die mit dem Anwendungsgateway erstellten Ressourcen nicht mehr benötigen, entfernen Sie die Ressourcengruppe. Beim Entfernen der Ressourcengruppe werden auch das Anwendungsgateway und alle zugehörigen Ressourcen entfernt.

So entfernen Sie die Ressourcengruppe:

  1. Wählen Sie im Azure-Portal im Menü auf der linken Seite die Option Ressourcengruppen aus.
  2. Suchen Sie auf der Seite Ressourcengruppen in der Liste nach myResourceGroupAG, und wählen Sie den Eintrag aus.
  3. Wählen Sie auf der Seite für die Ressourcengruppe die Option Ressourcengruppe löschen aus.
  4. Geben Sie myResourceGroupAG für RESSOURCENGRUPPENNAMEN EINGEBEN ein, und wählen Sie Löschen aus.

Nächste Schritte