Musterimplementierung für sicheren eingehenden Netzwerkdatenverkehr

Der sichere eingehende Netzwerkdatenverkehr kapselt mehrere Entwurfsmuster, einschließlich der Muster für globales Routing, globale Abladung und Integritätsendpunkt-Überwachung. Sie können diese Musterimplementierung in diesem Artikel als Gateway für jede HTTP(S)-Workload verwenden, die Hochverfügbarkeit oder Zuverlässigkeit erfordert, indem sicheres globales Routing für Workloads in unterschiedlichen Regionen mit Failover mit geringer Latenz bereitgestellt wird.

Video: Implementierung des sicheren Netzwerkeingangs

Musteranforderungen

In diesem Artikel werden drei Musterimplementierungen des sicheren eingehenden Netzwerkdatenverkehrs beschrieben: globales Routing, Failover mit geringer Latenz und Entschärfung von Angriffen am Edge.

Globales Routing

Das Muster für den sicheren Netzwerkeingang kapselt das Muster für globales Routing. Daher ist die Implementierung in der Lage, Anforderungen an Workloads in verschiedenen Regionen weiterzuleiten.

Diagramm: Eine HTTPS-Anforderung wird an zwei Workloads in verschiedenen Regionen weitergeleitet.

Failover mit geringer Latenz

Die Implementierung muss in der Lage sein, fehlerfreie und fehlerhafte Workloads zu erkennen und das Routing entsprechend zeitabhängig anzupassen. Die Latenzzeit sollte es ermöglichen, das Routing innerhalb weniger Minuten anzupassen.

Diagramm: Eine HTTPS-Anforderung wird nicht an eine fehlerhafte Workload weitergeleitet.

Abschwächen von Angriffen am Edge

Die Entschärfung der Angriffe am Edge erfordert den „netzwerksicheren“ Teil der Implementierung. Auf die Workloads oder PaaS-Dienste (Platform-as-a-Service sollte nicht über das Internet zugegriffen werden können. Internetdatenverkehr sollte nur über das Gateway geleitet werden können. Das Gateway sollte in der Lage sein, Exploits zu mindern.

Diagramm: Eine HTTPS-Anforderung mit einer SQL-Anweisung in der Abfragezeichenfolge einer Anforderung, die nicht am Edge beendet wird.

Muster

Diese Lösung implementiert die folgenden Entwurfsmuster:

Design

Diagramm: Eine Anforderung fließt über Azure Front Door (AFD) Premium zu regionalen Stempeln.

Das Diagramm zeigt eine HTTPS-Anforderung, die an eine Azure Front Door Premium-Box fließt, in der Web Application Firewall enthalten ist. Dies veranschaulicht die Integration zwischen Azure Front Door Premium und Azure Web Application Firewall. Das Diagramm zeigt dann die Anforderung, die durch Private Link zu zwei Stempeln in verschiedenen Regionen fließt. Jeder Stempel verfügt über eine statische Website und einen internen Lastenausgleich. Die Anforderungen fließen über Private Link zu den statischen Websites und den Lastenausgleichsmodulen in beiden Stempeln.

Die Implementierung umfasst die folgenden Details:

  • Sie verwendet Azure Blob Storage-Konten, um statische Webworkloads zu simulieren, die in zwei Regionen ausgeführt werden. Diese Implementierung umfasst keine Workloads, die hinter einem internen Lastenausgleich (Internal Load Balancer, ILB) ausgeführt werden. Das Diagramm zeigt einen ILB, um zu verdeutlichen, dass diese Implementierung für private Workloads, die hinter einem ILB ausgeführt werden, funktionieren würde.
  • Sie verwendet die Azure Front Door Premium-Ebene als globales Gateway.
  • Die Azure Front Door-Instanz verfügt über eine WAF-Richtlinie (Web Application Firewall), die mit verwalteten Regeln konfiguriert ist, die zum Schutz vor gängigen Exploits beitragen.
  • Die Speicherkonten werden nicht über das Internet verfügbar gemacht.
  • Die Azure Front Door Premium-Ebene greift über Azure Private Link auf die Speicherkonten zu.
  • Die Azure Front Door-Instanz verfügt über die folgende allgemeine Konfiguration:
    • Ein Endpunkt mit einer einzelnen Route, die auf eine einzelne Ursprungsgruppe zeigt. Eine Ursprungsgruppe ist eine Sammlung von Ursprüngen oder Back-Ends.
    • Die Ursprungsgruppe verfügt über einen Ursprung, der so konfiguriert ist, dass er auf jedes Speicherkonto verweist.
    • Jeder Ursprung fordert Private Link-Zugriff auf das Speicherkonto an.
    • Die Ursprungsgruppe verfügt über Integritätstests, die für den Zugriff auf eine HTML-Seite in den Speicherkonten konfiguriert sind. Die HTML-Seite fungiert als Integritätsendpunkt für die statischen Workloads. Wenn die Tests bei drei der letzten vier Versuche erfolgreich auf den Ursprung zugreifen können, gilt der Ursprung als fehlerfrei.

Komponenten

Webanforderung

  • Azure Web Application Firewall: Der Premium-Tarif von Web Application Firewall unterstützt von Microsoft verwaltete Regeln, die zum Schutz vor gängigen Exploits beitragen.
  • Azure Private Link: Private Endpunkte in Azure Private Link machen einen Azure-PaaS-Dienst für eine private IP-Adresse in einem virtuellen Netzwerk verfügbar. Dadurch kann die Kommunikation über das Microsoft Backbone-Netzwerk statt über das öffentliche Internet fließen.
  • Azure Front Door Premium-Ebene: Azure Front Door bietet einen globalen Lastenausgleich der Ebene 7. Azure Front Door ist in Web Application Firewall integriert. Die Premium-Ebene unterstützt Folgendes:
    • Azure Private Link-Unterstützung in Azure Front Door: Private Link-Unterstützung ermöglicht Azure Front Door die Kommunikation mit PaaS-Diensten oder Workloads, die in einem privaten virtuellen Netzwerk über das Microsoft Backbone-Netzwerk ausgeführt werden.
    • Von Microsoft verwaltete Regelsätze: Die Premium-Ebene von Azure Front Door unterstützt die Premium-Ebene von Web Application Firewall, wodurch der verwaltete Regelsatz in WAF unterstützt wird.
  • Azure Storage: Blob Storage-Konten werden in dieser Implementierung verwendet, um eine statische Website oder Workload darzustellen.
  • Interner Lastenausgleich: Der interne Lastenausgleich wird in dieser Implementierung nicht verwendet. Er wird dargestellt, um eine private Workload darzustellen, die hinter diesem Lastenausgleich ausgeführt wird. Das Routing an das Speicherkonto erfolgt auf die gleiche Weise wie bei Lastenausgleichsmodulen.

Vorgänge

Das Sichern von Ressourcen aus Netzwerksicht trägt zum Schutz vor Exploits bei, isoliert die Ressourcen aber auch von Prozessen oder Administratoren, die möglicherweise auf diese Ressourcen zugreifen müssen. Beispielsweise muss ein Build-Agent in einer DevOps-Pipeline möglicherweise auf das Speicherkonto zugreifen, um ein Update für die Webanwendung bereitzustellen. Außerdem muss ein Administrator möglicherweise zu Problembehandlungszwecken auf die Ressource zugreifen.

Zur Veranschaulichung des Zugangs zu sicherem Netzwerkzugriff für betriebliche Zwecke stellt diese Implementierung einen virtuellen Computer (VM) in einem virtuellen Netzwerk bereit, der über Private Link-Zugriff auf die Speicherkonten verfügt. Diese Implementierung stellt den Dienst Azure Bastion bereit, den der Administrator zum Herstellen einer Verbindung mit der VM nutzen kann. Für das Bereitstellungsszenario kann ein privater Build-Agent ähnlich wie die VM in einem virtuellen Netzwerk bereitgestellt werden.

Hier finden Sie Details zu den Komponenten für den Betrieb:

  • Azure Virtual Network: In dieser Implementierung enthält das virtuelle Netzwerk die Komponenten, die Administratoren benötigen, um sicher über das private Microsoft Backbone-Netzwerk mit dem Speicherkonto zu kommunizieren.
  • Azure Virtual Machines: Diese Implementierung verwendet eine VM als Jumpbox für Administratoren, mit der eine Verbindung hergestellt werden kann. Die VM wird im privaten virtuellen Netzwerk bereitgestellt.
  • Azure Bastion: Azure Bastion ermöglicht es Administratoren, über SSH (Secure Shell) eine sichere Verbindung mit der Jumpbox-VM herzustellen, ohne dass die VM über eine öffentliche IP-Adresse verfügen muss.
  • Private Link-Endpunkt: Dem privaten Endpunkt wird eine private IP-Adresse aus dem virtuellen Netzwerk zugewiesen, und er stellt eine Verbindung mit dem PaaS-Dienst des Speicherkontos her. Diese Verbindung ermöglicht Ressourcen im privaten virtuellen Netzwerk, über die private IP-Adresse mit dem Speicherkonto zu kommunizieren.
  • Private Azure DNS Zone: Die private Azure DNS-Zone ist ein DNS-Dienst, der zum Auflösen des Hostnamens der privaten Verbindung des Azure-Speicherkontos in die private IP-Adresse des privaten Endpunkts verwendet wird.

Webanforderungsfluss

Diagramm: Der Flow einer Webanforderung.

Das Diagramm zeigt, wie ein Benutzer eine Webanforderung an Azure Front Door stellt. Das Diagramm enthält im Feld „Azure Front Door“ die einzelnen Schritte des Azure Front Door-Routingflows. Im Flow ist der Schritt hervorgehoben, in dem WAF-Regeln ausgewertet werden, die Azure Front Door-Route abgeglichen sowie eine Ursprungsgruppe und der Ursprung aus der Ursprungsgruppe ausgewählt wird. Im letzten hervorgehobenen Teil wird über Private Link eine Verbindung von Azure Front Door mit dem Azure Blob Storage-Konto hergestellt.

  1. Die Benutzer*innen senden eine HTTP- oder HTTPS-Anforderung an einen Azure Front Door-Endpunkt.

  2. Die WAF-Regeln werden ausgewertet. Regeln, die übereinstimmen, werden immer protokolliert. Wenn der WAF-Richtlinienmodus für Azure Front Door auf Prävention und für die Vergleichsregel eine Aktion auf Bei Anomalie blockieren festgelegt ist, wird die Anforderung blockiert. Andernfalls wird die Anforderung fortgesetzt oder umgeleitet, oder die nachfolgenden Regeln werden ausgewertet.

  3. Die in Azure Front Door konfigurierte Route wird abgeglichen und die richtige Ursprungsgruppe ausgewählt. In diesem Beispiel führte der Pfad zum statischen Inhalt der Website.

  4. Der Ursprung wird aus der Ursprungsgruppe ausgewählt.

    a. In diesem Beispiel wurde die Website von den Integritätstests als fehlerhaft eingestuft, sodass sie aus den möglichen Ursprüngen entfernt wurde.
    b. Diese Website wird ausgewählt.

  5. Die Anforderung wird über Private Link über das Microsoft-Backbonenetzwerk an das Azure-Speicherkonto weitergeleitet.

Weitere Informationen zur Azure Front Door-Routingarchitektur finden Sie unter Übersicht über die Routingarchitektur.

Operativer Ablauf

Diagramm: Der Flow, den Administratoren zum Herstellen einer Verbindung mit einer geschützten Ressource verwenden würde.

Das Diagramm besteht aus drei Teilen. Der erste Teil zeigt, dass Azure Blob Storage als statische Website fungiert. Azure Front Door stellt über Private Link eine Verbindung mit dem Speicherkonto her. Der zweite Teil enthält ein Feld, das ein virtuelles Netzwerk darstellt. Das virtuelle Netzwerk verfügt über Subnetze und deren Inhalte. Zu diesen Subnetzen gehören ein Subnetz für private Endpunkte, das einen Private Link-Endpunkt mit der IP-Adresse 10.0.2.5 enthält, ein Jumpboxsubnetz mit einer Jumpbox-VM und ein Azure Bastion-Subnetz mit Azure Bastion. Der dritte Teil stellt einen Administrator dar, der SSH verwendet, um über Azure Bastion auf die Jumpbox-VM im virtuellen Netzwerk zuzugreifen. Ein Pfeil führt von der VM zur privaten Azure DNS-Zone. Der letzte Pfeil weist von der VM zum Private Link-Endpunkt und dann zum Speicherkonto.

  1. Ein Administrator stellt eine Verbindung mit der Azure Bastion-Instanz her, die im virtuellen Netzwerk bereitgestellt wird.

  2. Azure Bastion bietet SSH-Konnektivität mit der Jumpbox-VM.

  3. Der Administrator in der Jumpbox versucht, über die Azure CLI auf das Speicherkonto zuzugreifen. Die Jumpbox fragt das DNS nach dem öffentlichen Endpunkt des Azure Blob Storage-Kontos ab: storageaccountname.blob.core.windows.net.

    Das private DNS wird letztendlich in storageaccountname.privatelink.blob.core.windows.net aufgelöst. Zurückgegeben wird die private IP-Adresse des Private Link-Endpunkts, die in diesem Beispiel 10.0.2.5 lautet.

  4. Über den Private Link-Endpunkt wird eine private Verbindung mit dem Speicherkonto hergestellt.

Überlegungen

Beachten Sie folgende Punkte, wenn Sie diese Lösung verwenden.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Dieses Szenario befasst sich mit den folgenden Kernpunkten der Zuverlässigkeit:

  • Globales Routing mit geringer Latenz durch die Verwendung von Integritätstests ermöglicht Zuverlässigkeit, indem die Anwendung gegen regionale Ausfälle isoliert wird.
  • Web Application Firewall in Azure Front Door bietet zentralen Schutz für HTTP- und HTTPS-Anforderungen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Dieses Szenario befasst sich mit den folgenden Kernpunkten der Sicherheit:

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Sowohl Azure Front Door Premium als auch Web Application Firewall Premium bieten erweiterte Sicherheitsfeatures gegenüber der Standardebene, sind jedoch beide mit zusätzlichen Kosten verbunden. Weitere Informationen zu Preisen für Azure Front Door und Web Application Firewall finden Sie in den folgenden Ressourcen:

Erstklassige Betriebsprozesse

Die Säule „Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Übersicht über die Säule „Optimaler Betrieb“.

Die Implementierung von Netzwerksicherheitsgrenzen erhöht die Komplexität von Betrieb und Bereitstellung. Berücksichtigen Sie die folgenden Punkte:

  • Die IP-Bereiche für von Microsoft gehostete Agents variieren im Laufe der Zeit. Ziehen Sie in Betracht, selbstgehostete Agents in Ihrem virtuellen Netzwerk zu implementieren.
  • Implementieren Sie Azure Bastion für Szenarien, in denen Operations Teams auf gesicherte Ressourcen im Netzwerk zugreifen müssen.
  • Die Verwendung von Web Application Firewall in Azure Front Door bietet zentralisierten Schutz für HTTP- und HTTPS-Anforderungen und ist ein Beispiel für das Muster „Gatewayabladung“. Die Verantwortung für die Prüfung von Anforderungen auf Exploits wird an Web Application Firewall in Azure Front Door ausgelagert. Aus der Perspektive der operativen Exzellenz liegt der Vorteil darin, dass die Regeln nur an einem Ort verwaltet werden müssen.

Wichtig

Im Beispiel für einen sicheren eingehenden Netzdatenverkehr können Sie alle Ressourcen bereitstellen, die erforderlich sind, um über Azure Bastion eine Verbindung mit einer Jumpbox und einer sicheren Netzwerk-VM herzustellen.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, eine Skalierung entsprechend den Anforderungen der Benutzer*innen auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Globales Routing ermöglicht horizontale Skalierung durch die Bereitstellung von mehr Ressourcen in derselben Region oder unterschiedlichen Regionen.

Nächste Schritte