Azure-NSG-Regel-Generator
Azure-nsg-Regeln aus CSV generieren
NSG Rules
Format
name, priority, direction, access, port, protocol, source
Direction: Inbound/Outbound, Access: Allow/Deny
Generated Output
Enter rules to generate Azure NSG config
Der Azure NSG Rule Generator erstellt Network-Security-Group-Regeln aus strukturierter CSV-Eingabe. Geben Sie Regeln als Zeilen mit Richtung, Priorität, Name, Quelle, Ziel, Protokoll, Portbereich und Aktion ein und erhalten Sie Azure-CLI-Befehle, PowerShell-Befehle oder ARM-Vorlagen-JSON für automatisierte, wiederholbare Netzwerksicherheitsbereitstellungen in Azure.
Azure Network Security Groups verstehen
Wenn Sie Workloads auf Azure bereitstellen, sind Network Security Groups (NSGs) das primäre Werkzeug zum Filtern von Netzwerkdatenverkehr zu und von Ihren virtuellen Maschinen, Subnetzen und Netzwerk-Interfaces. Eine NSG enthält eine Liste von Sicherheitsregeln, die Datenverkehr basierend auf Quelle, Ziel, Port und Protokoll erlauben oder verweigern. Anders als AWS Security Groups unterstützen Azure NSGs explizite Deny-Regeln und verwenden ein prioritätsbasiertes Auswertungsmodell, das Ihnen eine feingranularere Kontrolle über den Datenverkehrsfluss gibt.
Das Prioritätssystem ist das, was Azure NSGs sowohl leistungsfähig als auch potenziell verwirrend macht. Jede Regel hat eine Prioritätsnummer zwischen 100 und 4096, und die Regeln werden von der niedrigsten Nummer (höchste Priorität) zur höchsten Nummer (niedrigste Priorität) ausgewertet. Die erste passende Regel bestimmt die Aktion. Das bedeutet, dass eine hochpriore Allow-Regel eine niedrigerpriore Deny-Regel überschreiben kann und umgekehrt. Wenn Sie Priorität 100 auf Allow HTTPS und Priorität 200 auf Deny für den gesamten Datenverkehr von derselben Quelle setzen, kommt HTTPS-Datenverkehr durch, weil Priorität 100 zuerst ausgewertet wird. Die richtige Prioritätsreihenfolge ist entscheidend für Ihre Sicherheitsposition.
Azure bietet auch Service Tags -- benannte Gruppen von IP-Bereichen, die Azure automatisch verwaltet. Anstatt Microsofts IP-Bereiche für Dienste wie Azure Storage, Azure SQL oder die Azure Load Balancer Health Probes manuell zu verfolgen, referenzieren Sie Tags wie Storage, Sql oder AzureLoadBalancer. Wenn Microsoft diese Bereiche aktualisiert, werden Ihre NSG-Regeln automatisch auf die neuen Adressen angewendet. Dies ist ein erheblicher betrieblicher Vorteil gegenüber manuell gepflegten CIDR-Listen, insbesondere für Azure PaaS-Dienste, deren IP-Bereiche sich regelmäßig ändern.
So generieren Sie Azure NSG-Regeln aus CSV
- Bereiten Sie Ihre Regeldaten im CSV-Format mit den Spalten vor: Richtung, Priorität, Name, Quelle, Ziel, Protokoll, Portbereich und Aktion.
- FĂĽgen Sie die CSV in den Generator ein oder laden Sie sie hoch.
- Wählen Sie das Ausgabeformat: Azure CLI, PowerShell oder ARM-Vorlage.
- Geben Sie den NSG-Namen und die Ressourcengruppe ein.
- Kopieren Sie die generierten Befehle oder die Vorlage fĂĽr die Bereitstellung.
CSV-Eingabeformat und generierte Ausgabe
CSV-Eingabe
direction,priority,name,source,destination,protocol,port,action
Inbound,100,AllowHTTPS,*,*,Tcp,443,Allow
Inbound,110,AllowSSH,10.0.0.0/8,*,Tcp,22,Allow
Inbound,200,DenyScannersIn,198.51.100.0/24,*,*,*,Deny
Outbound,100,AllowSQL,*,10.1.0.0/16,Tcp,1433,Allow
Inbound,120,AllowHTTP,Internet,*,Tcp,80,Allow
Azure CLI-Ausgabe
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name AllowHTTPS \
--priority 100 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 443 \
--source-address-prefixes '*' \
--destination-address-prefixes '*'
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name AllowSSH \
--priority 110 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 22 \
--source-address-prefixes '10.0.0.0/8' \
--destination-address-prefixes '*'
PowerShell-Ausgabe
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name "AllowHTTPS" `
-Priority 100 `
-Direction Inbound `
-Access Allow `
-Protocol Tcp `
-DestinationPortRange 443 `
-SourceAddressPrefix '*' `
-DestinationAddressPrefix '*' `
-SourcePortRange '*'
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name "AllowSSH" `
-Priority 110 `
-Direction Inbound `
-Access Allow `
-Protocol Tcp `
-DestinationPortRange 22 `
-SourceAddressPrefix '10.0.0.0/8' `
-DestinationAddressPrefix '*' `
-SourcePortRange '*'
Azure NSG Quell- und Zieltypen
| Typ | Beispiel | Beschreibung |
|---|---|---|
| CIDR-Block | 10.0.0.0/8 | Standard-IP-Bereichsnotation |
| Service Tag | Internet | Von Azure verwaltetes Tag fĂĽr internet-routbare IPs |
| Service Tag | VirtualNetwork | Alle Adressen im VNet und gepeerten VNets |
| Service Tag | AzureLoadBalancer | Quell-IPs der Azure Health Probes |
| Service Tag | Storage.EastUS | Regionsspezifische Azure-Dienst-IPs |
| Anwendungssicherheitsgruppe | asg-webservers | Workload-basierte Gruppierung |
| Platzhalter | * | Beliebige Quelle oder Ziel |
Wie die Azure NSG-Priorität funktioniert
Azure NSG-Regeln werden nach Prioritätsnummer von der niedrigsten (höchste Priorität) zur höchsten (niedrigste Priorität) ausgewertet. Die erste passende Regel bestimmt die Aktion.
| Priorität | Name | Aktion | Auswirkung |
|---|---|---|---|
| 100 | AllowHTTPS | Allow | Wird zuerst ausgewertet -- HTTPS-Datenverkehr wird erlaubt |
| 200 | DenyBadActors | Deny | Wird als zweites ausgewertet -- blockiert bestimmte IPs |
| 4096 | DenyAllInbound | Deny | Standardregel -- blockiert alles andere |
Wichtige Prioritätsregeln:
- GĂĽltiger Bereich:
100bis4096 - Niedrigere Nummer = höhere Priorität (wird zuerst ausgewertet)
- Prioritätswerte müssen innerhalb einer Richtung (Inbound oder Outbound) eindeutig sein
- Azure reserviert die Prioritäten
65000-65500fĂĽr Standardregeln
Wann den Azure NSG Rule Generator verwenden
- VNet-Bereitstellung -- Generieren Sie NSG-Regeln fĂĽr neue virtuelle Netzwerke aus einer Sicherheitsanforderungstabelle.
- Mehrschichtige Anwendungen -- Erstellen Sie Regeln fĂĽr Web-, Anwendungs- und Datenbankschichten mit korrekten schichtĂĽbergreifenden Zugriffskontrollen.
- Cloud-ĂĽbergreifende Migration -- Konvertieren Sie AWS Security Group-Regeln oder On-Premises-Firewall-Regeln in das Azure NSG-Format.
- Infrastructure as Code -- Generieren Sie ARM-Vorlagen oder Azure-CLI-Skripte fĂĽr versionskontrollierte, wiederholbare NSG-Bereitstellungen.
- Compliance-Standardisierung -- Wenden Sie konsistente NSG-Baselines ĂĽber Abonnements und Ressourcengruppen hinweg an.
Wie sich Azure NSGs von AWS Security Groups unterscheiden
| Funktion | Azure NSG | AWS Security Group |
|---|---|---|
| Explizites Deny | Ja (Deny-Aktion) | Nein (nur implizites Deny) |
| Prioritätsreihenfolge | Ja (100-4096) | Nein (alle Regeln werden ausgewertet) |
| Standardregeln | Eingebaute Allow/Deny-Standards | Implizites Deny fĂĽr alles |
| Service Tags | Internet, VirtualNetwork usw. | Präfixlisten (eingeschränkt) |
| Geltungsbereich | Subnetz- oder NIC-Ebene | Instanzebene |
| Zustandsbehaftet | Ja | Ja |
Praktische Hinweise zur Azure NSG-Konfiguration
Die größte Falle bei Azure NSG-Prioritäten ist, zu kleine Abstände zu lassen. Wenn Sie die Prioritäten 100, 101, 102 für Ihre ersten drei Regeln vergeben, haben Sie keinen Raum, um später eine Regel dazwischen einzufügen, ohne umzunummerieren. Verwenden Sie Schritte von 10 oder 20 (100, 110, 120, ...), damit Sie immer neue Regeln zwischen bestehenden einordnen können. Dieser Generator validiert, dass Ihre Prioritäten nicht in Konflikt stehen, kann aber keine gute Abstufung erzwingen -- das ist eine Designentscheidung, die Sie im Voraus treffen müssen.
Bei der Arbeit mit mehrschichtigen Architekturen auf Azure wenden Sie NSGs auf Subnetzebene statt auf NIC-Ebene an, wann immer möglich. NSGs auf Subnetzebene sind einfacher zu verwalten, da sie einheitlich für alle Ressourcen im Subnetz gelten, und Sie müssen nicht daran denken, die NSG an jede neue VM anzuhängen, die Sie bereitstellen. NSGs auf NIC-Ebene sind nützlich für Ausnahmen -- wenn eine VM in einem Subnetz andere Regeln als die übrigen benötigt -- aber sie erhöhen die Komplexität und sind eine häufige Quelle für "Warum kann sich diese VM nicht verbinden?"-Fehlerbehebungen.
Service Tags sind eine der besten Funktionen von Azure für die Netzwerksicherheit, werden aber häufig zu wenig genutzt. Anstatt eine Liste der Azure Storage IP-Bereiche für Ihre NSG-Regeln zu pflegen, verwenden Sie das Service Tag Storage. Anstatt die IP-Bereiche von Azure SQL nachzuschlagen, verwenden Sie das Tag Sql. Für regionsspezifische Einschränkungen hängen Sie den Regionsnamen an: Storage.EastUS. Azure pflegt diese Bereiche automatisch, sodass Ihre Regeln nie veralten. Der einzige Vorbehalt ist, dass Service Tags nicht in Network ACLs verfügbar sind (nur in NSGs), also planen Sie Ihre Netzwerksicherheitsarchitektur entsprechend.
Häufig gestellte Fragen
Was passiert, wenn zwei Regeln widersprüchliche Aktionen bei unterschiedlichen Prioritäten haben?
Die Regel mit der niedrigeren Prioritätsnummer (höherer Vorrang) gewinnt. Wenn zum Beispiel Priorität 100 HTTPS erlaubt und Priorität 200 den gesamten Datenverkehr von derselben Quelle verweigert, wird HTTPS-Datenverkehr erlaubt, da Priorität 100 zuerst ausgewertet wird.
Kann ich mehrere Portbereiche in einer einzelnen NSG-Regel verwenden?
Ja. Azure unterstützt mehrere Portbereiche in einer einzelnen Regel mit durch Leerzeichen getrennten Werten: --destination-port-ranges 80 443 8080-8090. Dies reduziert die Gesamtzahl der benötigten Regeln.
Was sind Service Tags und wann sollte ich sie verwenden?
Service Tags sind von Azure verwaltete Gruppen von IP-Bereichen fĂĽr Azure-Dienste. Anstatt Microsofts IP-Bereiche manuell zu verfolgen, verwenden Sie Tags wie Storage, Sql oder AzureActiveDirectory. Azure aktualisiert die zugrunde liegenden IP-Bereiche automatisch. Dies ist besonders nĂĽtzlich, um Datenverkehr zu Azure PaaS-Diensten zu erlauben.
Wie überprüfe ich, ob Prioritätsnummern nicht in Konflikt stehen? Der Generator prüft auf doppelte Prioritäten innerhalb derselben Richtung (Inbound oder Outbound) und markiert Konflikte, bevor die Ausgabe erzeugt wird. Prioritäten müssen pro Richtung innerhalb einer NSG eindeutig sein.
Wie viele Regeln sind maximal in einer Azure NSG erlaubt? Das Standardlimit beträgt 1000 Regeln pro NSG (einschließlich Standardregeln). Dies ist erheblich höher als bei AWS Security Groups (60 pro Richtung). Sie können über den Azure-Support eine Limiterhöhung beantragen, aber das Erreichen von 1000 Regeln deutet normalerweise darauf hin, dass Ihr NSG-Design umstrukturiert werden sollte.
Wie migriere ich von AWS Security Groups zu Azure NSGs? Die Hauptunterschiede sind, dass Azure NSGs explizite Prioritäten erfordern (AWS wertet alle Regeln gleich aus) und explizite Deny-Regeln unterstützen. Ordnen Sie jede AWS-Allow-Regel einer Azure-Allow-Regel mit aufsteigender Priorität zu, fügen Sie alle benötigten Deny-Regeln hinzu (die AWS nicht ausdrücken kann) und ersetzen Sie AWS-Präfixlisten wo möglich durch Azure Service Tags.
Verwandte Tools
- AWS Security Group Rule Generator - Generierung von AWS Security Group-Regeln aus CSV
- iptables Rule Generator - Generierung von iptables-Regeln aus CSV
- nftables Rule Generator - Generierung von nftables-Regeln aus CSV
- Rule Conflict Finder - Auffinden von doppelten, ĂĽberdeckten oder ĂĽberlappenden Firewall-Regeln
- Allowlist Builder - Erstellung einer minimalen CIDR-Allowlist aus einer IP-Liste