Schützen von Datenverkehr, der für private Endpunkte von Azure Virtual WAN bestimmt ist

Hinweis

Dieser Artikel gilt nur für geschützte virtuelle Hubs. Wenn Sie Datenverkehr für private Endpunkte untersuchen möchten, die Azure Firewall in einem virtuellen Hubnetzwerk verwenden, finden Sie weitere Informationen unter Verwenden der Azure Firewall zum Überprüfen des Datenverkehrs für einen privaten Endpunkt.

Der private Azure-Endpunkt ist der grundlegende Baustein für Azure Private Link. Private Endpunkte ermöglichen die Bereitstellung von Azure-Ressourcen in einem virtuellen Netzwerk, um privat mit Private Link-Ressourcen zu kommunizieren.

Private Endpunkte ermöglichen Ressourcenzugriff auf den Private Link-Dienst, der in einem virtuellen Netzwerk bereitgestellt wird. Der Zugriff auf den privaten Endpunkt durch Peering virtueller Netzwerke und lokale Netzwerkverbindungen erweitern die Konnektivität.

Unter Umständen müssen Sie Datenverkehr von Clients, der für Dienste bestimmt ist, die über private Endpunkte in einem virtuellen Netzwerk mit Virtual WAN-Verbindung verfügbar gemacht werden, entweder lokal oder in Azure filtern. In diesem Artikel wird die entsprechende Vorgehensweise beschrieben, indem ein geschützter virtueller Hub mit Azure Firewall als Sicherheitsanbieter genutzt wird.

Von Azure Firewall wird Datenverkehr mit einer der folgenden Methoden gefiltert:

Anwendungsregeln werden gegenüber Netzwerkregeln bevorzugt, um Datenverkehr zu überprüfen, der an private Endpunkte gerichtet ist, da Azure Firewall Datenverkehr mit Anwendungsregeln immer per SNAT neu schreibt. SNAT wird empfohlen, wenn Datenverkehr überprüft wird, der aufgrund der hier beschriebenen Einschränkung an einen privaten Endpunkt gerichtet ist: Was ist ein privater Endpunkt?. Wenn Sie stattdessen Netzwerkregeln verwenden möchten, wird empfohlen, Azure Firewall so zu konfigurieren, dass immer SNAT ausgeführt wird: Azure Firewall – Private SNAT-IP-Adressbereiche.

Microsoft verwaltet geschützte virtuelle Hubs, die nicht mit einer privaten DNS-Zone verknüpft werden können. Dies ist erforderlich, um den FQDN einer Private Link-Ressource in die entsprechende IP-Adresse des privaten Endpunkts aufzulösen.

Die SQL-FQDN-Filterung wird nur im Proxymodus unterstützt (Port 1433). Im Modus Proxy kommt es unter Umständen zu längeren Wartezeiten als im Modus Umleiten. Wenn Sie weiterhin den Umleitungsmodus (Standardmodus für Clients, die eine Verbindung innerhalb von Azure herstellen) verwenden möchten, können Sie den Zugriff mit dem FQDN in Netzwerkregeln der Firewall filtern.

Filtern von Datenverkehr mithilfe von Netzwerk- oder Anwendungsregeln in Azure Firewall

Mithilfe folgender Schritte kann Azure Firewall Datenverkehr entweder mithilfe von Netzwerkregeln (basierend auf FQDN oder IP-Adressen) oder Anwendungsregeln filtern:

Netzwerkregeln:

  1. Stellen Sie einen virtuellen Computer mit DNS-Weiterleitung in einem virtuellen Netzwerk bereit, das mit dem geschützten virtuellen Hub verbunden und mit den privaten DNS-Zonen verknüpft ist, in denen die A-Eintragstypen für die privaten Endpunkte gehostet werden.

  2. Konfigurieren Sie die benutzerdefinierten DNS-Server für die virtuellen Netzwerke, die mit dem geschützten virtuellen Hub verbunden sind:

    • Auf FQDN basierende Netzwerkregeln: Konfigurieren Sie die Einstellungen für das benutzerdefinierte DNS so, dass auf die IP-Adresse des virtuellen Computers mit der DNS-Weiterleitung verwiesen wird. Aktivieren Sie anschließend den DNS-Proxy in der Firewallrichtlinie, die der bereitgestellten Azure Firewall-Instanz zugeordnet ist. Das Aktivieren des DNS-Proxys ist erforderlich, wenn Sie FQDN-Filterung in Netzwerkregeln durchführen möchten.
    • Auf IP-Adressen basierende Netzwerkregeln: Die im vorherigen Punkt beschriebenen benutzerdefinierten DNS-Einstellungen sind optional. Sie können die benutzerdefinierten DNS-Server so konfigurieren, dass sie auf die private IP-Adresse der virtuellen DNS-Weiterleitungs-VM verweisen.
  3. Konfigurieren Sie abhängig von der in Schritt 2 ausgewählten Konfiguration lokale DNS-Server, um DNS-Abfragen für die öffentlichen DNS-Zonen privater Endpunkte entweder an die private IP-Adresse der Azure Firewall-Instanz oder an die DNS-Weiterleitungs-VM weiterzuleiten.

  4. Konfigurieren Sie eine Netzwerkregel, wie sie in der Firewallrichtlinie erforderlich ist, die der Azure Firewall zugeordnet ist. Wählen Sie Zieltyp-IP-Adressen aus, wenn Sie eine auf IP-Adressen basierende Regel verwenden, und konfigurieren Sie die IP-Adresse des privaten Endpunkts als Ziel. Wählen Sie für auf FQDN basierende Netzwerkregeln als Zieltyp FQDN aus, und konfigurieren Sie den öffentlichen FQDN der privaten Link-Ressource als Ziel.

  5. Navigieren Sie zur Firewallrichtlinie, die der auf dem geschützten virtuellen Hub bereitgestellten Azure Firewall-Instanz zugeordnet ist. Wählen Sie Private IP-Bereiche (SNAT) aus, und wählen Sie die Option Immer SNAT ausführen aus.

Anwendungsregeln:

  1. Für Anwendungsregeln gelten weiterhin die Schritte 13 aus dem vorherigen Abschnitt. Für die Konfiguration des benutzerdefinierten DNS-Servers können Sie entweder die Azure Firewall als DNS-Proxy verwenden oder direkt auf die DNS-Weiterleitungs-VM verweisen.

  2. Konfigurieren Sie eine Anwendungsregel wie sie in der Firewallrichtlinie erforderlich ist, die der Azure Firewall-Instanz zugeordnet ist. Wählen Sie den Zieltyp FQDN und den öffentlichen FQDN für private Linkressourcen als Ziel aus.

Stellen Sie schließlich unabhängig vom Typ der in der Azure Firewall-Instanz konfigurierten Regeln sicher, dass Netzwerkrichtlinien (zumindest für UDR-Unterstützung) in dem oder den Subnetzen aktiviert sind, in denen die privaten Endpunkte bereitgestellt werden. Dadurch wird sichergestellt, dass Datenverkehr, der an private Endpunkte gerichtet ist, die Azure Firewall-Instanz nicht umgeht.

Wichtig

RFC 1918-Präfixe werden standardmäßig automatisch in die Präfixe für privaten Datenverkehr der Azure Firewall-Instanz einbezogen. Für die meisten privaten Endpunkte reicht dies aus, um sicherzustellen, dass der Datenverkehr von lokalen Clients oder in verschiedenen virtuellen Netzwerken, die mit demselben geschützten Hub verbunden sind, von der Firewall überprüft wird. Falls Datenverkehr, der an private Endpunkte gerichtet ist, nicht in der Firewall protokolliert wird, versuchen Sie, das /32-Präfix für jeden privaten Endpunkt zur Liste der Präfixe für privaten Datenverkehr hinzuzufügen.

Bei Bedarf können Sie die CIDR-Präfixe, die durch Azure Firewall in einem geschützten Hub überprüft werden, wie folgt bearbeiten:

  1. Navigieren Sie in der Firewallrichtlinie, die der bereitgestellten Azure Firewall-Instanz auf dem geschützten virtuellen Hub zugeordnet ist, zu Geschützte virtuelle Hubs. Wählen Sie dann den geschützten virtuellen Hub aus, auf dem die Filterung des Datenverkehrs, der für private Endpunkte bestimmt ist, konfiguriert ist.

  2. Navigieren Sie zu Sicherheitskonfiguration, und wählen Sie unter Private traffic (Privater Datenverkehr) die Option Send via Azure Firewall (Über Azure Firewall senden) aus.

  3. Wählen Sie die Option Präfixe für privaten Datenverkehr aus, um die CIDR-Präfixe zu bearbeiten, die per Azure Firewall auf dem geschützten virtuellen Hub untersucht werden. Fügen Sie ein /32-Präfix für jeden privaten Endpunkt hinzu.

    Firewall Manager Security Configuration

Zum Überprüfen des Datenverkehrs von Clients im selben virtuellen Netzwerk wie private Endpunkte ist es nicht erforderlich, die /32-Routen von privaten Endpunkten gezielt zu überschreiben. Solange Netzwerkrichtlinien in dem oder den Subnetzen privater Endpunkte aktiviert sind, hat eine UDR mit einem größeren Adressbereich Vorrang. Konfigurieren Sie z. B. diese UDR, wobei der Nächste Hoptyp auf Virtuelles Gerät, die Adresse des nächsten Hops auf die private IP-Adresse der Azure Firewall-Instanz und das Ziel des Adresspräfixes auf das Subnetz festgelegt ist, das für alle privaten Endpunkte im virtuellen Netzwerk bereitgestellt wird. Die Option Gatewayrouten verteilen muss auf Ja festgelegt werden.

Im folgenden Diagramm sind die Abläufe des DNS und des Datenverkehrs für die unterschiedlichen Clients dargestellt, die bei der Verbindungsherstellung mit einem privaten Endpunkt erfolgen, der in einem Azure Virtual WAN bereitgestellt wurde:

Traffic Flows

Problembehandlung

Hier sind die wichtigsten Probleme angegeben, die ggf. auftreten, wenn Sie Datenverkehr filtern möchten, der für private Endpunkte bestimmt ist und einen geschützten virtuellen Hub durchläuft:

  • Clients können keine Verbindung mit privaten Endpunkten herstellen.

  • Azure Firewall wird umgangen. Sie können dieses Symptom durch das Fehlen von Protokolleinträgen in Azure Firewall Netzwerk- oder Anwendungsregeln überprüfen.

In den meisten Fällen verursacht einer der folgenden Punkte diese Probleme:

  • Fehlerhafte Auflösung von DNS-Namen

  • Fehlerhafte Routingkonfiguration

Fehlerhafte Auflösung von DNS-Namen

  1. Vergewissern Sie sich, dass die DNS-Server des virtuellen Netzwerks auf Custom (Benutzerdefiniert) festgelegt sind und dass es sich bei der IP-Adresse um die private IP-Adresse von Azure Firewall auf dem geschützten virtuellen Hub handelt.

    Azure CLI:

    az network vnet show --name <VNET Name> --resource-group <Resource Group Name> --query "dhcpOptions.dnsServers"
    
  2. Überprüfen Sie, ob Clients in demselben virtuellen Netzwerk, in dem sich auch der virtuelle Computer mit der DNS-Weiterleitung befindet, den öffentlichen FQDN des privaten Endpunkts in die entsprechende eigene private IP-Adresse auflösen können, indem der für die DNS-Weiterleitung konfigurierte virtuelle Computer direkt abgefragt wird.

    Linux:

    dig @<DNS forwarder VM IP address> <Private endpoint public FQDN>
    
  3. Überprüfen Sie die Azure Firewall-Protokolleinträge für AzureFirewallDNSProxy, und vergewissern Sie sich, dass das Empfangen und Auflösen von DNS-Abfragen von den Clients möglich ist.

    AzureDiagnostics
    | where Category contains "DNS"
    | where msg_s contains "database.windows.net"
    
  4. Vergewissern Sie sich, dass der DNS-Proxy aktiviert wurde und ein benutzerdefinierter DNS-Server, für den auf die IP-Adresse des virtuellen Computers mit der DNS-Weiterleitung verwiesen wird, in der Firewallrichtlinie konfiguriert wurde, die der Azure Firewall-Instanz auf dem geschützten virtuellen Hub zugeordnet ist.

    Azure CLI:

    az network firewall policy show --name <Firewall Policy> --resource-group <Resource Group Name> --query dnsSettings
    

Fehlerhafte Routingkonfiguration

  1. Überprüfen Sie die Sicherheitskonfiguration in der Firewallrichtlinie, die der auf dem geschützten virtuellen Hub bereitgestellten Azure Firewall-Instanz zugeordnet ist. Stellen Sie sicher, dass hierfür in der Spalte PRIVATE TRAFFIC (PRIVATER DATENVERKEHR) der Status Secured by Azure Firewall (Durch Azure Firewall geschützt) für alle VNET- und Branchverbindungen angezeigt wird, für die Sie Datenverkehr filtern möchten.

    Private Traffic Secured by Azure Firewall

  2. Überprüfen Sie die Sicherheitskonfiguration in der Firewallrichtlinie, die der auf dem geschützten virtuellen Hub bereitgestellten Azure Firewall-Instanz zugeordnet ist. Falls Datenverkehr, der an private Endpunkte gerichtet ist, nicht in der Firewall protokolliert wird, versuchen Sie, das /32-Präfix für jeden privaten Endpunkt zur Liste der Präfixe für privaten Datenverkehr hinzuzufügen.

    Firewall Manager Security Configuration - Private Traffic Prefixes

  3. Untersuchen Sie auf dem geschützten virtuellen Hub im Virtual WAN die effektiven Routen für die Routingtabellen, die den VNET- und Branchverbindungen zugeordnet sind, für die Sie Datenverkehr filtern möchten. Wenn /32-Einträge für jeden privaten Endpunkt hinzugefügt wurden, dessen Datenverkehr Sie überprüfen möchten, stellen Sie sicher, dass sie in den effektiven Routen aufgeführt sind.

    Secured Virtual Hub Effective Routes

  4. Untersuchen Sie die effektiven Routen auf den NICs, die an die virtuellen Computer in den virtuellen Netzwerken angefügt sind, für die Sie Datenverkehr filtern möchten. Stellen Sie sicher, dass für jede private IP-Adresse eines privaten Endpunkts, für die Sie Datenverkehr filtern möchten, /32-Einträge vorhanden sind (sofern sie hinzugefügt worden ist).

    Azure CLI:

    az network nic show-effective-route-table --name <Network Interface Name> --resource-group <Resource Group Name> -o table
    
  5. Untersuchen Sie die Routingtabellen Ihrer lokalen Routinggeräte. Machen Sie sich mit den Adressräumen der virtuellen Netzwerke vertraut, in denen die privaten Endpunkte bereitgestellt werden.

    Von Azure Virtual WAN werden die Präfixe, die unter Präfixe für privaten Datenverkehr bearbeiten in der Firewallrichtlinie für die Sicherheitskonfiguration konfiguriert sind, nicht für die lokale Umgebung angekündigt. Es ist zu erwarten, dass die /32-Einträge nicht in den Routingtabellen Ihrer lokalen Routinggeräte angezeigt werden.

  6. Sehen Sie sich AzureFirewallApplicationRule und AzureFirewallNetworkRule in den Azure Firewall-Protokollen an. Stellen Sie sicher, dass Datenverkehr, der für private Endpunkte bestimmt ist, protokolliert wird.

    Protokolleinträge vom Typ AzureFirewallNetworkRule enthalten keine FQDN-Informationen. Filtern Sie beim Untersuchen der Netzwerkregeln nach IP-Adresse und Port.

    Beim Filtern von Datenverkehr, der für private Endpunkte unter Azure Files bestimmt ist, werden Protokolleinträge vom Typ AzureFirewallNetworkRule nur generiert, wenn ein Client erstmalig eingebunden wird oder eine Verbindung mit der Dateifreigabe herstellt. Von Azure Firewall werden für Dateien auf der Dateifreigabe keine Protokolle für CRUD-Vorgänge generiert. Der Grund ist, dass CRUD-Vorgänge über den dauerhaften TCP-Kanal übertragen werden, der geöffnet wird, wenn der Client erstmalig eine Verbindung mit der Dateifreigabe herstellt oder darin eingebunden wird.

    Beispiel für Protokollabfrage per Anwendungsregel:

    AzureDiagnostics
    | where msg_s contains "database.windows.net"
    | where Category contains "ApplicationRule"
    

Nächste Schritte