Planen und Implementieren von Netzwerksicherheitsgruppen (Network Security Groups, NSGs) und Anwendungssicherheitsgruppen (APPLICATION Security Groups, ASGs)
Sie können eine Azure-Netzwerksicherheitsgruppe verwenden, um den Netzwerkdatenverkehr zwischen Azure-Ressourcen in einem virtuellen Azure-Netzwerk zu filtern. Eine Netzwerksicherheitsgruppe enthält Sicherheitsregeln, die eingehenden Netzwerkdatenverkehr an verschiedene Typen von Azure-Ressourcen oder ausgehenden Netzwerkdatenverkehr von diesen zulassen oder verweigern. Für jede Regel können Sie Quelle und Ziel, Port und Protokoll angeben.
Netzwerksicherheitsgruppen (NSGs)
Sicherheitsregeln
Eine Netzwerksicherheitsgruppe kann – innerhalb der Grenzwerte des Azure-Abonnements – beliebig viele Regeln enthalten. Für jede Regel werden die folgenden Eigenschaften angegeben:
| Eigentum | Erklärung |
|---|---|
| Name | Ein eindeutiger Name in der Netzwerksicherheitsgruppe Der Name kann bis zu 80 Zeichen lang sein. Er muss mit einem Wortzeichen beginnen und muss mit einem Wortzeichen oder mit '_' enden. Der Name kann Wortzeichen oder ".", "-", "_" enthalten. |
| Priorität | Eine Zahl zwischen 100 und 4.096. Regeln werden der Priorität nach verarbeitet. Regeln mit niedrigeren Zahlen werden vor Regeln mit höheren Zahlen verarbeitet, weil niedrigere Zahlen eine höhere Priorität haben. Wenn Datenverkehr mit einer Regel übereinstimmt, wird die Verarbeitung angehalten. Daher werden alle Regeln, die mit niedrigeren Prioritäten (höheren Zahlen) vorhanden sind, mit denselben Attributen wie Regeln mit höheren Prioritäten nicht verarbeitet. Azure-Standardsicherheitsregeln erhalten die höchste Zahl mit der niedrigsten Priorität, um sicherzustellen, dass benutzerdefinierte Regeln immer zuerst verarbeitet werden. |
| Quelle oder Ziel | Beliebig, oder eine einzelne IP-Adresse, ein CIDR-Block (klassenloses domänenübergreifendes Routing, z. B. 10.0.0.0/24), ein Diensttag oder eine Anwendungssicherheitsgruppe. Wenn Sie eine Adresse für eine Azure-Ressource angeben, geben Sie die private IP-Adresse an, die der Ressource zugewiesen ist. Netzwerksicherheitsgruppen werden verarbeitet, nachdem Azure eine öffentliche IP-Adresse in eine private IP-Adresse für eingehenden Datenverkehr übersetzt hat und bevor Azure eine private IP-Adresse in eine öffentliche IP-Adresse für ausgehenden Datenverkehr übersetzt. Weniger Sicherheitsregeln sind erforderlich, wenn Sie einen Bereich, ein Diensttag oder eine Anwendungssicherheitsgruppe angeben. Die Möglichkeit zum Angeben mehrerer einzelner IP-Adressen und Bereiche (Sie können nicht mehrere Diensttags oder Anwendungsgruppen angeben) in einer Regel wird als erweiterte Sicherheitsregeln bezeichnet. Ergänzte Sicherheitsregeln können nur in Netzwerksicherheitsgruppen erstellt werden, die mit dem Resource Manager-Bereitstellungsmodell erstellt wurden. Sie können nicht mehrere IP-Adressen und IP-Adressbereiche in Netzwerksicherheitsgruppen angeben, die über das klassische Bereitstellungsmodell erstellt wurden. |
| Protokoll | TCP, UDP, ICMP, ESP, AH oder Any. Die ESP- und AH-Protokolle sind derzeit nicht über das Azure-Portal verfügbar, können aber über Azure Resource Manager-Vorlagen verwendet werden. |
| Richtung | Gibt an, ob die Regel für ein- oder ausgehenden Datenverkehr gilt. |
| Portbereich | Sie können einen einzelnen Port oder einen Bereich mit Ports angeben. Mögliche Angaben sind beispielsweise „80“ oder „10.000 - 10.005“. Die Angabe von Bereichen ermöglicht Ihnen, weniger Sicherheitsregeln zu erstellen. Ergänzte Sicherheitsregeln können nur in Netzwerksicherheitsgruppen erstellt werden, die mit dem Resource Manager-Bereitstellungsmodell erstellt wurden. In Netzwerksicherheitsgruppen, die mit dem klassischen Bereitstellungsmodell erstellt wurden, können Sie in derselben Sicherheitsregel nicht mehrere Ports oder Portbereiche angeben. |
| Maßnahme | Zulassen oder Verweigern |
Sicherheitsregeln werden basierend auf den Informationen des Fünffach-Tupels (1. Quelle, 2. Quellport, 3. Ziel, 4. Zielport und 5. Protokoll) ausgewertet und angewendet. Sie können keine zwei Sicherheitsregeln mit gleicher Priorität und Richtung erstellen. Für vorhandene Verbindungen wird ein Flussdatensatz erstellt. Die Kommunikation wird basierend auf dem Verbindungszustand der Flussdatensätze zugelassen oder verweigert. Der Flussdatensatz ermöglicht es, dass eine Netzwerksicherheitsgruppe zustandsbehaftet ist. Wenn Sie beispielsweise eine Sicherheitsregel für Datenverkehr in ausgehender Richtung an eine beliebige Adresse über Port 80 angeben, ist es nicht erforderlich, für die Antwort auf den ausgehenden Datenverkehr eine Sicherheitsregel für Datenverkehr in eingehender Richtung anzugeben. Sie müssen nur dann eine Sicherheitsregel für Datenverkehr in eingehender Richtung angeben, wenn die Kommunikation extern initiiert wird. Dies gilt auch für den umgekehrten Fall. Wenn eingehender Datenverkehr über einen Port zugelassen wird, ist es nicht erforderlich, für die Beantwortung des Datenverkehrs über den Port eine Sicherheitsregel für Datenverkehr in ausgehender Richtung anzugeben.
Vorhandene Verbindungen werden möglicherweise nicht unterbrochen, wenn Sie eine Sicherheitsregel entfernen, die die Verbindung zugelassen hat. Das Ändern von Regeln für Netzwerksicherheitsgruppen wirkt sich nur auf neue Verbindungen aus. Wenn eine neue Regel erstellt oder eine vorhandene Regel in einer Netzwerksicherheitsgruppe aktualisiert wird, gilt sie nur für neue Verbindungen. Vorhandene Verbindungen werden nicht mit den neuen Regeln neu ausgewertet.
So filtern Netzwerksicherheitsgruppen Netzwerkdatenverkehr
Sie können Ressourcen von mehreren Azure-Diensten in einem virtuellen Azure-Netzwerk bereitstellen. Sie können jedem Subnetz eines virtuellen Netzwerks und jeder Netzwerkschnittstelle eines virtuellen Computers keine oder eine Netzwerksicherheitsgruppe zuordnen. Sie können dieselbe Netzwerksicherheitsgruppe beliebig vielen Subnetzen und Netzwerkschnittstellen zuordnen. Die folgende Abbildung zeigt verschiedene Szenarien für die Bereitstellung von Netzwerksicherheitsgruppen, um Netzwerkdatenverkehr zu und aus dem Internet über TCP-Port 80 zuzulassen:
In dieser Abbildung und im folgenden Text wird veranschaulicht, wie Azure Eingangs- und Ausgangsregeln für Netzwerksicherheitsgruppen verarbeitet:
Eingehender Datenverkehr
Für eingehenden Datenverkehr verarbeitet Azure zuerst die Regeln in einer Netzwerksicherheitsgruppe, die einem Subnetz (sofern vorhanden) zugeordnet sind, und anschließend die Regeln in einer Netzwerksicherheitsgruppe, die der Netzwerkschnittstelle (sofern vorhanden) zugeordnet sind. Dieser Vorgang schließt auch den Datenverkehr innerhalb von Subnetzen ein.
- VM1: Die Sicherheitsregeln in NSG1 werden verarbeitet, da sie Subnetz 1 zugeordnet ist und VM1 sich in Subnetz 1 befindet. Sofern Sie keine Regel erstellt haben, die Port 80 eingehend zulässt, verweigert die Standardsicherheitsregel DenyAllInbound den Datenverkehr. Der Datenverkehr wird nicht von NSG2 ausgewertet, da er der Netzwerkschnittstelle zugeordnet ist. Wenn NSG1 port 80 in seiner Sicherheitsregel zulässt, verarbeitet NSG2 den Datenverkehr. Um Port 80 auf den virtuellen Computer zuzulassen, muss sowohl NSG1 als auch NSG2 über eine Regel verfügen, die Port 80 aus dem Internet zulässt.
- VM2: Die Regeln in NSG1 werden verarbeitet, da VM2 auch in Subnetz 1 enthalten ist. Da VM2 nicht über eine Netzwerksicherheitsgruppe verfügt, die der Netzwerkschnittstelle zugeordnet ist, empfängt sie den gesamten über NSG1 zulässigen Datenverkehr oder verweigert den gesamten Datenverkehr, der von NSG1 verweigert wird. Datenverkehr wird für alle Ressourcen im selben Subnetz entweder zugelassen oder verweigert, wenn eine Netzwerksicherheitsgruppe einem Subnetz zugeordnet ist.
- VM3: Da keine Netzwerksicherheitsgruppe mit Subnetz 2 verknüpft ist, ist datenverkehr in das Subnetz zulässig und wird von NSG2 verarbeitet, da NSG2 der netzwerkschnittstelle zugeordnet ist, die mit VM3 verbunden ist.
- VM4: Datenverkehr ist für VM4 zulässig, da eine Netzwerksicherheitsgruppe nicht Subnetz 3 oder die Netzwerkschnittstelle auf dem virtuellen Computer zugeordnet ist. Der gesamte Netzwerkdatenverkehr ist über ein Subnetz und eine Netzwerkschnittstelle zulässig, wenn diesen keine Netzwerksicherheitsgruppe zugeordnet ist.
Ausgehender Datenverkehr
Für ausgehenden Datenverkehr verarbeitet Azure zuerst die Regeln in einer Netzwerksicherheitsgruppe, die einer Netzwerkschnittstelle (sofern vorhanden) zugeordnet sind, und anschließend die Regeln in einer Netzwerksicherheitsgruppe, die dem Subnetz (sofern vorhanden) zugeordnet sind. Dieser Vorgang schließt auch den Datenverkehr innerhalb von Subnetzen ein.
- VM1: Die Sicherheitsregeln in NSG2 werden verarbeitet. Die Standardsicherheitsregel AllowInternetOutbound in NSG1 und NSG2 lässt den Datenverkehr zu, es sei denn, Sie erstellen eine Sicherheitsregel, die den ausgehenden Port 80 ins Internet verweigert. Wenn NSG2 Port 80 in der Sicherheitsregel blockiert, wird der Datenverkehr abgelehnt, und NSG1 wertet ihn nie aus. Um Port 80 für die virtuelle Maschine zu verweigern, muss mindestens eine der beiden Netzwerksicherheitsgruppen eine Regel enthalten, die den Zugriff von Port 80 aus dem Internet verweigert.
- VM2: Der gesamte Datenverkehr wird über die Netzwerkschnittstelle an das Subnetz gesendet, da die an VM2 angefügte Netzwerkschnittstelle keine Netzwerksicherheitsgruppe zugeordnet ist. Die Regeln in NSG1 werden verarbeitet.
- VM3: Wenn NSG2 port 80 in seiner Sicherheitsregel verweigert, verweigert sie den Datenverkehr. Wenn NSG2 port 80 nicht verweigert, ermöglicht die Standardsicherheitsregel "AllowInternetOutbound " in NSG2 den Datenverkehr, da keine Netzwerksicherheitsgruppe mit Subnetz 2 verknüpft ist.
- VM4: Der gesamte Netzwerkdatenverkehr ist von VM4 zulässig, da eine Netzwerksicherheitsgruppe nicht der Netzwerkschnittstelle zugeordnet ist, die mit dem virtuellen Computer oder mit Subnetz 3 verbunden ist.
Subnetzinterner Datenverkehr
Es ist wichtig zu beachten, dass Sicherheitsregeln in einer Netzwerksicherheitsgruppe, die einem Subnetz zugeordnet ist, die Konnektivität zwischen VMs innerhalb dieses Subnetzes beeinflussen können. Standardmäßig können VMs im selben Subnetz basierend auf einer NSG-Standardregel kommunizieren, die den subnetzinternen Datenverkehr ermöglicht. Wenn Sie NSG1 eine Regel hinzufügen, die den gesamten eingehenden und ausgehenden Datenverkehr verweigert, kann VM1 und VM2 nicht miteinander kommunizieren.
Sie können die Aggregatregeln, die auf eine Netzwerkschnittstelle angewendet werden, ganz einfach anzeigen, indem Sie die effektiven Sicherheitsregeln für eine Netzwerkschnittstelle anzeigen. Sie können auch die Funktion zum Überprüfen des IP-Flusses in Azure Network Watcher verwenden, um zu ermitteln, ob die Kommunikation zu oder von einer Netzwerkschnittstelle möglich ist. Sie können IP-Datenflussüberprüfung verwenden, um zu ermitteln, ob ein bestimmter Kommunikationsvorgang zulässig ist oder verweigert wird. Darüber hinaus verwenden Sie IP-Datenflussüberprüfung, um die Identität der Netzwerksicherheitsregel anzuzeigen, die für das Zulassen oder Verweigern des Datenverkehrs verantwortlich ist.
Netzwerksicherheitsgruppen sind bei der Bereitstellung im klassischen Bereitstellungsmodell Subnetzen oder virtuellen Computern und Clouddiensten zugeordnet sowie Subnetzen oder Netzwerkschnittstellen gemäß dem Resource Manager-Bereitstellungsmodell.
Wir empfehlen Ihnen, eine Netzwerksicherheitsgruppe einem Subnetz oder einer Netzwerkschnittstelle zuzuordnen, aber nicht beiden, sofern kein zwingender Grund dafür vorliegt. Da Regeln in einer Netzwerksicherheitsgruppe, die einem Subnetz zugeordnet ist, unter Umständen mit Regeln in einer Netzwerksicherheitsgruppe, die einer Netzwerkschnittstelle zugeordnet sind, in Konflikt stehen, können unerwartete Kommunikationsprobleme auftreten, die behoben werden müssen.
Anwendungssicherheitsgruppen (ASGs)
Mit Anwendungssicherheitsgruppen können Sie die Netzwerksicherheit als natürliche Erweiterung einer Anwendungsstruktur konfigurieren und virtuelle Computer gruppieren sowie auf der Grundlage dieser Gruppen Netzwerksicherheitsrichtlinien definieren. Sie können Ihre Sicherheitsrichtlinie in großem Umfang wiederverwenden, ohne explizite IP-Adressen manuell verwalten zu müssen. Die Plattform übernimmt die komplexe Verarbeitung von expliziten IP-Adressen und mehreren Regelsätzen, damit Sie sich auf Ihre Geschäftslogik konzentrieren können. Das folgende Beispiel bietet Ihnen ein besseres Verständnis von Anwendungssicherheitsgruppen:
In der Abbildung oben sind NIC1 und NIC2 Mitglieder der Anwendungssicherheitsgruppe AsgWeb. NIC3 ist ein Mitglied der Anwendungssicherheitsgruppe AsgLogic. NIC4 ist ein Mitglied der Anwendungssicherheitsgruppe AsgDb. Obwohl jede Netzwerkschnittstelle (Network Interface, NIC) in diesem Beispiel nur Mitglied einer Netzwerksicherheitsgruppe ist, kann eine Netzwerkschnittstelle Mitglied mehrerer Anwendungssicherheitsgruppen sein, bis zu den Azure-Grenzwerten. Keiner der Netzwerkschnittstellen ist eine Netzwerksicherheitsgruppe zugeordnet. NSG1 ist beiden Subnetzen zugeordnet und enthält die folgenden Regeln:
Allow-HTTP-Inbound-Internet
Diese Regel ist erforderlich, um Datenverkehr aus dem Internet an die Webserver zuzulassen. Da eingehender Datenverkehr aus dem Internet von der Standardsicherheitsregel "DenyAllInbound" verweigert wird, ist keine zusätzliche Regel für die AsgLogic - oder AsgDb-Anwendungssicherheitsgruppen erforderlich.
| Priorität | Quelle | Quellports | Ziel | Zielports | Protokoll | Zugriff |
|---|---|---|---|---|---|---|
| 100 | Internet | * | AsgWeb | 80 | TCP | Zulassen |
Deny-Database-All
Da die Standardsicherheitsregel AllowVNetInBound die gesamte Kommunikation zwischen Ressourcen im selben virtuellen Netzwerk zulässt, ist diese Regel erforderlich, um den Datenverkehr von allen Ressourcen zu verweigern.
| Priorität | Quelle | Quellports | Ziel | Zielports | Protokoll | Zugriff |
|---|---|---|---|---|---|---|
| 120 | * | * | AsgDb | 1433 | Beliebig | Leugnen |
Allow-Database-BusinessLogic
Diese Regel lässt Datenverkehr von der Anwendungssicherheitsgruppe AsgLogic zur Anwendungssicherheitsgruppe AsgDb zu. Die Priorität für diese Regel ist höher als die Priorität für die Regel Deny-Database-All. Daher wird diese Regel vor der Regel Deny-Database-All verarbeitet, sodass Datenverkehr von den Anwendungssicherheitsgruppen AsgLogic zulässig ist, während der andere Datenverkehr blockiert wird.
| Priorität | Quelle | Quellports | Ziel | Zielports | Protokoll | Zugriff |
|---|---|---|---|---|---|---|
| 110 | AsgLogic | * | AsgDb | 1433 | TCP | Zulassen |
Netzwerkschnittstellen, die Mitglieder der Anwendungssicherheitsgruppe sind, wenden die Regeln an, die sie als Quelle oder Ziel angeben. Die Regeln wirken sich nicht auf andere Netzwerkschnittstellen aus. Wenn die Netzwerkschnittstelle kein Mitglied einer Anwendungssicherheitsgruppe ist, wird die Regel nicht auf die Netzwerkschnittstelle angewendet, obwohl die Netzwerksicherheitsgruppe dem Subnetz zugeordnet ist.
Für Anwendungssicherheitsgruppen gelten die folgenden Einschränkungen:
Es gibt Grenzwerte für die Anzahl der Anwendungssicherheitsgruppen, die Sie in einem Abonnement haben können, und andere Beschränkungen im Zusammenhang mit Anwendungssicherheitsgruppen.
Alle Netzwerkschnittstellen, die einer Anwendungssicherheitsgruppe zugewiesen sind, müssen in selben virtuellen Netzwerk vorhanden sein, in dem sich die erste Netzwerkschnittstelle befindet, die der Anwendungssicherheitsgruppe zugewiesen wurde. Wenn sich die erste Netzwerkschnittstelle, die einer Anwendungssicherheitsgruppe mit dem Namen AsgWeb zugewiesen ist, im virtuellen Netzwerk VNet1 befindet, müssen alle nachfolgenden Netzwerkschnittstellen, die ASGWeb zugewiesen werden, in VNet1 enthalten sein. Sie können der gleichen Anwendungssicherheitsgruppe keine Netzwerkschnittstellen aus verschiedenen virtuellen Netzwerken hinzufügen.
Wenn Sie eine Anwendungssicherheitsgruppe als Quelle und Ziel in einer Sicherheitsregel angeben, müssen sich die Netzwerkschnittstellen in beiden Anwendungssicherheitsgruppen im gleichen virtuellen Netzwerk befinden.
- Ein Beispiel wäre, wenn AsgLogic Netzwerkschnittstellen von VNet1 und AsgDb Netzwerkschnittstellen von VNet2hatte. In diesem Fall wäre es unmöglich, AsgLogic als Quelle und AsgDbals Ziel in einer Regel zuzuweisen. Alle Netzwerkschnittstellen für die Quell- und Ziel-Anwendungssicherheitsgruppen müssen im selben virtuellen Netzwerk vorhanden sein.
Planen Sie die erforderlichen Anwendungssicherheitsgruppen, und erstellen Sie Regeln nach Möglichkeit mithilfe von Diensttags oder Anwendungssicherheitsgruppen anstelle von individuellen IP-Adresse oder IP-Adressbereichen, um die Anzahl der erforderlichen Sicherheitsregeln und die Notwendigkeit von Regeländerungen zu minimieren.