Kerberos-Protokoll

Beim Kerberos-Protokoll handelt es sich um ein Netzwerkauthentisierungs- und Autorisierungsprotokoll. Es wurde in den 1980er-Jahren als sicherere Alternative zur herkömmlichen Authentisierung durch die Benutzer-/ Passworteingabe an Maschinen und Diensten in unsicheren Netzwerken vom Massachusetts Institute of Technology (MIT) entwickelt.

Inhaltsverzeichnis

Wo wird das Kerberos-Protokoll eingesetzt?

Kerberos wird heute vor allem mit seiner abgeleiteten Windows-Implementierung in Verbindung gebracht. Aber auch zahlreiche Unix- und Unix-ähnliche Geräte unterstützen das Protokoll, darunter zum Beispiel FreeBSD, MacOS, Red Hat Enterprise Linux oder HP’s HP-UX. Zunehmend Verbreitung findet Kerberos zudem in Embedded Systems (z. B. Cisco IOS bzw. IoT-Geräten). Insgesamt gibt es 5 große Implementierungen, von denen die ersten drei unter freien Lizenzen stehen:

  • MIT Kerberos
  • Heimdall
  • GNU Shishi
  • Microsoft’s AD Keberos
  • Sun’s Java
 
 

Wie steigert das Kerberos-Protokoll die Sicherheit?

Die Authentifizierung mittels Passwortes leidet besonders unter zwei Problemen. Das erste besteht darin, dass sich Angreifer allein durch Kenntnis des richtigen Passworts als legitime Nutzer ausgeben können. Wenn also jemand das Passwort zu deinem Nutzerkonto kennt, kann diese Person deine Identität stehlen und so dir und deinem Unternehmen Schaden zufügen. Konkret tun Angreifer dies auf folgende Arten: 

  • Stehlen von Informationen
  • Verbreitung von Malware (wie etwa die Ransomware Emotet und Keylogger)
  • Infizierung weiterer Geräte zum Zwecke des Phishings
  • Versenden von SPA
  • Durchführen von DDoS Attacken
 
Um sich vor solchen Angriffen zu schützen, empfiehlt sich nicht nur die Verwendung des Kerberos-Protokolls, sondern auch die Durchführung von Pentests, um vorhandene Schwachstellen in deinem System aufzudecken.

Das zweite Problem hängt mit dem Faktor Mensch zusammen: Wir haben die Tendenz, bei einer steigenden Anzahl von Authentifizierungen durch Passwörter (ohne Zuhilfenahme eines Passwortmanagers) zunehmend gleichförmige Passwörter zu verwenden. Gelangt jemand Drittes also an eines dieser Passwörter, zum Beispiel durch einen Man in the Middle Angriff, besteht potenziell die Möglichkeit, sich mit diesem Passwort oder einer Variation davon (Stichwort Passwordspraying) an mehreren Stellen erfolgreich authentifizieren zu können.

Um die Authentifizierung im Netzwerk sicherer zu gestalten, muss dafür Sorge getragen werden, dass das Passwort oder die Passwörter nicht ständig im Netzwerk übertragen werden und somit einfach mitgeschnitten werden könnten. Gleichzeitig muss gewährleistet sein, dass sich ein Benutzer an jedem Dienst und jeder Maschine authentisieren kann, zu welcher er berechtigt ist.

Das Kerberos-Protokoll löst beide genannten Probleme und hilft somit dabei, Authentifizierungs-Prozesse sicherer zu gestalten. Im folgenden Abschnitt gehen wir näher darauf ein, wie das Protokoll dabei vorgeht.

Wie funktioniert das Kerberos-Protokoll?

Die dritte Instanz: Key Distribution Center (KDC)

Das Problem der unsicheren Passwortübertragung löst Kerberos durch die Einführung einer dritten autoritativen Instanz innerhalb des Netzwerkes, die verschlüsselte Tickets ausstellt. Diese dritte Instanz trägt die Bezeichnung Key Distribution Center (KDC).

Das KDC besteht effektiv aus zwei Diensten, die auf einem oder mehreren Servern betrieben werden. Dazu gehören der Authentication Server (AS) und der Service Server (SS) – auch Ticket Granting Server genannt. Der Authentication Server (AS) prüft, ob es sich um einen legitimen Nutzer des Netzwerkes handelt. Der Service Server (SS) stellt die Tickets für die Erlaubnis zur Benutzung des angefragten Dienstes aus.

Die (Erst-)Kommunikation in einer Umgebung mit Kerberos-Protokoll

Zum Abschluss dieses Grundlagen-Artikels zum Kerberos-Protokoll betrachten wir ein konkretes Szenario, in dem ein Nutzer auf einen Fileserver zugreifen möchte. In diesem Szenario interagieren folgende Instanzen:

  • Nutzer (A)
  • Fileserver (B)
  • KDC mit Authentication Server (KAS) und Service Server (KSS)
 
 Szenario: (A) möchte auf die Dateifreigabe von (B) zugreifen.
 

Folgende Schritte werden hierbei unter Verwendung des Kerberos-Protokolls durchlaufen:

  1. (A) meldet sich zuerst am (KAS) mit seiner ID, verschlüsselt durch sein Passwort. Wichtig ist hierbei festzuhalten, dass nicht das Passwort über das Netzwerk übertragen wird, sondern nur das verschlüsselte Secret.
  2. Der (KAS) wiederum entschlüsselt das Secret mit dem hinterlegten Passwort.
  3. Nach erfolgreicher Verifizierung von (A) durch (KAS) sendet (KAS) ein Ticket zurück, das sogenannte Ticket Granting Ticket (TGT), welches selbst mit einem weiteren Secret verschlüsselt ist.
  4. (A) sendet dieses TGT nun zusammen mit seiner Anfrage für die Benutzung der Dateifreigabe von (B) an den (KSS).
  5. Der (KSS) entschlüsselt das TGT nun mit dem gemeinsamen Secret mit (KAS).
  6. Hiernach sendet (KSS) ein verschlüsseltes Token an (A) zurück.
  7. (A) sendet dieses Token nun an (B).
  8. (B) entschlüsselt das Token mit dem geteilten Secret zwischen ihm und dem (KSS) und erlaubt (A) somit für die im Token veranschlagte Zeit den Zugriff auf die Dateifreigabe.
Veranschaulichung der Wirkung und Schritte des Kerberos-Protokolls
Die Kommunikation zwischen Key Distribution Center (KDC), Client und Service nach Kerberos-Protokoll

Durch diesen Ablauf stellt Kerberos zum einen sicher, dass das Passwort nicht übertragen wird. Zum anderen müssen sich Nutzer an Geräten und Diensten, die Kerberos unterstützen, bis zum Ablauf des TGT kein weiteres Mal anmelden. Kurzum: Kerberos ermöglicht die Benutzung von Single Sign-On (SSO), da über das gültige TGT keine weitere Kommunikation mit dem Authentication Server nötig ist, um am Service Server (SS) weitere Token generieren zu können.

Du willst auf dem Weg zum Penetration Tester keine Zeit verschwenden?
In unseren von erfahrenen Penetration Testern geleiteten Kursen lernst du alles, was du für wirklich dafür brauchst.
Zum Junior Penetration Tester Intensivkurs
TEILEN
Newsletter Form

Become a Cyber Security Insider

Sichere dir frühen Zugang und exklusive Inhalte!


ANDERE BEITRÄGE

Inhaltsverzeichnis

PSN_KU_Cover
NewsLetter Form Pop Up New

Become a Cyber Security Insider

Abonniere unsere Knowledge Base und erhalte:

Frühen Zugriff auf neue Blogbeiträge
Exklusive Inhalte
Regelmäßige Updates zu Branchentrends und Best Practices


Bitte akzeptiere die Cookies unten auf dieser Seite, um das Formular abschicken zu können!