Wie Citrix ADC Kerberos für die Clientauthentifizierung implementiert
Wichtig
Kerberos/NTLM-Authentifizierung wird nur in NetScaler 9.3 nCore Version oder höher unterstützt und kann nur für die Authentifizierung, Autorisierung und Überwachung von virtuellen Servern zur Datenverkehrsverwaltung verwendet werden.
Citrix ADC behandelt die Komponenten, die an der Kerberos-Authentifizierung beteiligt sind, folgendermaßen:
Schlüsselverteilungszentrum (KDC)
In Windows 2000 Server oder höher sind der Domänencontroller und der KDC Teil des Windows Servers. Wenn der Windows Server UP ist und ausgeführt wird, gibt es an, dass der Domänencontroller und KDC konfiguriert sind. Der KDC ist auch der Active Directory -Server.
Hinweis:
Alle Kerberos-Interaktionen werden mit dem Windows Kerberos-Domänencontroller validiert.
Authentifizierungsdienst und Protokollverhandlung
Eine Citrix ADC Appliance unterstützt die Kerberos-Authentifizierung auf den virtuellen Servern zur Authentifizierung, Autorisierung und Überwachung der Datenverkehrsverwaltung. Wenn die Kerberos-Authentifizierung fehlschlägt, verwendet Citrix ADC die NTLM-Authentifizierung.
Standardmäßig verwenden Windows 2000 Server und höhere Windows Server-Versionen Kerberos für Authentifizierung, Autorisierung und Überwachung. Wenn Sie eine Authentifizierungsrichtlinie mit Negotiate als Authentifizierungstyp erstellen, versucht Citrix ADC, das Kerberos-Protokoll für die Authentifizierung, Autorisierung und Überwachung zu verwenden. Wenn der Browser des Clients kein Kerberos-Ticket empfängt, verwendet Citrix ADC die NTLM-Authentifizierung. Dieser Prozess wird als Verhandlung bezeichnet.
Der Kunde kann ein Kerberos-Ticket in einem der folgenden Fälle nicht erhalten:
- Kerberos wird auf dem Client nicht unterstützt.
- Kerberos ist auf dem Client nicht aktiviert.
- Der Client befindet sich in einer anderen Domäne als der KDC.
- Auf das Access Directory auf dem KDC kann der Client nicht zugegriffen werden.
Für die Kerberos/NTLM-Authentifizierung verwendet Citrix ADC nicht die Daten, die lokal auf der Citrix ADC-Appliance vorhanden sind.
Ermächtigung
Der virtuelle Server für die Datenverkehrsverwaltung kann ein virtueller Lastausgleichsserver oder ein virtueller Content Switching-Server sein.
Überwachung
Die Citrix ADC Appliance unterstützt die Überwachung der Kerberos-Authentifizierung mit der folgenden Überwachungsprotokollierung:
- Vollständiger Audit-Pfad der Traffic-Management-Endbenutzeraktivität
- SYSLOG- und Hochleistungs-TCP-Protokollierung
- Vollständiger Prüfpfad der Systemadministratoren
- Alle Systemereignisse
- Skriptfähiges Protokollformat
Unterstützte Umgebung
Die Kerberos-Authentifizierung erfordert keine spezifische Umgebung auf dem Citrix ADC. Der Client (Browser) muss Unterstützung für die Kerberos-Authentifizierung bereitstellen.
Hohe Verfügbarkeit
Bei einem Hochverfügbarkeitssetup tritt nur der aktive Citrix ADC der Domäne bei. Im Falle eines Failovers verbindet der Citrix ADC lwagent Daemon die sekundäre Citrix ADC-Appliance mit der Domäne. Für diese Funktionalität ist keine spezifische Konfiguration erforderlich.
Kerberos-Authentifizierungsprozess
Die folgende Abbildung zeigt einen typischen Prozess für die Kerberos-Authentifizierung in der Citrix ADC Umgebung.
Abbildung 1. Kerberos-Authentifizierungsprozess auf Citrix ADC
Die Kerberos-Authentifizierung erfolgt in den folgenden Phasen:
Client authentifiziert sich beim KDC
- Die Citrix ADC Appliance empfängt eine Anforderung von einem Client.
- Der virtuelle Server zur Datenverkehrsverwaltung (Load Balancing oder Content Switching) auf der Citrix ADC Appliance sendet eine Herausforderung an den Client.
- Um auf die Herausforderung zu reagieren, erhält der Kunde ein Kerberos-Ticket.
- Der Client sendet dem Authentifizierungsserver des KDC eine Anforderung für ein Ticket Granting Ticket (TGT) und erhält den TGT. (Siehe 3, 4 in der Abbildung Kerberos-Authentifizierungsprozess.)
- Der Client sendet den TGT an den Ticket Granting Server des KDC und erhält ein Kerberos-Ticket. (Siehe 5, 6 in der Abbildung Kerberos-Authentifizierungsprozess.)
Hinweis:
Der oben genannte Authentifizierungsprozess ist nicht erforderlich, wenn der Client bereits über ein Kerberos-Ticket verfügt, dessen Lebensdauer noch nicht abgelaufen ist. Darüber hinaus erhalten Clients wie Webdienste, .NET oder J2EE, die SPNEGO unterstützen, ein Kerberos-Ticket für den Zielserver, erstellen ein SPNEGO-Token und fügen das Token in den HTTP-Header ein, wenn sie eine HTTP-Anforderung senden. Sie durchlaufen nicht den Clientauthentifizierungsprozess.
Der Client fordert einen Dienst an.
- Der Client sendet das Kerberos-Ticket, das das SPNEGO-Token und die HTTP-Anforderung enthält, an den virtuellen Server für die Datenverkehrsverwaltung auf dem Citrix ADC. Das SPNEGO-Token verfügt über die notwendigen GSSAPI-Daten.
- Die Citrix ADC-Appliance erstellt einen Sicherheitskontext zwischen dem Client und dem Citrix ADC. Wenn Citrix ADC die im Kerberos-Ticket angegebenen Daten nicht akzeptieren kann, wird der Client aufgefordert, ein anderes Ticket zu erhalten. Dieser Zyklus wiederholt sich, bis die GSSAPI-Daten akzeptabel sind und der Sicherheitskontext eingerichtet ist. Der virtuelle Server zur Datenverkehrsverwaltung auf dem Citrix ADC fungiert als HTTP-Proxy zwischen dem Client und dem physischen Server.
Die Citrix ADC Appliance schließt die Authentifizierung ab.
- Nachdem der Sicherheitskontext abgeschlossen ist, überprüft der virtuelle Server für die Datenverkehrsverwaltung das SPNEGO-Token.
- Aus dem gültigen SPNEGO-Token extrahiert der virtuelle Server die Benutzer-ID und die GSS-Anmeldeinformationen und übergibt sie an den Authentifizierungsdaemon.
- Eine erfolgreiche Authentifizierung schließt die Kerberos-Authentifizierung ab.