Kerberos – KRBTG

In diesem Artikel wollen wir uns dem Thema Kerberos widmen und warum man das Kennwort des dazugehörigen KRBTGT-Accounts regelmäßig ändern sollte.

Fangen wir damit da zu erläutern, was Kerberos überhaupt ist und wie es funktioniert und…

…Nein! Kerberos ist nicht der 3-köpfige Hund aus griechischen Mythologie, der das Tor zu Unterwelt bewachen soll! Jedenfalls nicht im Bezug auf die Themen die wir auf diesem Blog anbieten.

Kerberos ist ein Protokoll, um sich innerhalb eines Netzwerkes zu authentifizieren und somit den Zugriff auf bestimmte Ressourcen zu erhalten. In diesem Vorgang werden sogenannte Tickets ausgestellt, die es einem Benutzer erlauben, auf die benötigten Daten zuzugreifen.

Jeder Domänencontroller innerhalb eines Active Directory führt einen KDC-Dienst (Kerberos Distribution Center) aus, der für die Bearbeitung der Ticketanfragen genutzt wird. Das KDC wiederum nutzt das oben erwähnte KRBTGT-Konto (zu finden unter der „Users“-Organisationseinheit in der Active Directory Struktur) um die auszustellenden Tickets zu signieren. Es ist quasi die Unterschrift auf dem Ticket, um die Gültigkeit zu gewährleisten. Alle Domänencontroller in der Domäne nutzen das gleiche KRBTGT-Konto, sodass die Tickets in der gesamten Domäne und von jedem DC überprüft und als validiert angesehen werden. Ein Ausnahme bilde da nur die sogenannten RODC’s (Read Only Domain Controller), da diese jeweils ihren eigenen KRBTGT-Account besitzen.

Wie funktioniert eine Ticketanforderung?

Der genaue technische Ablauf der Ticketanforderung eines Benutzer oder Computers ist sehr komplex. Dort geht es insbesondere um diverse Schlüssel und zugehörige Ver- und Entschlüsselungsverfahren, die auf den getauschten bzw. Client und Server bekannten Schlüsseln basieren. Daher werden wir hier die Kurzfassung darstellen, um den Ablauf einer Anforderung zu erläutern.

Ablauf einer Ticketanfrage

Die einzelnen Schritte nochmal etwas genauer erläutert:

  1. Der Benutzer meldet sich mit seinen Anmeldedaten an. Er möchte gerne Zugriff auf eine Ressource. Dafür fragt er beim KDC nach einem TGT (Ticket Granting Ticket). Die Anfrage ist verschlüsselt und kann vom Domänencontroller mit den ihm bekannten in der Ntds.dit gespeicherten Schlüsseln für den Client entschlüsseln.
  2. Wenn der KDC die Anfrage entschlüsseln kann, da der Antragssteller bekannt ist, wird diesem nun das TGT ausgestellt. Dieses Ticket ist im Normalfall 10 Stunden gültig.
  3. Nun schickt der Client eine Anfrage an den TGS, zusammen mit Informationen zum Ziel (Name, Domäne, SPN, Dienst). Diese Anfrage ist ebenfalls wieder mit einem Schlüssel versehen.
  4. Der KDC erhält nun die Anfrage und überprüft, ob er die Anfrage entschlüsseln kann (auch hier werden wieder Key aus den bereits generierten Informationen genutzt), stellt er für den Client und die angeforderte Ressource das passende Service Ticket aus.  
  5. Mit dem erhaltenen Service Ticket, kann der Client den Zugriff auf die angeforderte Ressource, in unserem Fall den Fileserver, anfordern. Der Zielserver kann das erhaltenen Paket nun mit seinen bekannten Schlüsseln entpacken und erhält somit den Service Ticket sowie den sogenannten Session Key der ebenfalls mit getauscht wird.
  6. Mit den ihm nun bekannten Informationen ist der Client auch auf dem Fileserver berechtigt und eine Verbindung zwischen den beiden wird aufgebaut.

Sowohl TGS als auch Service Tickets besitzen einen Gültigkeitsreitraum. Das bedeutet, einmal ausgestellt, werden keine Kennwörter mehr über das Netz verschickt, solange das Ticket noch gültig ist. Das ist einer der großen Sicherheitsvorteile von Kerberos.

Kleiner Tipp am Ende:

Einer der Verschlüsselungsattribute ist die Uhrzeit der Systeme. Laufen die Systeme mehr als 5 Minuten auseinander, kann der KDC die Anforderung des Clients nicht mehr entschlüsseln. Dies führt dazu, dass eine Authentifizierung und somit der Austausch der Tickets nicht mehr möglich ist. Also, sollte eine Anmeldung oder der Zugriff auf eine Ressource nicht funktionieren, schaut ob die Zeiten auf beiden Systemen synchron laufen.

PKI – Public Key Infrastruktur

Wir alle wissen, Zertifikate sind oftmals ein leidiges Thema. Die Erfahrung zeigt, dass viele sich an das Thema nicht so recht ran trauen. In der heuten Zeit kommt man aber an einer sauber konfigurierten PKI-Infrastruktur nicht mehr vorbei.

Leider ist uns im Zuge unserer Tätigkeiten immer wieder aufgefallen, dass es sich bei den genutzten Zertifizierungsstellen oftmals um eine „Quick & Dirty“ Lösung handelt. Das bedeutet, dass die Rolle der Zertifizierungsstelle nicht per Best Practice aufgebaut wurde, sondern einfach als zusätzliche Rolle auf einem bestehenden Server, oder noch schlimmer, auf einem der Domänencontroller installiert wurde. Auch die Konfiguration der Sperrlisten ist allzu oft nicht korrekt durchgeführt worden.

Der ein oder andere wird sich jetzt eventuell Fragen: Ist das denn so schlimm?

Ja, ist es!

Abgesehen davon, dass eine Zertifizierungsstelle und die damit ausgestellten Zertifikate eine immer größere Rolle in der Absicherung der eigenen Infrastruktur spielen und somit natürlich auch dementsprechend abgesichert werden müssen, führen auch grade die auf einem Domänencontroller installierten PKI’s zu Problemen sobald man den Domänencontroller einmal ersetzen möchte. Denn, wer schon mal vor so einer Situation stand, weiß, dass sich ein Domänencontroller nicht herunterstufen lässt, sobald dort eine Zertifizierungsstelle läuft. Spätestens dann kommt man in die Bedrängnis, die PKI zu migrieren.

Wie sollte also eine PKI-Infrastruktur aussehen?

Die minimale Konfiguration einer abgesicherten sogenannten 2-stufigen Zertifizierungsstellen-Infrastruktur beinhaltet eine Offline ROOT CA und eine Online ISSUING CA. Optional bietet ein OCSP eine weitere Möglichkeit, Sperrlisten abzugleichen und diese z.B. für extern genutzte Zertifikate erreichbar zu machen.

Offline ROOT CA

Die Offline ROOT CA wird als eigenständige Maschine installiert und darf kein Mitglied der bestehenden Domäne sein. Da die restliche Struktur der PKI auf der ROOT CA aufbaut, muss diese natürlich so sicher wie möglich aufgebaut werden. Das bedeutet in diesem Fall, dass die CA nur die Zertifikate für die ISSUING CA’s ausstellt. In kleineren Unternehmen wird das vermutlich nur ein einziges sein. Nachdem die ROOT CA das Zertifikat ausgestellt hat und alle weiteren Konfigurationen durchgeführt wurden, wird die Maschine ausgeschaltet. Nur bei Aktualisierung der Sperrlisten oder Erneuerung des ISSUING CA Zertifikates wird das System wieder hochgefahren (kleiner Tipp: Dieser Zeitpunkt bietet sich dann natürlich auch super für Windows Updates an).

Dadurch, dass das System also eigentlich dauerhaft ausgeschaltet ist, ist ein Angriff und somit eine Kompromittierung des Systems nahezu unmöglich. Allein diese Tatsache führt zu einem hohen Anstieg der Sicherheit der gesamten PKI-Infrastruktur.

ISSUING CA

Neben der Offline ROOT CA wird dementsprechend eine ISSUING CA konfiguriert. Diese wird als Teil der bestehenden Domäne installiert und dient als Zertifikatsherausgeber für die benötigten Zertifikate im Unternehmen. Sie dient als erste Anlaufstelle für sämtliche Zertifikatsanforderungen und bietet meist ebenfalls die Sperrlisten an.

OCSP

Eine dritte Komponente ist der sogenannte OCSP – Online Certificate Status Protocol. Hierbei handelt es sich um eine Web-Komponente, über die Clients die Abfrage der Sperrlisten durchführen lassen können. Der OCSP dient als Mittelsmann und gibt den Clients die Rückmeldung, ob ein Zertifikat noch gültig ist oder dieses bereits gesperrt wurde. Das verlagert die Last von den Clients hin zum OSCP Server. Aussehen kann eine korrekt eingerichtete PKI-Infrastruktur also wie folgt:

So sollte eine minimale PKI Infrastruktur aufgebaut sein.

LAPS – Local Administrator Password Solution

„Kleines Tool, große Wirkung“

Was ist LAPS?

Im Zuge der Absicherung der internen Windows Systeme gibt es diverse Hilfsmittel, um schnell und unkompliziert gewisse Risiken zu minimieren. Eines dieser Hilfsmittel ist LAPS.

Die Funktionsweise des von Microsoft unterstützten Tools ist relativ einfach erklärt. LAPS ändert in definierten Zeitabständen das lokale Administrator-Kennwort eines Systems in ein zufällig generiertes Kennwort, welches im AD-Objekt des Computers abgelegt wird. Dieses kann, bei Bedarf, per PowerShell oder installierte GUI von den berechtigten Benutzern ausgelesen werden.

Vorteile von LAPS

Allein die regelmäßige Änderung der lokalen Administrator-Kennwörter führt in vielen Umgebungen zu einem erheblichen Anstieg der Sicherheit, da, wie die Erfahrung zeigt, viele Server oder auch Clients mit dem gleichen Kennwort installiert und ausgerollt werden. Aufgrund dieser Tatsache würde es einem potenziellen Angreifer leichtfallen, sich auf den Systemen innerhalb der eigenen Infrastruktur fortzubewegen, wenn ihm dieses Kennwort in die Hände fällt.

Doch nicht nur der Schutz vor Angriffen steht hier im Fokus. Auch die temporäre Herausgabe von Adminstrationsrechten an Dritte kann darüber realisiert werden. Sollte z.B. ein Dienstleister für die Installation einer Software oder dergleichen administrativen Zugriff auf ein System benötigen, so kann man der betroffenen Person das durch LAPS generierte Kennwort mitteilen. Durch das Kennwort ist es nun möglich, administrativ auf der Maschine zu arbeiten, ohne einen Domänenbenutzer mit den Rechten ausstatten zu müssen. Nach erfolgreich durchgeführter Arbeit, kann nun durch LAPS ein neues Kennwort generiert werden und das mitgeteilte Kennwort verliert seine Gültigkeit. Somit ist kein Zugriff mehr auf das System möglich.

Gleiches gilt natürlich nicht nur für externe Zugriffe. Auch bei internen Zugriffen kann LAPS ein großer Vorteil sein. Benötigen beispielsweise die Auszubildenden oder Praktikanten einmal administrativen Zugriff auf einen Client oder Server, so kann man diesen ebenfalls das temporäre Kennwort mitteilen damit die benötigten Arbeiten durchgeführt können, ohne den Active-Directory Benutzern mit zu vielen Rechten auszustatten oder das eventuell allseits genutzte lokale Administratorkennwort mitzuteilen.

Ein weiterer Vorteil liegt darin, dass diese Kennwörter, nach dem per Gruppenrichtlinien definierten Zeitraum, garantiert ihre Gültigkeit verlieren. Das bedeutet, selbst wenn man durch den stressigen Arbeitsalltag vergessen sollte das Kennwort zurückzusetzen, verliert es automatisch seine Gültigkeit und kann somit nicht mehr genutzt werden.

Sicherheitsbedenken

Des Öfteren sind im Zuge der Einführung von LAPS einige Fragen zur Sicherheit aufgekommen. Denn wie wir im oberen Abschnitt gelernt haben, schreibt LAPS die Kennwörter im Klartext in das Computerobjekt. Nicht ohne Grund kommt daher die Frage auf:

Ist LAPS denn nun sicher?

Die kurze Antwort: Ja

Damit LAPS allerdings auch wirklich sicher ist, gibt es einige Dinge zu beachten. Bei der Einführung von LAPS werden im AD Schema zwei zusätzliche Attribute hinzugefügt. In diese werden bei erfolgreichem Rollout zum einen das Kennwort, zum anderen das Datum der Kennwortänderung gespeichert. Diese Attribute können in der Standardkonfiguration nur die Benutzer der Gruppe „Domänen-Admins“ auslesen. Über die mitgelieferten PowerShell Module können diese Berechtigungen per Active Directory OU für weitere Gruppen definiert werden. Dabei ist darauf zu achten, dass die richtigen Gruppen genutzt werden.

Zusätzlich dazu sollte aber allgemein die Active Directory Struktur auf eventuell manuell gesetzte Berechtigungen geprüft werden. Denn falsch gesetzte Berechtigungen können dazu führen, dass nicht definierte Gruppen und Benutzer die Kennwörter bzw. die eigentlich geschützten Attribute auslesen können.

Fazit

Wenn das Active Directory richtig gepflegt und administriert wird, ist LAPS eine großartige Ergänzung, um die Sicherheit im Unternehmen zu erhöhen. Wir empfehlen daher den Einsatz des Tools unter den unter Sicherheitsbedenken erwähnten Voraussetzungen.

AD Tiering Struktur – Funktion und Nutzen

In diesem Artikel wollen wir euch das Thema Tiering näherbringen. Grundsätzlich fällt dieses Thema in den Bereich des Active Directory Hardenings. Allerdings besteht die Einführung dieses Modells nicht nur aus der technischen Umsetzung. Viel wichtiger ist es, den Administratoren der Systeme, den richtig Umgang mit der neuen Struktur aufzuzeigen und diese zu verinnerlichen.

Aber erstmal zurück zum Anfang. Die erste Frage, die sich viele stellen ist:

Was ist überhaupt ein Tiering Modell?

Das Tiering oder auch ESAE (Enhanced Security Admin Environment) wird genutzt, um die administrative Architektur einer Domäne abzusichern. Durch eine Trennung der administrativen Konten und den Systemen in unterschiedliche „Schutzbereiche“, können Angriffe auf die interne Struktur reduziert bzw. deutlich erschwert werden.

Man trennt die vorhandene Struktur in drei Tiering Zonen sowie einen Benutzerbereich auf.

Jedes dieser Tiers bekommt eigene Administratoren. Wie auf dem Bild zu sehen, bekommt der jeweilige Admin nur Zugriff auf den ihm zugeteilten Bereich. Ein Zugriff auf eines der anderen Tiers ist nicht erlaubt.

Wie bereits oben erwähnt, handelt es sich bei den Tiering Benutzern um rein administrative Konten. Mit den Benutzern darf also nicht im normalen Tagesgeschäft gearbeitet werden. Sie sind rein für administrative Tätigkeiten gedacht.

Gearbeitet werden sollte mit diesen Benutzern über eine sogenannte PAW (Priviliged Access Workstation). Eine genauere Erklärung dazu gibt es in einem bald folgenden Blog-Artikel zum Thema  PAW.

Da wir nun schon einmal grob erklärt haben, um was es sich beim Tiering Modell handelt, stellt sich nun natürlich direkt die nächste Frage.

Warum benötige ich ein Tiering Modell?

Nun, auf diese Frage gibt es eigentlich eine sehr einfache Antwort:

MEHR SICHERHEIT!

Grade die letzten Jahre haben gezeigt, dass kein Unternehmen vor Cyberangriffen sicher ist. Ich denke, jeder hat schon von mindestens einer Firma gehört, die Opfer einer Cyberattacke war. Sei es Verschlüsselungen, Datendiebstahl oder eine der anderen Attacken.

Wir müssen also versuchen, die eigene Infrastruktur so sicher wie möglich bzw. es dem Angreifer so schwer wie möglich zu machen, die Infrastruktur zu „infiltrieren“. Durch die Trennung in die drei Sicherheitsbereiche wollen wir eine komplette Kompromittierung der Domäne verhindern. Bei einem sauber eingerichteten und von den Mitarbeitern korrekt genutzten Tiering Modell, kann ein Angriff deutlich eingegrenzt werden. Denn selbst wenn ein Angreifer an ein administratives Kennwort gelangen könnte, hat er dadurch nicht die Möglichkeit sich in dem nächsthöheren Tier zu bewegen.

Erklären wir das mal an einem Beispiel:

Ohne Tiering:

Benutzer A hat sich auf seinem Client einen Trojaner oder ähnliches eingefangen. Er meldet sich beim IT-Support. Dieser schaltet sich nun mit seinem Administrator auf diesem Client auf. Da der Angreifer den Client des Benutzers bereits kompromittiert hat, ist es für ihn nun ein Leichtes an die Anmeldedaten des aufgeschalteten Admin-Benutzers zu gelangen, da diese als Hash-Wert auf dem Client gespeichert werden.

Mit den abgegriffenen Anmeldedaten des Support-Mitarbeiters (meistens ebenfalls Domänen-Administrator) hat der Angreifer nun die Möglichkeit, tiefer ins System vorzudringen und im schlimmsten Fall bis zu einem Domänencontroller zu gelangen. Sollte er Zugriff auf diesen erhalten, kann er sich nun frei in der Domäne bewegen, ohne dass es jemand mitkriegen würde.

Somit wäre die komplette Domäne kompromittiert und müsste im schlimmsten Fall komplett neu aufgesetzt werden. Auch eine komplette Verschlüsselung aller Systeme ist dadurch möglich, da der Angreifer kompletten Zugriff auf sämtliche Ressourcen hätte.

Mit eingerichtetem Tiering:

Im gleichen Szenario wie oben beschrieben hätte der Angreifer keine Chance weiter in die Domäne vorzudringen. Sollte sich im gleichen Beispiel ein Support Mitarbeiter mit seinen eigens für die Client- Administration (z.B. T2-Mustermann) angelegten Benutzer anmelden und der Angreifer ebenfalls die Anmeldedaten abgreifen, kann er sich maximal auf Clientebene bewegen. Er hat aber durch die Trennung in die unterschiedlichen Tiering Bereiche, keine Möglichkeiten, sich auf Anwendungs-server oder im schlimmsten Falle, Domänencontroller fortzubewegen.

Wie gehe ich vor, wenn ich ein Tiering einführen möchte?

Hier gibt es keine einfache Antwort. Grundsätzlich kann ein Tiering Modell von jedem in Betrieb genommen werden. Es müssen die benötigten Active Directory Anpassungen durchgeführt werden, die zugehörigen Benutzer erstellt und per Gruppenrichtlinien die nötigen Einschränkungen ausgerollt werden.

Beispiel einer einfache Tiering OU Struktur:

Das Wichtigste bei der Inbetriebnahme eines solchen Modells ist es aber, die zukünftigen Nutzer des Tiering Modells in die neue Arbeitsweise einzuarbeiten und den Nutzen zu verdeutlichen. Denn nur wenn sich sämtliche Mitarbeiter mit administrativen Konten an die neuen Regeln halten, kann man die Sicherheit der eigenen Infrastruktur erhöht werden.

Auch sollten vorher sämtliche Zugriffe auf die Systeme geklärt werden, denn es sollten auch die diejenigen einen T0 Administrator bekommen, die wirklich Zugriff auf T0 Systeme benötigen. Bei den administrativen Benutzern gilt:

So wenig wie möglich, so viel wie nötig.

Um die Nutzer zu erstellen und zu wissen, worauf sie Zugriff benötigen, gibt es natürlich eine weitere Hürde. Welches System gehört in welches Tier? Hierfür haben wir ein grobes Entscheidung-Diagramm erstellt.

Wie bereits erwähnt, handelt es sich hierbei nur um eine sehr grobe Auswahlhilfe. Jedoch kann es dabei helfen, eine erste Unterteilung seiner Systeme durchzuführen.


Fazit

Ich hoffe, wir konnten euch ein wenig für das Thema Tiering sensibilisieren. Grundsätzlich kann man durch die Einführung eines neuen administrativen Konzeptes die Sicherheit im eigenen Unternehmen deutlich erhöhen. Jedoch darf man nie vergessen, dass sämtliche Änderungen nur dann funktionieren können, wenn die Mitarbeitenden das Konzept unterstützen und mittragen.

Bevor sich jemand dazu entscheidet, ein Tiering bei sich einzuführen, besprecht es bitte mit allen Administratoren und klärt, ob sie dafür bereit sind die Idee mit umzusetzen. Denn das beste Konzept hilft nichts, wenn es Benutzer gibt, die es umgehen bzw. boykottieren.

Die Erfahrung zeigt aber, dass nach einer sachlichen Einweisung der IT-Mitarbeiter und der Beantwortung aller Fragen, kaum noch „Gegenwind“ herrscht.

Cookie Consent mit Real Cookie Banner