Smart enough for Azure: Jumphost as a Service mit Azure Bastion
Bis jetzt war es im Azure Umfeld üblich einen virtuellen Management Server (IaaS) zu erstellen, welcher eine Public IP-Adresse für den direkten Zugriff mittels RDP oder SSH generierte, ein sogenannter Jumphost. Gewiefte Kollegen und Trickhasen haben auf diesem System vielleicht Windows Admin Center installiert um einen webbased Zugriff auf ihre Infrastruktur zu haben. Das Problem ist jedoch dasselbe. Wenn ich mich um die Zugriffssicherheit meiner Server kümmere, dann kommt es nicht in Frage, dass ein Server System einen direkten Zugriff / eine direkte Leitung ins Internet hat, ohne hinter einer Firewall oder ganz abgeschottet zu sein. Schon gar nicht, wenn einem solchen System dadurch der Zugriff auf ein ganzes virtuelles LAN ermöglicht wird und die Abschottung der verschiedenen Subnetze in Azure anders funktioniert als im on premise Bereich. Dafür sind mir meine Dienste und Daten zu kostbar.
Was hat ein Azure Service mit antiker Verteidigungs-Strategie zu tun?
Gehen wir dem Betriff BASTION auf den Grund, merkt man relativ schnell, dass der Name zufällig gewählt wurde. Die Funktionen eines Bollwerks kommen dem Azure Service sehr nahe.
Analog dem klassischen Bau von Burgen, wo zur Verhinderung von Angriffen Zugbrücken erstellt wurden, funktioniert auch Azure Bastion. Um mich auf ein System zu verbinden, muss ich mich zuerst am Azure Portal anmelden, je nach Konfiguration sogar mit Multi-Faktor-Authentication MFA ausweisen und die Berechtigung haben ein System zu sehen. Erst dann kann ich die effektiven Server Credentials nutzen um den HTML5 Browser zu starten, welcher mir die RDP oder SSH Session öffnet. Keine Credentail Popups, welche abgegriffen werden können - alles ist innerhalb einer SSL-Verbindung. Bei SSH ist es sogar noch besser, da ich hier explizit den lokalen SSH Key auswählen muss, welcher sich lokal auf meinem Gerät befindet. |
|
Wie bei einem Wassergraben oder mehreren Ringen aus hohen Mauern ist Azure Bastion aus mehreren Wellen von Network Security Groups NSG aufgebaut, die den Zugriff zuerst auf Bastion und dann in jedes meiner virtuellen Netzwerke schützen. Das ermöglicht die alleinige Zulassung von unsicheren Protokollen hinter dem offiziellen Tor mit nur einem NSG statt vielen kleinen Micro Management NSG pro Computer. Wichtig bei der Einführung von Bastion ist, dass ich alle NSG und Systeme durchgehe und wenn nötig öffentliche IP-Adressen wie auch ungewollte NSG ausschliesse um keine Lücken in meinem Burggraben zu hinterlassen. |
|
Nebst dem Wassergraben besteht dadurch eine explizite Ausgangskontrolle vor meiner Infrastruktur, die ausgehende Gefahren verhindert. Gängige Kontrollmethoden wie Proxys oder Content Filter können den entstehenden Traffic verifizieren. |
|
Als Azure Service ist Bastion auch mit anderen Sicherheitsprodukten integrierbar. Meine User kann ich beispielsweise in AzureAD führen, Just-in-Time Administrationen vergeben und Priviledge Access Management aktivieren. Das Monitoring läuft über LogAnalytics, weshalb das Security Center oder sogar der Azure Sentinel der Verteidigungsturm in meiner Azure Burg ist und alle Informationen im Griff hat. Gut zu wissen, dass auch in diesem Produkt die AI und Analyse Services von Azure die richtigen Informationen zur richtigen Zeit in bester Qualität liefern. |
Schaut man sich Azure Bastion in der Praxis an, ist es sicherlich kein überraschender Azure Service, der den modernen IT Ritter aus der Rüstung haut. Es ist jedoch die beste Lösung und optimalste Umsetzung für ein schon lange bestehendes Problem im Gesamtkontext von Azure. Nachdem verschiedene Lücken im RDP Protokoll und die immense Anzahl Patches, welche diese schliessen sollen, bekannt geworden sind, wird der Service umso interessanter.
Für alle die sich eine einfache remote Desktop Plattform vorgestellt haben erscheint das Bastion wegen zusätzlicher Kosten (gesteuert nach Laufzeit und Traffic) ziemlich unattraktiv. Weil die übermittelten Daten aber nur Bildschirm und Tastatur Eingaben sind, muss ich aber ziemlich viel Administratorenarbeit auf meinem Azure Server betreiben, um über die Free Limite von 5 GB pro Monat zu kommen.
Ausserdem haben erste Performance Tests gezeigt, dass ich mit Bastion eine wesentlich stabilere und performantere Verbindung zu all meinen Azure Servern habe als wenn ich mit einem Jumphost arbeite.
Public Preview nicht so einfach zu finden
Azure Bastion lässt sich zwar in einer Preview Version nutzen und jeweils pro virtuelles Netzwerk integrieren. Wenn man allerdings den Service über den gängigen Weg aktivieren möchte, stösst man bei der Suche auf ein Fragezeichen. Einfach so findet man Azure Bastion nicht. Der Service kann im Tenant nur aktiviert und konfiguriert werden, wenn das Azure Portal im Preview Modus unterwegs ist. Um in diesen Modus zu kommen, muss dieser Link verwendet werden https://aka.ms/BastionHost. Das Portal ändert danach seine Farbeinstellung und schon ist klar, dass man im Preview unterwegs ist. Mit Azure Bastion entstehen in der Preview Phase zwar Kosten, diese sind aber um 50 Prozent vom finalen Preis gesenkt.
Die Verbindungsmöglichkeit auf Azure Server über eine Browser Session ist die konsequente Weiterführung der Azure Sicherheitsverbesserungen und das Feedback aller Partner. Lassen Sie sich von der Einfachheit anstecken!