Azure Bastion

Overview

Azure Bastion ist ein PaaS-Dienst, der RDP- und SSH-Sitzungen zu VMs vermittelt. Die Verbindung läuft per TLS über Port 443 zum Bastion-Dienst, von dort per RDP oder SSH über private IPs zur VM. Die VMs brauchen damit keine öffentlichen IPs und keine offenen Ports 3389 oder 22 im Internet.

Es gibt vier SKUs. Developer ist kostenlos, nutzt geteilte Infrastruktur, erlaubt eine Verbindung zur Zeit und erreicht keine gepeerten VNets. Laut Microsoft ist Developer nur für Entwicklung und Tests gedacht. Basic läuft dediziert mit fest zwei Instanzen. Standard ergänzt native Clients (Azure CLI), Dateiübertragung, freigebbare Links, IP-basierte Verbindungen und Skalierung auf bis zu 50 Instanzen. Premium bringt Sitzungsaufzeichnung und eine rein private Bereitstellung ohne öffentliche IP.

Abgrenzung: Just-in-Time-VM-Zugriff aus Defender for Cloud öffnet Ports zeitlich begrenzt, Bastion vermeidet offene Ports ganz. Beide lassen sich kombinieren.

How it works

Bereitstellung und Ablauf:

  1. Für Basic, Standard und Premium legst Du im VNet (meist im Hub) das Subnetz AzureBastionSubnet mit mindestens /26 an. Developer braucht weder Subnetz noch öffentliche IP.
  2. Bastion erhält eine öffentliche Standard-IP (außer Premium mit privater Bereitstellung).
  3. Die Admins melden sich am Azure-Portal an und starten die Sitzung über „Verbinden“. Mit Standard oder Premium geht das auch per „az network bastion rdp/ssh“ aus dem nativen Client.
  4. Bastion baut die Sitzung zur privaten IP der VM auf, auch in gepeerten VNets (nicht bei Developer).
  5. Zugriff steuerst Du per Azure RBAC: Nutzer brauchen Leserechte auf VM, NIC und Bastion-Ressource.

Laut Microsoft trägt Basic etwa 40 gleichzeitige RDP-Sitzungen, Standard und Premium skalieren bis rund 1.000 RDP-Sitzungen. Upgrades zwischen SKUs dauern etwa zehn Minuten, Downgrades erfordern Löschen und Neuanlage.

Benefits

  • Keine öffentlich erreichbaren RDP- oder SSH-Ports, wodurch Brute-Force-Angriffe auf VMs entfallen.
  • Anmeldung am Portal mit Entra ID, MFA und Conditional Access, bevor überhaupt eine Sitzung zur VM entsteht.
  • Kein eigener Jump-Host, der gepatcht, gesichert und überwacht werden muss.
  • Premium zeichnet Sitzungen auf, was Nachweispflichten für privilegierte Zugriffe erleichtert.
  • Ein zentraler Bastion im Hub erreicht VMs in allen gepeerten Spokes.

Practical example

Ein Ingenieurbüro mit 80 Mitarbeitenden betreibt Lizenzserver und CAD-Datenbanken auf Azure-VMs, die bisher per RDP mit öffentlicher IP und IP-Filter erreichbar waren. Nach einem Hinweis aus dem Pentest entfernt die IT alle öffentlichen IPs und stellt Azure Bastion Standard im Hub-VNet bereit. Die Admins verbinden sich über das Portal oder den nativen RDP-Client per Azure CLI, Conditional Access verlangt dafür MFA und ein konformes Gerät. Die Angriffsfläche im Internet ist für diese Server auf null gesunken.

Things to keep in mind

  • Wähle die SKU nach Funktionsbedarf: Developer taugt nicht für Produktion, Basic bietet keine nativen Clients und keine Dateiübertragung.
  • Bastion läuft ab Basic stundenweise und kostet auch ohne Sitzungen. Für reine Testumgebungen reicht Developer.
  • Beschränke den Zugriff per RBAC und Conditional Access auf Admin-Gruppen, denn wer die VM im Portal sieht, kann ohne weitere Hürde verbinden.
  • Halte die NSG-Vorgaben für AzureBastionSubnet ein, sonst schlagen Bereitstellung oder Verbindung fehl.
  • Für Nachweise privilegierter Zugriffe kommt nur Premium mit Sitzungsaufzeichnung infrage.

Licensing & availability

Developer ist kostenlos (ohne Stundengebühr und ohne Kosten für ausgehende Daten). Basic, Standard und Premium werden pro Stunde und nach ausgehendem Datenverkehr abgerechnet, bei Standard und Premium zusätzlich pro weiterer Instanz. Abrechnung über das Azure-Abonnement. Stand: Oktober 2026.

Conclusion

Bastion ersetzt offene Verwaltungsports und eigene Jump-Hosts. Starte mit Standard im Hub und nimm Premium, wenn Du Sitzungen aufzeichnen musst.