Keberos ADS Squid

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Was ist Kerberos?

Kerberos ist ein Netzwerk-Authentifizierungsprotokoll, das Sicherheit in Computernetzwerken bietet. Es verwendet ein Ticket-basiertes System, um Benutzern und Diensten eine sichere Identität zuzuweisen. Kerberos wird häufig in Umgebungen wie Active Directory (AD) eingesetzt.

Funktionsweise von Kerberos

  • KDC (Key Distribution Center): Das Herzstück von Kerberos ist der KDC, der aus zwei Komponenten besteht:
    • Authentication Server (AS): Stellt Benutzern ein Ticket Granting Ticket (TGT) aus.
    • Ticket Granting Server (TGS): Gewährt Benutzern Service Tickets für den Zugriff auf bestimmte Dienste.
  • Tickets:
    • TGT (Ticket Granting Ticket): Ein Ticket, das es einem Benutzer ermöglicht, Service Tickets für andere Dienste anzufordern.
    • Service Ticket: Ein Ticket, das für den Zugriff auf spezifische Dienste, wie z.B. Squid, verwendet wird.

1. Erhalt des Ticket Granting Ticket (TGT)

  • Bei der ersten Anmeldung des Benutzers wird ein TGT vom Kerberos Authentication Server (AS) ausgestellt.
  • Das TGT ist ein einmaliges Ticket, das die Identität des Benutzers für eine bestimmte Zeit bestätigt.

2. Anfordern eines Service Tickets

  • Wenn der Benutzer auf einen spezifischen Dienst (z.B. einen Proxy-Server wie Squid) zugreifen möchte, verwendet er das TGT, um ein Service Ticket vom Ticket Granting Server (TGS) anzufordern.

3. Erhalt des Service Tickets

  • Der TGS überprüft das TGT und die Berechtigungen des Benutzers. Wenn alles in Ordnung ist, stellt der TGS ein Service Ticket für den Proxy-Server aus.
  • Dieses Service Ticket wird an den Benutzer zurückgegeben.

4. Verwendung des Service Tickets

  • Der Benutzer verwendet das Service Ticket, um sich beim Dienst (z.B. beim Proxy-Server) zu authentifizieren.
  • Das Service Ticket enthält Informationen über den Benutzer und die Berechtigungen für den Dienst.

5. Ablauf und Erneuerung

  • Service Tickets haben eine begrenzte Lebensdauer. Nach Ablauf muss der Benutzer ein neues Ticket anfordern.

Warum benötigt der Proxy ein Ticket?

  • Der Proxy-Server benötigt ein Ticket, um sicherzustellen, dass nur autorisierte Benutzer auf die über den Proxy bereitgestellten Dienste zugreifen können.
  • Ein gültiges Service Ticket bestätigt die Identität des Benutzers und zeigt, dass er authentifiziert ist.
  • Durch die Verwendung von Kerberos-Tickets kann der Proxy-Server den Zugriff auf Ressourcen steuern und sicherstellen, dass nur berechtigte Benutzer die Dienste nutzen.

Kerberos in Active Directory (AD)

  • AD verwendet Kerberos zur Authentifizierung von Benutzern und Computern im Netzwerk.
  • Benutzer, die sich bei einem AD-Domänencontroller anmelden, erhalten ein TGT, das sie verwenden können, um Service Tickets für verschiedene Dienste in der Domäne zu erhalten.

Kerberos und Squid

  • Squid ist ein Proxy-Server, der Kerberos für die Authentifizierung von Benutzern verwenden kann.
  • Um Kerberos mit Squid zu integrieren, sind einige Konfigurationen erforderlich.

Wichtige Programme und Dateien

  • kinit: Ein Kommandozeilenwerkzeug, das verwendet wird, um ein Kerberos-Ticket zu erhalten.
  • klist: Ein Tool zur Anzeige von Kerberos-Tickets, die in einem Ticket-Cache gespeichert sind.
  • kdestroy: Ein Tool zum Löschen von Kerberos-Tickets aus dem Cache.
  • /etc/krb5.conf: Die Konfigurationsdatei für Kerberos, die die Realms und KDC-Informationen enthält.
  • /etc/squid/squid.conf: Die Hauptkonfigurationsdatei für Squid, in der Kerberos- und Authentifizierungseinstellungen festgelegt werden.

Konfiguration von Kerberos und Squid

  • In der Datei /etc/krb5.conf sollten die Realms und KDC-Server konfiguriert sein.
  • In der Squid-Konfigurationsdatei /etc/squid/squid.conf müssen die Kerberos-Authentifizierungsmechanismen und die Keytab-Datei angegeben werden.

Fazit

Kerberos bietet eine sichere Möglichkeit zur Authentifizierung von Benutzern in Netzwerken, insbesondere in Kombination mit Active Directory und Proxy-Servern wie Squid. Durch die richtige Konfiguration dieser Komponenten kann ein sicheres Netzwerkumfeld geschaffen werden.

Erklärung der Kerberos-Befehle und Ausgaben

Befehl: kinit

  • kinit administrator:
    • Dieser Befehl wird verwendet, um ein Kerberos-Ticket für den Principal administrator@LAB34.LINUGGS.DE zu erhalten.
    • Der Benutzer wird zur Eingabe des Passworts aufgefordert. Nach erfolgreicher Eingabe wird ein Ticket Granting Ticket (TGT) für den Benutzer erstellt.

Befehl: klist

  • klist:
    • Dieser Befehl zeigt die im Kerberos-Ticket-Cache gespeicherten Tickets an.
    • Er zeigt, welche Tickets aktuell für den Benutzer gültig sind und deren Ablaufdaten.

Ausgabe von klist

  • Ticket cache: FILE:/tmp/krb5cc_0:
    • Dies gibt an, wo der Ticket-Cache gespeichert ist. In diesem Fall ist es die Datei /tmp/krb5cc_0.
  • Default principal: administrator@LAB34.LINUGGS.DE:
    • Dies zeigt den Standard-Prinzipal an, für den das Ticket erstellt wurde.
  • Valid starting / Expires / Service principal:
    • Diese Spalten zeigen die folgenden Informationen an:
      • Valid starting - Das Datum und die Uhrzeit, zu der das Ticket gültig wurde.
      • Expires - Das Datum und die Uhrzeit, zu der das Ticket abläuft.
      • Service principal - Der Service, für den das Ticket gilt, in diesem Fall krbtgt/LAB34.LINUGGS.DE@LAB34.LINUGGS.DE, das für den Kerberos Ticket Granting Ticket Service (TGS) steht.
  • renew until:
    • Dies gibt an, bis wann das Ticket erneuert werden kann. In diesem Fall kann das Ticket bis zum 10/03/2024 19:50:54 erneuert werden.

Zusammenfassung

  • Durch die Verwendung von kinit erhält der Benutzer ein Kerberos-Ticket.
  • klist ermöglicht die Überprüfung des Ticket-Status und der Gültigkeitszeiträume.
  • Diese Befehle sind entscheidend für die Verwaltung von Kerberos-Authentifizierungsprozessen.