Kerberos Grundlagen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Bei Kerberos sind drei Parteien beteiligt=
+
=== Bei Kerberos sind drei Parteien beteiligt ===
*der Client
+
* '''Der Client:''' Das Gerät oder die Anwendung, die auf geschützte Dienste zugreifen möchte.
*der Server, der den Client nutzen will
+
* '''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
+
* '''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.
  
== Kerberos Vertiefung ==
+
= 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 ist ein Netzwerk-Authentifizierungsprotokoll, das entwickelt wurde, um sichere Kommunikation über unsichere Netzwerke zu ermöglichen. Es verwendet symmetrische Schlüssel und vertrauenswürdige Dritte, um die Identität von Benutzern und Diensten zu verifizieren.
+
== Kerberos-Authentifizierungsprozess ==
  
=== Architektur ===
+
Der Kerberos-Authentifizierungsprozess ermöglicht eine sichere Kommunikation und Authentifizierung zwischen Clients und Diensten im Netzwerk:
* '''Key Distribution Center (KDC):''' Das KDC ist die zentrale Komponente von Kerberos und besteht aus zwei Hauptdiensten:
 
** '''Authentication Server (AS):''' Verifiziert die Identität von Clients und stellt Ticket Granting Tickets (TGT) aus.
 
** '''Ticket Granting Server (TGS):''' Vergibt Zugriffstickets für spezifische Dienste basierend auf dem TGT.
 
  
=== Authentifizierungsprozess ===
+
* '''Der Client fordert vom Key Distribution Center (KDC) ein Ticket Granting Ticket (TGT) an.'''
== Kerberos Authentifizierungsprozess ==
+
** 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.
  
Der Kerberos-Authentifizierungsprozess ermöglicht eine sichere Kommunikation und Authentifizierung zwischen Clients und Diensten im Netzwerk. Die Schritte des Prozesses sind wie folgt:
+
* '''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.
  
* '''1. Benutzer fordert vom Key Distribution Center (KDC) ein Ticket Granting Ticket (TGT) an.'''
+
* '''Um einen Dienst, der Kerberos unterstützt, nutzen zu können, fordert der Client ein weiteres Ticket an.'''
** Der Client sendet eine Anfrage an den KDC, um ein TGT zu erhalten, das für die spätere Anforderung von Service-Tickets genutzt wird.
+
** Mit dem im Cache gespeicherten TGT fordert der Client vom KDC ein Service-Ticket für den gewünschten Dienst an.
  
* '''2. TGT wird dem Benutzer ausgestellt und verschlüsselt übertragen.'''
+
* '''Der KDC übermittelt das Service-Ticket.'''
** Der KDC stellt dem Benutzer ein TGT aus und überträgt es verschlüsselt. Der Computer speichert das TGT im lokalen Cache des Clients.
 
 
 
* '''3. Um einen Dienst, der Kerberos unterstützt, benutzen zu können, fordert der Client ein weiteres Ticket an.'''
 
** Mit dem gespeicherten TGT fordert der Client beim KDC ein Service-Ticket für den gewünschten Dienst an.
 
 
 
* '''4. Der KDC übermittelt das Service Ticket.'''
 
 
** Der KDC erstellt und übermittelt das Service-Ticket, das für den spezifischen Dienst gedacht ist.
 
** Der KDC erstellt und übermittelt das Service-Ticket, das für den spezifischen Dienst gedacht ist.
  
* '''5. Dieses Ticket sendet der Client dann an den Dienst, der überprüft, ob er dem Client den Zugriff gestatten soll.'''
+
* '''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.
 
** 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.
  
* '''6. Server vereinbart mit dem Client eine Sitzung und der Benutzer erhält die vorgesehenen Berechtigungen.'''
+
* '''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.
 
** 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.
 +
 
{{#drawio:keberos-1}}
 
{{#drawio:keberos-1}}
 +
 +
== 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 ===
 
=== Sicherheitsmechanismen ===
Zeile 41: Zeile 43:
 
** Kerberos verwendet Zeitstempel, um sicherzustellen, dass Tickets nur für einen begrenzten Zeitraum gültig sind, was Replay-Angriffe verhindert.
 
** Kerberos verwendet Zeitstempel, um sicherzustellen, dass Tickets nur für einen begrenzten Zeitraum gültig sind, was Replay-Angriffe verhindert.
 
* '''Symmetrische Verschlüsselung:'''
 
* '''Symmetrische Verschlüsselung:'''
** Alle Tickets und Kommunikationen werden mit symmetrischer Verschlüsselung gesichert, die von beiden Parteien geteilt wird.
+
** Aktuelle Implementierungen von Kerberos verwenden moderne Verschlüsselungsverfahren wie AES (Advanced Encryption Standard) für starke Sicherheit.
 
* '''Mutual Authentication:'''
 
* '''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.
 
** 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:'''
=== Einsatz in der Praxis ===
+
** Um die Sicherheit zu gewährleisten, sollten Kerberos-Schlüssel regelmäßig erneuert und ausgetauscht werden.
* '''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.
 
  
 
=== Herausforderungen ===
 
=== Herausforderungen ===
Zeile 56: Zeile 54:
 
* '''Schlüsselverwaltung:'''
 
* '''Schlüsselverwaltung:'''
 
** Die Sicherheit von Kerberos hängt stark von der sicheren Verwaltung der symmetrischen Schlüssel und Passwörter ab.
 
** 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.
  
Kerberos bietet eine robuste und sichere Methode zur Authentifizierung in Netzwerken, ist jedoch auf eine sorgfältige Konfiguration und Verwaltung angewiesen, um seine Sicherheitsvorteile voll auszuschöpfen.
+
=== Einsatz in der Praxis ===
 
+
* '''Unternehmensnetzwerke:'''
=Prinzip=
+
** Kerberos ist weit verbreitet in großen Unternehmensnetzwerken, insbesondere in Umgebungen mit Microsoft Active Directory, wo es als Standard-Authentifizierungsprotokoll dient.
#Benutzer fordert vom Key Distribution Center (KDC) ein Ticket Granting Ticket (TGT) an.
+
* '''Single Sign-On (SSO):'''
#TGT wird dem Benutzer ausgestellt und verschlüsselt übetragen. Computer sichert TGT im lokalen Cache.
+
** Mit Kerberos können Benutzer sich einmal authentifizieren und anschließend auf mehrere Dienste zugreifen, ohne sich erneut anmelden zu müssen.
#Um einen Dienst, der Kerberos unterstützt, benutzen zu können, fordert der Client ein weiteres Ticket an.
 
#Der KDC übermittelt das Service Ticket.
 
#Dieses Ticket sendet der Client dann an den Dienst, der überprüft, ob er dem Client den Zugriff gestatten soll.
 
#Server vereinbart mit dem Client ein Sitzung und der Benutzer erhält die vorgesehenen Berechtigungen.
 
  
[[Datei:kerberos-ablauf.jpg]]
+
[[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.