Kerberos Grundlagen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 63: Zeile 63:
 
* '''Single Sign-On (SSO):'''
 
* '''Single Sign-On (SSO):'''
 
** Mit Kerberos können Benutzer sich einmal authentifizieren und anschließend auf mehrere Dienste zugreifen, ohne sich erneut anmelden zu müssen.
 
** Mit Kerberos können Benutzer sich einmal authentifizieren und anschließend auf mehrere Dienste zugreifen, ohne sich erneut anmelden zu müssen.
 +
 +
[[Kategorie:KERBEROS]]

Aktuelle Version vom 10. Oktober 2024, 20:11 Uhr

Bei Kerberos sind drei Parteien beteiligt

  • Der Client: Das Gerät oder die Anwendung, die auf geschützte Dienste zugreifen möchte.
  • Der Server, der den Client nutzen will: Der Dienst, auf den der Client zugreifen möchte, wie z. B. ein Dateiserver oder ein Anwendungsserver.
  • Der Kerberos-Server (KDC): Eine vertrauenswürdige dritte Partei, die den Authentifizierungsprozess ermöglicht. Besteht aus dem Key Distribution Center (KDC), das den Authentication Server (AS) und den Ticket Granting Server (TGS) umfasst.

Einführung in Kerberos

  • Kerberos ist ein Netzwerk-Authentifizierungsprotokoll, das für sichere Kommunikation in unsicheren Netzwerken entwickelt wurde.
  • Es basiert auf dem Austausch von verschlüsselten Tickets, die die Identität von Benutzern und Diensten im Netzwerk bestätigen.
  • Durch den Einsatz von Kerberos kann Single Sign-On (SSO) in einer sicheren Umgebung realisiert werden.

Kerberos-Authentifizierungsprozess

Der Kerberos-Authentifizierungsprozess ermöglicht eine sichere Kommunikation und Authentifizierung zwischen Clients und Diensten im Netzwerk:

  • Der Client fordert vom Key Distribution Center (KDC) ein Ticket Granting Ticket (TGT) an.
    • Der Client sendet eine Authentifizierungsanfrage an den KDC, um ein TGT zu erhalten, das für die spätere Anforderung von Service-Tickets genutzt wird.
  • TGT wird dem Benutzer ausgestellt und verschlüsselt übertragen.
    • Der KDC stellt ein TGT aus und überträgt es verschlüsselt an den Client. Der Client speichert das TGT im lokalen Cache.
  • Um einen Dienst, der Kerberos unterstützt, nutzen zu können, fordert der Client ein weiteres Ticket an.
    • Mit dem im Cache gespeicherten TGT fordert der Client vom KDC ein Service-Ticket für den gewünschten Dienst an.
  • Der KDC übermittelt das Service-Ticket.
    • Der KDC erstellt und übermittelt das Service-Ticket, das für den spezifischen Dienst gedacht ist.
  • Dieses Ticket sendet der Client dann an den Dienst, der überprüft, ob er dem Client den Zugriff gestatten soll.
    • Der Client sendet das erhaltene Service-Ticket an den Ziel-Dienst. Der Dienst überprüft das Ticket und entscheidet, ob der Client Zugriff erhält.
  • Server vereinbart mit dem Client eine Sitzung und der Benutzer erhält die vorgesehenen Berechtigungen.
    • Nach der erfolgreichen Verifizierung des Tickets vereinbart der Server eine Sitzung mit dem Client, und der Benutzer erhält die entsprechenden Berechtigungen, um den Dienst zu nutzen.

Kerberos in modernen Netzwerken

  • Cloud-Dienste: Einige Cloud-Dienste und -Anbieter unterstützen die Kerberos-Authentifizierung, was eine sichere Verbindung zwischen lokalen Netzwerken und Cloud-Ressourcen ermöglicht.
  • Linux- und Unix-Systeme: Kerberos wird häufig in Unix- und Linux-Umgebungen für die Authentifizierung bei verschiedenen Diensten, wie SSH oder NFS, eingesetzt.
  • Active Directory: Microsoft Active Directory verwendet Kerberos als Standard-Authentifizierungsprotokoll, um Single Sign-On (SSO) in Windows-Netzwerken zu ermöglichen.

Sicherheitsmechanismen

  • Zeitstempel und Ablauf:
    • Kerberos verwendet Zeitstempel, um sicherzustellen, dass Tickets nur für einen begrenzten Zeitraum gültig sind, was Replay-Angriffe verhindert.
  • Symmetrische Verschlüsselung:
    • Aktuelle Implementierungen von Kerberos verwenden moderne Verschlüsselungsverfahren wie AES (Advanced Encryption Standard) für starke Sicherheit.
  • Mutual Authentication:
    • Kerberos ermöglicht gegenseitige Authentifizierung, bei der sowohl der Client als auch der Dienst ihre Identitäten bestätigen, um Man-in-the-Middle-Angriffe zu vermeiden.
  • Schlüsselaustausch und Rotation:
    • Um die Sicherheit zu gewährleisten, sollten Kerberos-Schlüssel regelmäßig erneuert und ausgetauscht werden.

Herausforderungen

  • Synchronisation der Systemuhren:
    • Kerberos erfordert, dass die Systemuhren der beteiligten Geräte synchron sind, um die Gültigkeit der Zeitstempel zu überprüfen.
  • Schlüsselverwaltung:
    • Die Sicherheit von Kerberos hängt stark von der sicheren Verwaltung der symmetrischen Schlüssel und Passwörter ab.
  • Golden Ticket-Angriff:
    • Ein Angreifer könnte durch den Zugriff auf den Kerberos-Schlüssel des KDC ein gefälschtes Ticket erstellen, das ihm vollständigen Zugriff auf das Netzwerk ermöglicht.
    • Die richtige Verwaltung und Rotation der Schlüssel ist entscheidend, um solche Angriffe zu verhindern.

Einsatz in der Praxis

  • Unternehmensnetzwerke:
    • Kerberos ist weit verbreitet in großen Unternehmensnetzwerken, insbesondere in Umgebungen mit Microsoft Active Directory, wo es als Standard-Authentifizierungsprotokoll dient.
  • Single Sign-On (SSO):
    • Mit Kerberos können Benutzer sich einmal authentifizieren und anschließend auf mehrere Dienste zugreifen, ohne sich erneut anmelden zu müssen.