Implementieren der Netzwerksicherheit
Die Netzwerksicherheit ist definiert als der Prozess zum Schutz von Ressourcen vor unbefugtem Zugriff oder Angriffen durch Anwendung von Kontrollen auf den Netzwerkdatenverkehr. Obwohl Kontrollen auf verschiedene Weise angewendet werden können, ist das Ziel die Gewährleistung, dass nur legitimer Datenverkehr zugelassen wird.
Im Folgenden finden Sie eine beispielhafte Darstellung der Architektur eines HDInsight-Clusters, der mit Netzwerksicherheit bereitgestellt wird, und eine begleitende Diskussion darüber, wie dies erreicht wird. Die schwarzen Pfeile stellen den eingehenden und die blauen Pfeile den ausgehenden Datenverkehr dar.
Das Ziel des obigen Entwurfs ist es, sicherzustellen, dass nur Netzwerkdatenverkehr, der von vertrauenswürdigen Quellen stammt, den HDInsight-Cluster erreichen kann und Netzwerkdatenverkehr, der den HDInsight-Cluster verlässt, an ein vertrauenswürdiges Ziel gerichtet ist. Außerdem ist der Netzwerkdatenverkehr, der Speicher- und Metastore-Dienste erreicht, auf den Datenverkehr beschränkt, der von HDInsight ausgeht.
Lassen Sie uns die Detailinformationen des obigen Entwurfs anhand der folgenden Bereiche genauer betrachten.
- Sicherheit bei eingehendem Datenverkehr und Clusterzugriff
- Sicherheit bei ausgehenden Datenverkehr
- VNet-Dienstendpunkte
Sicherheit bei eingehendem Datenverkehr
Die Sicherheit bei eingehendem Netzwerkdatenverkehr wird mithilfe einer Netzwerksicherheitsgruppe (NSG) erzielt, die dem Subnetz zugewiesen ist. Die NSG verwendet Tags und IP-Bereiche von HDInsight-Diensten, um eingehenden Datenverkehr auf vertrauenswürdige Quellen zu beschränken.
In der obigen Darstellung werden zwei Sätze von Sicherheitsregeln für eingehenden Datenverkehr in der Netzwerksicherheitsgruppe erstellt. Die erste Sicherheitsregel für eingehenden Datenverkehr verwendet das HDInsight-Diensttag, um eingehenden Datenverkehr von den Integritäts- und Verwaltungsdiensten von HDInsight zuzulassen. Die zweite Sicherheitsregel für eingehenden Datenverkehr ist ein IP-Bereich, der es Benutzern innerhalb eines bestimmten IP-Adressbereichs gestattet, auf bestimmte Ports von HDInsight zuzugreifen (Beispiel: SSH-Port 22).
Die Sicherheit bei eingehendem Netzwerkdatenverkehr wird durch NSG-Regeln in dem Subnetz erreicht, in dem der HDInsight-Cluster bereitgestellt wird. Nachfolgend finden Sie ein Beispiel, wie diese Regeln der Netzwerksicherheitsgruppen erstellt werden können.
Erstellen Sie ein VNet mit mehreren entsprechenden Subnetzen. Eines dieser Subnetze ist für das Hosting des HDInsight-Clusters vorgesehen und wird der Netzwerksicherheitsgruppe zugeordnet.
Erstellen Sie eine Netzwerksicherheitsgruppe (NSG). In der NSG gibt es zwei Sätze von Sicherheitsregeln, eingehend und ausgehend, unter dem Abschnitt „Einstellungen“ auf der linken Seite. Wir werden den Abschnitt zu den Sicherheitsregeln für eingehenden Datenverkehr verwenden und zusätzliche Regeln zum bestehenden Regelsatz hinzufügen.
Identifizieren Sie die Region, in der Ihr HDInsight-Dienst bereitgestellt werden soll, und identifizieren Sie anhand der Region die zu verwendenden Diensttags. Je nach Region und Grad der restriktiven Berechtigungen kann es Permutationen und Kombinationen von Diensttags geben, die Sie anwenden müssen, um das Ziel zu erreichen. Klicken Sie auf „Hinzufügen“, um zusätzliche Sicherheitsregeln für eingehenden Datenverkehr in der Netzwerksicherheitsgruppe zu erstellen und Diensttags basierend auf der Region der Bereitstellung zuzuweisen.
Nachfolgend finden Sie ein Beispiel für die Kombination von Region und Diensttag. Die vollständige Liste der Kombinationen von Regionen und Diensttags finden Sie in Diensttags von Netzwerksicherheitsgruppen für Azure HDInsight.
Diensttagtyp | Country | Region | Diensttag | BESCHREIBUNG |
---|---|---|---|---|
Global | Nicht verfügbar | Nicht verfügbar | HDInsight | Einzelnes globales Diensttag für HDInsight |
Länderspezifisch | USA | USA, Westen 2 | HDInsight.WestUS2 | Einzelnes Diensttag |
Länderspezifisch | USA | USA (Ost) 2 | HDInsight.EastUS2 HDInsight.WestUS HDInsight.EastUS | Kombination von Diensttags |
Länderspezifisch | China | China, Norden | HDInsight.ChinaNorth HDInsight.ChinaEast | Kombination von Diensttags |
- Basierend auf Ihren Anforderungen an den Entwurf könnten Sie nun zusätzliche Regeln zum Abschnitt mit den Regeln für eingehenden Datenverkehr hinzufügen, um eingehenden Datenverkehr von anderen vertrauenswürdigen Quellen zuzulassen.
HDInsight-Clusterzugriff bei Bereitstellung mit einem VNet
Aus Sicht der Sicherheit sind typischerweise nicht alle öffentlichen Endpunkte zum HDInsight-Cluster zugänglich. In diesem Fall gibt es mehrere alternative Möglichkeiten, auf einen HDInsight-Cluster in einem VNet zuzugreifen, die in der Beispieldarstellung unten abgebildet sind. HDInsight-Cluster, die innerhalb eines VNet erstellt werden, stellen sowohl öffentliche als auch private Endpunkte mit Lastenausgleich bereit.
Im Netzwerkpfad 1 ist der Zugriff auf den Cluster über das allgemeine öffentliche Internet blockiert. Es können jedoch NSG-Regeln erstellt werden, um bestimmten Clients außerhalb von Azure sicheren Zugriff auf den Cluster über einen öffentlichen Endpunkt mit HTTPS über Port 443 unter „https://<Clustername>.azurehdinsight.net“ zu ermöglichen.
Im Netzwerkpfad 2 wird zur Umgehung der Netzwerksicherheitsgruppe eine Jumpbox innerhalb des VNets erstellt, in dem sich das HDInsight-Subnetz befindet. Benutzer*innen können per RDP auf diese Jumpbox und dann mit <Clustername> über Port 443 mit https://<Clustername>.azurehdinsight.net. auf den privaten HDInsight-Endpunkt zugreifen.
Im Netzwerkpfad 3 werden die Regeln der Netzwerksicherheitsgruppe so geändert, dass ein zu Azure externer Client über den öffentlichen Endpunkt über Port 22 unter „https://<Clustername>-ssh.azurehdinsight.net“ SSH-Zugriff auf den Cluster erhält.
Sicherheit bei ausgehenden Datenverkehr
Datenverkehr, der von HDInsight ausgeht, muss für mehrere Ziele zugelassen werden, damit der Dienst ordnungsgemäß funktioniert. Sie müssen jedoch auch vorsichtig sein, um sicherzustellen, dass diese Ziele vertrauenswürdig sind.
Die Abhängigkeiten des ausgehenden Datenverkehrs von HDInsight werden über vollqualifizierte Domänennamen (FQDNs) definiert und weisen keine statischen IP-Adressen auf. Da sich die IP-Adressen der FQDNs ändern können, können Netzwerksicherheitsgruppen nicht zur Kontrolle des ausgehenden Datenverkehrs von einem HDInsight-Cluster verwendet werden. Daher wird stattdessen der Azure Firewall-Dienst – oder ein vom Kunden gehostetes virtuelles Netzwerkgerät zur Kontrolle des von einem Cluster ausgehenden Datenverkehrs verwendet. In praxisnahen Szenarien wird der aus dem HDInsight-Subnetz ausgehende Datenverkehr über eine benutzerdefinierte Route (User Defined Route, UDR) in ein virtuelles Netzwerkgerät oder eine Azure Firewall geleitet, die dann ausgehenden Datenverkehr basierend auf den mit dem HDInsight-Diensttag definierten Sicherheitsregeln zulässt.
Im folgenden Beispiel sehen Sie, dass ausgehender Datenverkehr aus dem HDInsight-Subnetz in eine Azure Firewall gelangt, wo eine Auswertung des HDInsight-Diensttags erfolgt, um sicherzustellen, dass ausgehender Datenverkehr für ein vertrauenswürdiges Ziel bestimmt ist. Während der Datenverkehr zu IP-Adressen von Metastores, Speichern und zur HDInsight-Verwaltung usw. gestattet ist, wird der Datenverkehr zu nicht genehmigten Zielen im Internet blockiert. Obwohl die Ziele im HDInsight-Diensttag von Microsoft verwaltet werden, können Kunden mit bestimmten Anforderungen an den ausgehenden Datenverkehr, die vom HDInsight-Diensttag nicht erfüllt werden, ihr eigenes Diensttag aus einer veröffentlichten Liste von HDInsight-FQDNs erstellen, das sie verwalten und aktualisieren könnten. Details zu Routentabellenkonfigurationen und Firewalleinstellungen finden Sie auf der Seite Einschränken des ausgehenden Datenverkehrs für HDInsight.
Die folgenden Schritte sind erforderlich, um die Einschränkungen für den ausgehenden Datenverkehr zu aktivieren:
- Erstellen einer Azure Firewall-Instanz
- Hinzufügen von Anwendungsregeln und Sicherheitsregeln für ausgehenden Netzwerkdatenverkehr zur Firewall
- Erstellen einer benutzerdefinierten Route
VNet-Dienstendpunkte
VNet-Dienstendpunkte erweitern die Identität eines VNet auf einen Azure-Dienst. Die Aktivierung von VNet-Dienstendpunkten für einen Dienst gewährt Zugriff auf den Dienst von einer bestimmten VNet/Subnetz-Kombination aus und leitet dann den Datenverkehr von diesem Subnetz über einen optimalen und sicheren Pfad zum Dienst. Ressourcen wie Speicherkonten und SQL-Metastores, auf die der HDInsight-Dienst zugreifen muss, können über VNet-Dienstendpunkte gesichert werden, wie in der nachfolgenden Beispielarchitektur gezeigt.
In diesem Beispiel werden VNet-Dienstendpunkte für ADLS Gen2 Storage und den Hive-Metastore-Dienst (unter Azure SQL Server) konfiguriert und den Datenverkehr vom HDInsight-VNet zulassen.
Die Schritte zum Erstellen von VNet-Dienstendpunkten werden im Abschnitt zur Datenzugriffssicherheit ausführlicher behandelt.