Ein Admin braucht sicheren VM-Zugriff? Erstelle Azure Bastion

Veröffentlicht am:

Ein Administrator braucht eine SSH-Sitzung zu einer CloudTrips-VM. Eine öffentliche IP an der VM und Port 22 aus dem Internet würden einen direkten öffentlichen Einstiegspunkt schaffen, der dauerhaft geschützt werden müsste.

Verwende stattdessen Azure Bastion. Der Administrator öffnet eine SSH-Sitzung im Azure-Portal, und Bastion erreicht die VM über ihre private IP im VNet. Die VM braucht weder eine öffentliche IP noch eine eingehende SSH-Regel aus dem Internet.

Dieser Trip verwendet das VNet, Anwendungssubnetz und Subnetz-NSG aus Subnetz braucht Datenverkehrsfilterung? Erstelle eine NSG.

Der Verbindungspfad ist:

Administrator -> Azure-Portal -> Azure Bastion -> private VM-IP

Verwende für diese TEST-Übung die kostenlose Developer-SKU. Sie nutzt eine von Microsoft verwaltete, gemeinsam genutzte Bastion-Infrastruktur, unterstützt jeweils eine VM-Verbindung und kann nur VMs im selben VNet erreichen. Produktionsumgebungen, die einen dedizierten Host, Zugriff auf gepeerte VNets, gleichzeitige Verbindungen oder erweiterte Funktionen brauchen, sollten eine höhere Bastion-SKU verwenden.

Erstelle eine private Test-VM

Der vorherige NSG-Diagnose-Trip hat seine temporäre VM gelöscht. Erstelle für diesen Verbindungstest eine neue kleine Linux-VM.

Suche im Azure-Portal nach Virtual machines, wähle Create > Azure virtual machine und konfiguriere unter Basics:

Subscription: CloudTrips TEST
Resource group: rg-cloudtrips-network-test-weu
Virtual machine name: vm-cloudtrips-bastion-test-weu
Region: West Europe
Availability options: Availability zone
Availability zone: Zone 3
Security type: Standard
Image: Ubuntu Server 24.04 LTS - x64 Gen2
Size: Standard_D2s_v3
Authentication type: Password
Username: azureuser
Password: Erstelle ein temporäres starkes Passwort
Public inbound ports: None

Schreibe das Passwort weder in den Trip noch in einen Screenshot. Es wird nur für diese temporäre Lab-VM verwendet.

Verwende unter Disks eine Standard SSD und aktiviere das Löschen des OS-Datenträgers zusammen mit der VM. Konfiguriere unter Networking:

Virtual network: vnet-cloudtrips-test-weu
Subnet: snet-app
Public IP: None
NIC network security group: None
Public inbound ports: None
Delete NIC when VM is deleted: Enabled

snet-app hat bereits nsg-cloudtrips-app-test-weu, daher braucht die NIC keine weitere NSG. Azures Standardregel AllowVNetInBound erlaubt SSH aus dem VNet, während DenyAllInBound weiterhin nicht passenden eingehenden Internetverkehr blockiert.

Füge unter Tags hinzu:

Application: CloudTrips
Environment: TEST
Purpose: BastionTest

Wähle Review + create und danach Create. Warte, bis die Bereitstellung abgeschlossen ist und die VM Running anzeigt.

Übersicht der CloudTrips-Bastion-Test-VM mit privater IP und ohne öffentliche IP

Die VM ist nun privat in ihrem VNet erreichbar, hat aber keine direkte Internetadresse, die ein Administrator ansprechen könnte.

Verbinde dich mit Bastion Developer

Öffne vm-cloudtrips-bastion-test-weu und wähle Connect > Bastion. West Europe unterstützt Bastion Developer. Die Verbindungsseite bietet daher die kostenlose gemeinsam genutzte Bereitstellung an, ohne ein dediziertes Bastion-Subnetz oder eine öffentliche IP zu verlangen.

Wähle:

Authentication type: VM Password
Username: azureuser
Password: Das temporäre VM-Passwort

Wähle Connect. Bei der ersten Verbindung stellt Azure automatisch Bastion Developer für vnet-cloudtrips-test-weu bereit. Dies ist normalerweise deutlich schneller als eine dedizierte Bastion-Bereitstellung. Erlaube dem Browser bei Bedarf, die Sitzung in einem neuen Tab zu öffnen.

Azure-Bastion-Verbindungsseite für die private CloudTrips-Linux-VM

Überprüfe den privaten administrativen Zugriff

Führe im Browserterminal aus:

hostname

Die Ausgabe sollte lauten:

vm-cloudtrips-bastion-test-weu

Browserbasierte Azure-Bastion-SSH-Sitzung mit dem Hostnamen der privaten CloudTrips-VM

Damit ist nachgewiesen, dass der Administrator die VM über ihre private Netzwerkschnittstelle erreicht hat. Der Browser verbindet sich mit dem Bastion-Dienst; Bastion öffnet danach SSH zur privaten VM-IP auf Port 22. Der VM wurde weder eine öffentliche IP noch eine internetseitige SSH-Regel hinzugefügt.

Entferne die temporäre VM

Wenn du sofort mit Netzwerk braucht Firewall-Inspektion? Erstelle Azure Firewall fortfährst, gib die VM frei und behalte sie für diesen Test. Andernfalls schließe die Bastion-Sitzung und lösche vm-cloudtrips-bastion-test-weu sofort, um Compute-Kosten zu stoppen. Wähle auf der Löschseite auch den OS-Datenträger und die NIC aus, falls Azure sie nicht bereits zum Löschen markiert.

Bastion Developer hat keine stündlichen Kosten und kann für späteren TEST-Zugriff bestehen bleiben. Um es ebenfalls zu entfernen, suche nach Bastions, öffne die Developer-Bastion-Ressource von vnet-cloudtrips-test-weu und wähle Delete.

Behalte vnet-cloudtrips-test-weu, snet-app und seine NSG für die folgenden Networking-Trips.