Seit einiger Zeit bietet Microsoft nun schon zur besseren Absicherung des Administrativen Zugriffs auf die Kundenumgebungen in Azure die Lösung „Azure Bastion“ an.
Was steckt nun aber hinter diesem Service, für wen ist er interessant und wie richte ich den Service für meine Umgebung ein?
Bis zur Einführung von Azure Bastion war es zumeist so, dass wenn es keine Hybrid Connection zur On-Premises Infrastruktur gibt/gab, man eine Public IP direkt an die Virtuelle Maschine anbinden musste um per RDP oder SSH Zugriff auf diese zu erhalten. Ein recht einfaches Szenario, und durch die Verwendung von Network Security Groups, welche direkt an das Subnetz oder das Network Interface der Virtuellen Maschine angehängt werden, ein durchaus leicht abzusicherndes Szenario. Jedoch sollte solch ein offener Port 3389 oder Port 22 gen Internet nur eine kurzfristige Lösung sein, oder aber per Just in Time Access abgesichert sein. Aus meiner Erfahrung jedoch, war es bei den Kunden zumeist so, dass diese solch eine NSG Regel und eine Public IP, wenn diese einmal eingerichtet war, nicht mehr deaktiviert haben, auch nicht wenn es eine Hybrid Connection per VPN oder Express Route zum On-Premises Datacenter gibt/gab. Das heißt man hat sich eine Sicherheits Schwachstelle in das sonst vielleicht so sichere Netzwerk gebaut, da VM Public IPs gern häufig für Attacken genutzt werden, gerade wenn dort unsichere Login Verfahren genutzt werden (Username-Password statt Domain Login oder Azure AD Authentication Log-On).

Um diese potentielle Lücke zu schließen und den Management Zugriff auf die Cloud VMs weiter abzusichern hat MIcrosoft nun Azure Bastion konzipiert, wobei ein PaaS Service auf VNet Ebene implementiert wird, welcher dann eine HTML5 Connection zwischen VM, Azure Portal und Browser des Admins herstellt. Somit benötigen die virtuellen Maschinen in dem VNet keine Public IP’s mehr um erreichbar zu sein für das Management. Auch müssen keine NSG’s für das Bastion Subnet konfiguriert werden. Wichtig ist hierbei zu beachten, dass es pro VNET einen Bastion Host braucht.
In der Region Europe West kostet Azure Bastion aktuell 0,081 € pro Stunde + Traffic Volumen. Also etwa 60 € im Monat.
Ein interessantes Szenario ist dies primär für Kunden welche Virtuelle Server in Azure nutzen, jedoch keine Hybrid Connection besitzen und doch direkten Management Zugriff auf die Server benötigen. Es vereinfacht den Management Aufwand und die Attack Surface der Umgebung.
Wie richte ich Azure Bastion nun ein?
Nun, wie immer kann man hierfür das Azure Portal nutzen. Dort sucht man im Marketplace nach „Bastion“, oder aber man wählt diese Option direkt aus wenn man sich im Menü einer Virtuellen Machine befindet.


Dort wählt man nun die Subscription und die Resource Group aus, gibt den Instance Namen und die Region an sowie VNet und Bastion Subnet (dieses muss zwingend „AzureBastionSubnet“ heißen). Anschließend wird eine bestehende Public IP gewählt oder eine Neue angelegt, welche dem Bastion zugewiesen wird. Es empfiehlt sich hier eine Static IP zu verwenden welche man später auch mit einem DNS Alias versehen kann. Nun können wenn gewünscht Tags zugewiesen werden und anschließend wird der Bastion erstellt.

Nun kann man im Virtual Machine Menü, mittels der „Connect“ Option nicht nur RDP und SSH auswählen, sondern auch Bastion, was dann die Nutzung des Bastion Service bedeutet. Hier nun Username und Password, des zum Local Logon berechtigen Users angeben und mittels „Connect“ bestätigen. Anschließend wird man mit dem Server über einen sicheren Kanal verbunden.

Dies kann auch per Azure CLI durchgeführt werden.
Hierzu muss per CLI eine Resource Group, ein VNet, ein Subnet (AzureBastionSubnet), eine Public IP und ein Bastion angelegt werden. Die Befehle hierzu können den Microsoft Docs entnommen werden.
Viel Erfolg beim Einrichten und dem Absichern des Tenants.
Bei Fragen, gern auf uns zukommen!