Auf Englisch lesen

Freigeben über


Steuern des ausgehenden Datenverkehrs mit Azure Firewall

In diesem Artikel erfahren Sie, wie Sie den ausgehenden Datenverkehr von der App Service-App zu Back-End-Azure-Ressourcen oder anderen Netzwerkressourcen mit Azure Firewall sperren. Diese Konfiguration trägt dazu bei, Datenexfiltration oder das Risiko einer Einschleusung schädlicher Programme zu verhindern.

Standardmäßig kann eine App Service-App ausgehende Anforderungen über das öffentliche Internet senden (z. B. beim Installieren der erforderlichen Node.js-Pakete von NPM.org.). Wenn die App mit einem Azure Virtual Network integriert ist, können Sie ausgehenden Datenverkehr mit Netzwerksicherheitsgruppen in begrenztem Umfang steuern, z. B. die IP-Zieladresse, den Port und das Protokoll. Azure Firewall ermöglicht es Ihnen, ausgehenden Datenverkehr auf einer viel präziseren Ebene zu steuern und Datenverkehr basierend auf in Echtzeit gewonnenen Threat Intelligence-Informationen von Microsoft Cyber Security zu filtern. Sie können Richtlinien zur Anwendungs- und Netzwerkkonnektivität übergreifend für Abonnements und virtuelle Netzwerke zentral erstellen, erzwingen und protokollieren (siehe Azure Firewall-Features).

Ausführliche Netzwerkkonzepte und Sicherheitsverbesserungen in App Service finden Sie unter Netzwerkfeatures und Zero to Hero with App Service, Part 6: Securing your web app (Englisch).

Voraussetzungen

1. Erstellen des erforderlichen Firewallsubnetzes

Damit Sie eine Firewall im integrierten virtuellen Netzwerk bereitstellen können, benötigen Sie ein Subnetz mit der Bezeichnung AzureFirewallSubnet.

  1. Navigieren Sie im Azure-Portal zu dem virtuellen Netzwerk, das mit der App integriert ist.
  2. Wählen Sie im linken Navigationsbereich Subnetze>+ Subnetz aus.
  3. Geben Sie unter Name die Zeichenfolge AzureFirewallSubnet ein.
  4. Übernehmen Sie für Subnetzadressbereich den Standardwert, oder geben Sie einen Bereich an, der mindestens die Größe /26 aufweist.
  5. Wählen Sie Speichern aus.

2. Bereitstellen der Firewall und Abrufen ihrer IP-Adresse

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.

  2. Geben Sie Firewall in das Suchfeld ein, und drücken Sie die EINGABETASTE.

  3. Wählen Sie Firewall aus, und klicken Sie anschließend auf Erstellen.

  4. Konfigurieren Sie die Firewall auf der Seite zum Erstellen einer Firewall anhand der folgenden Tabelle:

    Einstellung Wert
    Ressourcengruppe Dieselbe Ressourcengruppe wie das integrierte virtuelle Netzwerk.
    Name Name Ihrer Wahl
    Region Dieselbe Region wie das integrierte virtuelle Netzwerk.
    Firewallrichtlinie Erstellen Sie eine, indem Sie Neu hinzufügen auswählen.
    Virtuelles Netzwerk Wählen Sie das integrierte virtuelle Netzwerk aus.
    Öffentliche IP-Adresse Wählen Sie eine vorhandene Adresse aus, oder erstellen Sie eine, indem Sie Neu hinzufügen auswählen.

    Screenshot: Erstellen einer Azure Firewall-Instanz im Azure-Portal

  5. Klicken Sie auf Überprüfen + erstellen.

  6. Wählen Sie noch mal Erstellen aus.

    Die Bereitstellung dauert einige Minuten.

  7. Navigieren Sie nach Abschluss der Bereitstellung zur Ressourcengruppe, und wählen Sie die Firewall aus.

  8. Kopieren Sie auf der Seite Übersicht der Firewall die private IP-Adresse. Die private IP-Adresse wird als Adresse des nächsten Hops in der Routingregel für das virtuelle Netzwerk verwendet.

    Screenshot-Abrufen der privaten Azure Firewall-IP-Adresse

3. Routen des ganzen Datenverkehrs an die Firewall

Wenn Sie ein virtuelles Netzwerk erstellen, erstellt Azure automatisch eine Standardroutingtabelle für jedes der Subnetze und fügt der Tabelle Standardrouten des Systems hinzu. In diesem Schritt erstellen Sie eine benutzerdefinierte Routingtabelle, mit der der Datenverkehr an die Firewall weitergeleitet wird, und ordnen diese dann dem App Service-Subnetz im integrierten virtuellen Netzwerk zu.

  1. Wählen Sie im Menü des Azure-Portals die Option Alle Dienste aus, oder suchen Sie auf einer beliebigen Seite nach Alle Dienste, und wählen Sie diese Option anschließend aus.

  2. Wählen Sie unter Netzwerk die Option Routingtabellen aus.

  3. Wählen Sie Hinzufügen.

  4. Konfigurieren Sie die Routingtabelle wie im folgenden Beispiel:

    Screenshot: Erstellen einer Routingtabelle im Azure-Portal

    Vergewissern Sie sich, dass Sie dieselbe Region wie die von Ihnen erstellte Firewall auswählen.

  5. Klicken Sie auf Überprüfen + erstellen.

  6. Klicken Sie auf Erstellen.

  7. Klicken Sie nach Abschluss der Bereitstellung auf Zu Ressource wechseln.

  8. Wählen Sie im linken Navigationsbereich Routen>Hinzufügen aus.

  9. Konfigurieren Sie die neue Route wie in der folgenden Tabelle gezeigt:

    Einstellung Wert
    Adresspräfix 0.0.0.0/0
    Typ des nächsten Hops Virtuelles Gerät
    Adresse des nächsten Hops Die private IP-Adresse für die Firewall, die Sie in 2. Bereitstellen der Firewall und Abrufen ihrer IP-Adresse kopiert haben.
  10. Wählen Sie im linken Navigationsbereich Subnetze>Zuordnen aus.

  11. Wählen Sie im Feld Virtuelles Netzwerk das integrierte virtuelle Netzwerk aus.

  12. Wählen Sie unter Subnetze das App Service-Subnetz aus.

    Screenshot: Zuordnen der Routingtabelle zum App Service-Subnetz

  13. Klicken Sie auf OK.

4. Konfigurieren von Firewallrichtlinien

Ausgehender Datenverkehr von der App wird jetzt über das integrierte virtuelle Netzwerk an die Firewall weitergeleitet. Fügen Sie der Firewallrichtlinie eine Anwendungsregel hinzu, um den ausgehenden App Service-Datenverkehr zu steuern.

  1. Navigieren Sie zur Übersichtsseite der Firewall, und wählen Sie die Firewallrichtlinie aus.

  2. Wählen Sie auf der Seite „Firewallrichtlinie“ im linken Navigationsbereich Anwendungsregeln>Add a rule collection (Regelsammlung hinzufügen) aus.

  3. Fügen Sie unter Regeln eine Netzwerkregel mit dem App Service-Subnetz als Quelladresse hinzu, und geben Sie ein FQDN-Ziel an. Im folgenden Screenshot ist der Ziel-FQDN auf contoso.com festgelegt.

    Screenshot: Konfigurieren der Azure Firewall-Richtlinienregel

    Hinweis

    Anstatt das App Service-Subnetz als Quelladresse anzugeben, können Sie auch die private IP-Adresse der App direkt im Subnetz verwenden. Sie finden die private IP-Adresse der App im Subnetz mithilfe der WEBSITE_PRIVATE_IPUmgebungsvariablen.

  4. Wählen Sie Hinzufügen.

5. Überprüfen des ausgehenden Datenverkehrs

Eine einfache Möglichkeit, die Konfiguration zu überprüfen, besteht darin, dass Sie den Befehl curl aus der SCM-Debugging-Konsole der App verwenden, um die ausgehende Verbindung zu überprüfen.

  1. Navigieren Sie in einem Browser zu https://<app-name>.scm.azurewebsites.net/DebugConsole.

  2. Führen Sie in der Konsole curl -s <protocol>://<fqdn-address> mit einer URL aus, die einer konfigurierten Anwendungsregel entspricht. Der folgende Screenshot ist ein Beispiel für eine Website, die eine erfolgreiche Antwort von einer API mit einer IP-Adresse zeigt.

    Screenshot: Überprüfen, ob ausgehender Datenverkehr erfolgreich war, mithilfe eines cURL-Befehls in der SCM-Debugging-Konsole

  3. Führen Sie curl -s <protocol>://<fqdn-address> noch mal mit einer URL aus, die nicht mit der von Ihnen konfigurierten Anwendungsregel übereinstimmt. Im folgenden Screenshot erhalten Sie keine Antwort, was darauf hinweist, dass die Firewall die ausgehende Anforderung von der App blockiert hat.

    Screenshot: Senden von ausgehendem Datenverkehr mithilfe eines cURL-Befehls in der SCM-Debugging-Konsole

Tipp

Da diese ausgehenden Anforderungen die Firewall passieren, können Sie sie in den Firewallprotokollen erfassen, indem Sie die Diagnoseprotokollierung für die Firewall aktivieren (AzureFirewallApplicationRule aktivieren).

Wenn Sie die curl-Befehle mit aktivierten Diagnoseprotokollen ausführen, finden Sie die Anforderungen in den Firewallprotokollen.

  1. Navigieren Sie im Azure-Portal zur Firewall.

  2. Wählen Sie im linken Navigationsbereich Protokolle aus.

  3. Schließen Sie die Begrüßungsnachricht, indem Sie X auswählen.

  4. Wählen Sie unter „Alle Abfragen“ die Option Firewallprotokolle>Application rule log data (Protokolldaten von Anwendungsregeln) aus.

  5. Klicken Sie auf Ausführen. Sie können diese beiden Zugriffsprotokolle im Abfrageergebnis sehen.

    Screenshot: SCM-Debugging-Konsole zum Überprüfen des nicht erfolgreichen ausgehenden Datenverkehrs mithilfe eines cURL-Befehls

Weitere Ressourcen

Überwachen von Azure Firewall-Protokollen und -Metriken