Viele VNets benötigen zentrale Governance? Konfiguriere Network Manager

Veröffentlicht am:

CloudTrips besitzt inzwischen das App-VNet, Hub-VNet, Services-VNet und das optionale North-Europe-VNet vnet-cloudtrips-dr-test-neu aus dem Global- Peering-Trip. Dieses VNet der zweiten Region trägt dr im Namen als Grundlage für ein späteres Disaster-Recovery-Design; seine Erstellung allein richtete weder Anwendungsreplikation noch Failover ein. Eine unabhängige Security Baseline in jedem VNet zu verwalten skaliert nicht: Ein neues VNet kann übersehen werden, und Workload-Teams können dieselbe Anforderung unterschiedlich umsetzen.

Konfiguriere Azure Virtual Network Manager, um die VNets des Abonnements zentral zu steuern. Erstelle eine Network Group, füge die vorhandenen CloudTrips-VNets hinzu und stelle in West Europe und North Europe eine Security Admin Rule bereit, die eingehendes RDP auf TCP 3389 aus dem Internet verweigert.

Azure Virtual Network Manager
       |
       | Security Admin Configuration
       v
CloudTrips Network Group
   |          |          |          |
App VNet   Hub VNet   Services VNet   DR VNet

Dieser Trip verwendet vnet-cloudtrips-test-weu, vnet-cloudtrips-hub-test-weu, vnet-cloudtrips-services-test-weu und vnet-cloudtrips-dr-test-neu aus früheren Networking-Trips. Wurde eines der optionalen VNets entfernt, füge die übrigen VNets hinzu und fahre mit mindestens zwei Mitgliedern fort.

Azure Virtual Network Manager kann Kosten für verwaltete Ressourcen und bereitgestellte Konfigurationen verursachen. Führe Prüfung und Bereinigung zeitnah durch.

Zentrale und Workload-Regeln trennen

Eine Security Admin Rule wird vor Subnetz- und NIC-NSG-Regeln ausgewertet. Zentrale Netzwerkadministratoren erzwingen damit Anforderungen über alle Ziel-VNets, während Workload-Teams anwendungsspezifische NSG-Regeln verwalten.

Aktion Ergebnis
Allow Auswertung läuft mit NSGs weiter
Always Allow Traffic wird erlaubt und spätere NSG-Auswertung beendet
Deny Traffic wird blockiert und spätere NSG-Auswertung beendet

Verwende Deny für die RDP Baseline. Die vorhandenen CloudTrips-Server sind Linux-VMs und nutzen HTTP auf Port 80; das Blockieren von Windows RDP auf 3389 unterbricht die Lab-Anwendung nicht. Eine spätere NSG-Allow-Regel kann das zentrale Deny nicht überschreiben.

Network Manager erstellen

Suche nach Network managers und wähle Create. Konfiguriere unter Basics:

Subscription: CloudTrips TEST
Resource group: rg-cloudtrips-network-test-weu
Name: avnm-cloudtrips-test-weu
Region: West Europe
Description: Central network governance for CloudTrips TEST

Die Region speichert die Managementressource. Konfigurationen werden separat in jeder Region mit verwalteten VNets bereitgestellt.

Füge unter Scope das Abonnement CloudTrips TEST hinzu. Der Scope legt fest, welche Ressourcen der Manager sehen und konfigurieren darf; er wendet nicht automatisch eine Konfiguration auf jedes VNet an.

Wähle unter Features:

Scope access: Security admin

Connectivity wird nicht benötigt, da frühere Trips bereits Peerings erstellt haben. Wähle Review + create > Create.

Azure Virtual Network Manager mit Scope CloudTrips TEST und Security-Admin-Zugriff

CloudTrips-VNets gruppieren

Öffne avnm-cloudtrips-test-weu und wähle Settings > Network groups > Create. Gib ein:

Name: ng-cloudtrips-test
Description: CloudTrips TEST virtual networks governed by the central baseline
Member type: Virtual network

Öffne die Gruppe, wähle Add unter Static membership und füge die vorhandenen VNets hinzu:

vnet-cloudtrips-test-weu
vnet-cloudtrips-hub-test-weu
vnet-cloudtrips-services-test-weu
vnet-cloudtrips-dr-test-neu

Statische Mitgliedschaft macht den Scope dieses Labs explizit. Produktion kann dynamische Mitgliedschaft verwenden, damit Azure Policy VNets anhand von Abonnement, Resource Group, Name oder Tags hinzufügt. Prüfe dynamische Ergebnisse vor der Bereitstellung.

CloudTrips Network Group mit statischen VNet-Mitgliedern in West und North Europe

Security Admin Baseline erstellen

Wähle Settings > Configurations > Create > Security configuration und gib ein:

Name: secadmin-cloudtrips-baseline
Description: Central high-risk-port baseline for CloudTrips TEST

Füge eine Rule Collection hinzu:

Name: rc-block-internet-rdp
Target network groups: ng-cloudtrips-test

Füge eine Security Admin Rule hinzu:

Name: Deny-Internet-RDP
Description: Centrally deny inbound RDP from the Internet
Priority: 100
Action: Deny
Direction: Inbound
Protocol: TCP
Source type: Service tag
Source service tag: Internet
Source port: Any
Destination type: IP address
Destination: 0.0.0.0/0
Destination port: 3389

Der Service Tag Internet begrenzt die Quelle auf Adressen außerhalb des virtuellen Netzwerks, die aus dem öffentlichen Internet erreichbar sind. Das Ziel repräsentiert Ressourcen in den Ziel-VNets; die Rule Collection legt fest, wo die Regel installiert wird. Prüfe die Network Group und wähle Add, danach Save.

Das Erstellen erzwingt die Konfiguration noch nicht. Virtual Network Manager trennt Authoring und Deployment, damit ein zentrales Team den Goal State vor dem Commit in Regionen prüfen kann.

Security Admin Configuration mit zentralem eingehendem RDP-Deny für die CloudTrips Network Group

In beiden Regionen bereitstellen

Wähle Settings > Deployments > Deploy configuration:

Security configuration: secadmin-cloudtrips-baseline
Target regions: West Europe, North Europe

West Europe enthält App-, Hub- und Services-VNet; North Europe das DR-VNet. Eine Konfiguration wirkt nur in Regionen, in denen sie bereitgestellt wurde.

Wähle Next > Deploy. Warte für beide Regionen auf Succeeded. Azure wendet Security Admin Rules eventual-consistent an; effektive Regeln können kurze Zeit später erscheinen.

Erfolgreiches Security-Admin-Deployment nach West Europe und North Europe

Zentrale Durchsetzung prüfen

Öffne vnet-cloudtrips-test-weu und wähle Settings > Network Manager. Öffne die bereitgestellte Security Admin Configuration und ihre Rule Collection. Bestätige Deny-Internet-RDP als eingehende Deny-Regel für TCP 3389. Diese VNet-Seite zeigt die angewendete Virtual-Network-Manager- Konfiguration und die von ihr beigesteuerten zentralen Regeln.

Füge zum Test keine NSG-Allow-Regel hinzu. Ein bereitgestelltes Security-Admin- Deny ist terminal und wird vor NSGs ausgewertet. Prüfe stattdessen die Anwendung:

LB_IP=$(az network public-ip show \
  --resource-group rg-cloudtrips-network-test-weu \
  --name pip-cloudtrips-lb-test-weu \
  --query ipAddress \
  --output tsv)

curl --silent --show-error --connect-timeout 5 "http://${LB_IP}/"

Die Anfrage sollte weiterhin eine WEB01- oder WEB02-Antwort liefern, da die zentrale Regel nur TCP 3389 und nicht HTTP 80 betrifft.

Governance-Lab entfernen

Entferne die regionalen Deployments vor ihren Definitionen. Öffne Deployments, markiere die Security-Admin-Deployments für West Europe und North Europe und wähle Remove deployments. Bestätige die Entfernung und warte, bis beide regionalen Deployments verschwunden sind. Prüfe danach, dass Deny-Internet-RDP nicht mehr auf der Network Manager-Seite des VNets erscheint.

Lösche danach in dieser Reihenfolge:

  1. secadmin-cloudtrips-baseline
  2. Die statischen Mitglieder und ng-cloudtrips-test
  3. avnm-cloudtrips-test-weu

Behalte VNets, Peerings, NSGs und Anwendungsressourcen. Das Entfernen dieses Labs soll nur die zentrale Governance entfernen, nicht die verwalteten Netze.