Zero Trust und was das für die Infrastruktur bedeutet

Ich habe schon in verschiedenen anderen Blogposts das Thema Zero-Trust (ZT) aufgegriffen (Jurassic Park, Ransomware, BYOD,…).
In diesem Post möchte ich herausarbeiten was ZT für die Infrastruktur bedeutet und wie diese schrittweise transformiert werden sollte.

Inhaltsverzeichnis:

  1. Zero Trust Prinzipien
  2. Wie kommen wir nun zu einer ZT Infrastruktur?
    1. Schritt 1 – Ausgangssituation
    2. Schritt 2 – Netzwerksegmentierung
    3. Schritt 3 – Netzwerksegmentierung
    4. Schritt 4 – Mikrosegmentierung der Serverinfrastruktur
  3. Fazit
  4. Links

Bevor ich damit aber beginne noch einmal kurz die drei Grundprinzipien von ZT und wie man sich das bildlich vorstellen kann:

Zero Trust Prinzipien

  1. Assume Breach
  2. Verify Explicitly
  3. Least Privilege

Das klingt etwas steif, zur Verdeutlichung hier eine Analogie in Bezug auf die on-premises Infrastruktur:

Stellen wir uns vor das lokale Intranet sei ein Swimming-Pool:

Quelle: https://upload.wikimedia.org/wikipedia/commons/3/3e/Alberca-bestway-fast-set-305×76-cm.jpg

Dabei ist das Wasser das Netzwerk, die Erwachsenen könnten die Services und Server darstellen und die glücklichen Kinder ebenso glückliche Nutzer*innen.

Initial ist natürlich alles in bester Ordnung, aber was ist „wenn„?
Sprich was ist, wenn etwas sich bei eine*r User*in ändert?

Quelle: Berkas:Manneken Pis Brussel.jpg – Wikipedia

Tja, in dem Fall sind alle im selben Netzwerk aka Swimmingpool betroffen: alle (erreichbaren) Erwachsenen/Server und auch alle erreichbaren Kinder/User*innen.

Quelle: https://media.giphy.com/media/3owzWkbbhjDsGuRLwc/giphy.gif , The Urinator Synthetic Urine Kit: Pass Your Test. Buy Direct!

[Ein verwegener Vergleich wäre: „Microsoft Defender = Urinator + Bademeister“- beide zeigen auf, wenn etwas schiefgegangen ist, mit dem Unterschied, dass die Microsoft Defender Komponenten „for O365„, „for Identity“ und „for Endpoint“ auch gleich Gegenmaßnahmen ergreifen können und wir dazu eben nicht noch den Bademeister als Zusatzkomponente benötigen!]

Abhilfe schafft hier vor allem eins:
mit der Idee „assume breach“ eine Segmentierung über alle möglichen Kleinstkomponenten, d.h. idealerweise User, Server/Services.

Im Bild sähe das dann so aus:

Quelle: Swimming Time for Giro | Wifey bought this inflatable pool f… | Flickr

Das heißt „jeder spielt in seinem eigenen Pool“ und wenn die glücklichen Kinder dann doch auf Ideen kommen, dann sind sie nur alleine betroffen und die Auswirkungen können mit wenig Aufwand eingefangen werden – hier also wenige Liter Wasser einfach zu ersetzen, in der IT Realität bedeutet das dann, dass nur ein Client/Server/Service neu aufgebaut werden muss und nicht „alle“.

„Ohne Zero Trust ist das on-premises Netzwerk wie ein Swimmingpool mit Urinierbereich“

Stephanus

Wie kommen wir nun zu einer ZT Infrastruktur?

Schritt 1 – Ausgangssituation

Eine durchschnittliche, normale Intranetarchitektur sieht oft vereinfacht so aus:

Klassische IT on-prem Infrastruktur

D.h. die meisten Clients, Server und Services befinden sich im gemanagten Corp Intranet, welches über einen Breakout mit dem Internet verbunden ist.
Oft werden unmanaged Clients nicht erlaubt/geduldet, falls doch, dann oft nur mit sehr limitierten Möglichkeiten.
Sofern Cloud Services überhaupt (offiziell) genutzt werden (dürfen), werden diese klassisch über den firmeneigenen Proxy/Firewall angesteuert.

Dieses Vorgehen beherbergt gleich eine Vielzahl an Nachteilen:

  1. Sizing des Breakouts
    1. Outbound wird der komplette Netzwerkverkehr über einen/wenige Leitungen geleitet, welches entsprechende Anforderungen an die Netzkapazität und die verwendeten Koppelkomponenten stellt.
    2. Inbound wird der komplette Netzwerkverkehr über einen/wenige Leitungen geleitet, welches entsprechende Anforderungen an die Netzkapazität und die verwendeten Koppelkomponenten stellt.
    3. VPN behandele ich im nächsten Schritt.
  2. Alle sitzen in einem Pool, jeder erreicht jeden, incl. Ransom- und Malware
  3. Schnelles Eindämmen ist fast unmöglich
  4. Änderungen an Diensten und LOB Apps bedürfen Zeit und aufwändige Prozessen
  5. Skalierung und Redundanzen sind umständlich und teuer

Schritt 2 – Netzwerksegmentierung

Der erste Schritt hier besteht darin die Clients aus der Gleichung zu entfernen und diese – ob managed oder nicht – aus dem direkten Intranet zu entfernen und idealer Weise bei Verwendung von VPN einzeln zu segmentieren:

Erster Schritt: Client Segmentierung

Um diesen Schritt vollständig umzusetzen muss das Ziel sein die Verwendung von VPN auf das absolute Minimum herunterzubringen – idealerweise auf 0.

Dazu werden Services und LOB Applikationen, die heute noch on-premises laufen per Azure AD App Proxy „ins Internet“ gepublished, wobei diese nur über eine erfolgreiche (MFA) Authentication zugreifbar sind (verify explicitly).

Große Vorteile bei diesem Vorgehen sind:

  1. Applikationen sind ohne (Client) VPN erreichbar
  2. Applikationen werden auf der „My Apps“ Übersicht der User aufgeführt
  3. Applikationen können mittels MFA abgesichert werden, auch wenn diese keine eigenständige MFA Funktionalität und/oder veraltete Authentication Protokolle mitbringen
  4. Applikationen sind nur für die User tatsächlich erreichbar, die dafür vorgesehen sind (Least priviledge!)
  5. Es können Conditional Access Policies für den Zugriff verwendet werden
  6. Ggf. können Session Controls für den Zugriff verwendet werden
  7. Abhängig von der App bzw. der Confidentiality können auch unmanaged/BYOD Clients darauf zugreifen.
  8. VPN Infrastruktur ist wesentlich kleiner und viel einfacher wart- und verwaltbar
  9. Zugriffe sind auditierfähig nachvollziehbar – insb. für DSGVO wichtig!

Durch diesen Schritt werden die größten Angriffsflächen (User/Clients) deutlich verringert. Aber das reicht noch lange nicht!

Schritt 3 – Netzwerksegmentierung

Nachdem nun die Clients an sich „kein Risiko“ mehr bedeuten muss nun das Netzwerk in verschiedene Brand- und Sicherheitsbereiche unterteilt werden:

Netzwerksegmentierung

Dazu müssen die Netzwerk Devices und Anforderungen klassifiziert werden, z.B. in:

  1. Business Critical Segment(s)
    Hoch sensitive Dienste wie typischerweise so etwas wie ERP (SAP), Forschungsapplikationen. Alles, was bei Kompromittierung den Fortbestand der Unternehmung gefährden würde
  2. High Impact IoT/OT
    Alle IoT/OT Dienste und Geräte, die bei (mutwilliger) Fehlfunktion das Leib und Leben von Menschen direkt gefährden würde, z.B. autonome Fahrzeuge, Roboter, etc
  3. Low Impact IoT/OT
    Alle anderen zum reibungslosen Betrieb notwendigen Dienste und Devices, z.B. Drucker, Telefone, etc.
  4. Sonstiges, LOB Applikationen, die nicht Business kritisch sind
    Alle verbleibenden, sonstigen Dienste und Server verbleiben in diesem Schritt dort, wo sie bis jetzt sind. Idealerweise sollten diese zumindest bis hierhin virtualisiert worden sein

Wenn diese Geräte und Dienste entsprechend gefunden, klassifiziert und separiert sind können für den entsprechenden Zugriff weitere Regeln und Maßnahmen (spezielle Firewalls, IDS, Monitoring, Redundanzen, etc) herbeigeführt werden.

Pro Tipp:

auch wenn ich „Drucker“ hier als Low Impact ausgewiesen habe sollten diese spätestens bei der Entsorgung bzw. der Leasing Rückgabe als High Business Impact gewertet werden, denn oftmals wird dabei die im Gerät vorhandene Festplatt vergessen, auf denen sich zumeist sehr viele, unverschlüsselte Dokumente befinden.
=> Ergo: Drucker Festplatten schreddern!

Schritt 4 – Mikrosegmentierung der Serverinfrastruktur

Last but not least muss sich noch um die verbliebenden Server & Services gekümmert werden, damit auch für diese das Risiko minimiert und die Handlungsmöglichkeiten bei Detektion von ungewollten Zugriffen/Verhalten maximiert werden:

Infrastruktur Segmentierung

Da diese in Schritt 3 ja bereits mind. virtualisiert worden sind, ist es jetzt fast nur noch eine Fleißaufgabe diese in virtualisierte Netzwerksegmente zu überführen – und wenn das getan bzw. möglich ist, dann lassen sich diese auch in IaaS Clouds per Lift&Shift überführen – am Besten natürlich nach Microsoft Azure IaaS.

Vorteil bei diesem Vorgehen ist:

  1. Einfluss von erfolgreichen Angriffen auf das Mikrosegment begrenzt, Wiederherstellung des Dienstes/Segments durch:
  2. Backup und Restore des gesamten Services mit allen Layern durch Cloud Mechanismen sehr einfach möglich
  3. Performance des gesamten Services per Elastizität in der Cloud hoch- und runterfahrbar, sprich Montagmorgens volle Leistung aka „dicke Hose“ und über Nacht oder am Wochenende „Schmalhans“
  4. Replikation bzw. Spreizung der einzelnen Dienste über Regionen durch die Mikrosegmentarchitektur schnell, standardisiert und automatisiert möglich
  5. Zugriff komplett autark von der on-premises Infrastruktur,
  6. Authentication und Zugriff von überall möglich
  7. Abrechnung der Dienste nach Aufwand und Einzeldienst möglich, Stw. „Interne Verrechnung“

Fazit

Nach erfolgreicher Transformation der kompletten IT Infrastruktur hin zu einer Zero-Trust Infrastruktur ergeben sich neben den Security Vorteilen auch noch weitere oft vernachlässigte Möglichkeiten:

  1. Einfacherer, direkterer und von der (veralteten?) on-premises Infrastruktur losgelöster Zugriff, Stw. „Working from anywhere“
  2. Höhere Userakzeptanz
  3. Bessere Skalierfähigkeit
  4. Robuster gegen alle möglichen ungewollten Ereignisse
  5. Risikoverlagerung
  6. Höchster Standardisierungs- und Automatisierungsgrad
  7. Volle Transparenz auf erbrachte IT Leistungen und damit nachvollziehbare Abrechnung
  8. Geringerer Aufwand bei der Verwaltung der Infrastruktur
  9. Abgrenzung von IT Dienstleistungen für einzelne Länder und Regionen

Tja, wenn man das so liest, dann drängt sich einem die Frage auf: warum machen es dann nicht eigentlich alle?

Gute Frage! Also los, nicht warten! Microsoft Partner helfen bei der Umstellung und bei allen weiteren Fragen!