Umgang mit Authentifizierung, Autorisierung und Auditing mit Kerberos/NTLM

Kerberos, ein Computer-Netzwerkauthentifizierungsprotokoll, bietet eine sichere Kommunikation über das Internet. Sie wurde hauptsächlich für Client-Server-Anwendungen entwickelt und bietet eine gegenseitige Authentifizierung, mit der Client und Server die Authentizität des anderen sicherstellen können. Kerberos verwendet einen vertrauenswürdigen Drittanbieter, der als Key Distribution Center (KDC) bezeichnet wird. Ein KDC besteht aus einem Authentifizierungsserver (AS), der einen Benutzer authentifiziert, und einem Ticket Granting Server (TGS).

Jede Entität im Netzwerk (Client oder Server) verfügt über einen geheimen Schlüssel, der nur sich selbst und dem KDC bekannt ist. Die Kenntnis dieses Schlüssels impliziert Authentizität der Entität. Für die Kommunikation zwischen zwei Entitäten im Netzwerk generiert der KDC einen Sitzungsschlüssel, der als Kerberos-Ticket oder Serviceticket bezeichnet wird. Der Client stellt eine Anforderung an den AS für Anmeldeinformationen für einen bestimmten Server. Der Kunde erhält dann ein Ticket, das als Ticket Granting Ticket (TGT) bezeichnet wird. Der Kunde kontaktiert dann die TGS, verwendet den TGT, den er vom AS erhalten hat, um seine Identität zu beweisen, und bittet um einen Service. Wenn der Kunde für den Service berechtigt ist, gibt der TGS dem Kunden ein Kerberos-Ticket aus. Der Client kontaktiert dann den Server, der den Dienst hostet (als Serviceserver bezeichnet) und verwendet das Kerberos-Ticket, um nachzuweisen, dass er berechtigt ist, den Dienst zu empfangen. Das Kerberos-Ticket hat eine konfigurierbare Lebensdauer. Der Client authentifiziert sich nur einmal mit dem AS. Wenn er den physischen Server mehrmals kontaktiert, wird das AS-Ticket wiederverwendet.

Die folgende Abbildung zeigt die grundlegende Funktionsweise des Kerberos-Protokolls.

Abbildung 1. Funktionieren von Kerberos

Kerberos-Authentifizierungsprozess

Die Kerberos-Authentifizierung hat folgende Vorteile:

  • Schnellere Authentifizierung. Wenn ein physischer Server ein Kerberos-Ticket von einem Client erhält, verfügt der Server über genügend Informationen, um den Client direkt zu authentifizieren. Es muss keinen Domänencontroller für die Clientauthentifizierung kontaktieren, und daher ist der Authentifizierungsprozess schneller.
  • Gegenseitige Authentifizierung. Wenn der KDC ein Kerberos-Ticket an einen Client ausgibt und der Client das Ticket für den Zugriff auf einen Dienst verwendet, können nur authentifizierte Server das Kerberos-Ticket entschlüsseln. Wenn der virtuelle Server auf der Citrix ADC Appliance das Kerberos-Ticket entschlüsseln kann, können Sie feststellen, dass sowohl der virtuelle Server als auch der Client authentifiziert sind. Somit erfolgt die Authentifizierung des Servers zusammen mit der Authentifizierung des Clients.
  • Single Sign-On zwischen Windows und anderen Betriebssystemen, die Kerberos unterstützen.

Kerberos-Authentifizierung kann folgende Nachteile haben:

  • Kerberos hat strenge Zeitanforderungen. Die Uhren der beteiligten Hosts müssen mit der Kerberos-Serveruhr synchronisiert werden, um sicherzustellen, dass die Authentifizierung nicht fehlschlägt. Sie können diesen Nachteil verringern, indem Sie die Network Time Protocol Daemons verwenden, um die Host-Uhren synchronisieren zu lassen. Kerberos-Tickets haben einen Verfügbarkeitszeitraum, den Sie konfigurieren können.
  • Kerberos benötigt den zentralen Server, um kontinuierlich verfügbar zu sein. Wenn der Kerberos-Server heruntergefahren ist, kann sich niemand anmelden. Sie können dieses Risiko verringern, indem Sie mehrere Kerberos-Server und Fallback-Authentifizierungsmechanismen verwenden.
  • Da die gesamte Authentifizierung von einem zentralen KDC gesteuert wird, können alle Kompromisse in dieser Infrastruktur, z. B. das Kennwort des Benutzers für eine gestohlene lokale Arbeitsstation, einem Angreifer die Identität eines beliebigen Benutzers ermöglichen. Sie können dieses Risiko in gewissem Maße verringern, indem Sie nur einen Desktop-Computer oder Laptop verwenden, dem Sie vertrauen, oder indem Sie die Vorauthentifizierung mittels eines Hardware-Token erzwingen.

Um die Kerberos-Authentifizierung verwenden zu können, müssen Sie sie auf der Citrix ADC Appliance und auf jedem Client konfigurieren.

Optimierung der Kerberos-Authentifizierung bei Authentifizierung, Autorisierung und Überwachung

Die Citrix ADC Appliance optimiert und verbessert jetzt die Systemleistung während der Kerberos-Authentifizierung. Der Authentifizierungs-, Autorisierungs- und Auditing-Daemon merkt sich die ausstehende Kerberos-Anfrage für denselben Benutzer, um die Belastung des Key Distribution Centers (KDC) zu vermeiden, wodurch doppelte Anforderungen vermieden werden.