Wie NetScaler Kerberos für die Clientauthentifizierung implementiert
Wichtig
Die Kerberos/NTLM-Authentifizierung wird nur in der NetScaler 9.3 nCore-Version oder höher unterstützt und kann nur für die Authentifizierung, Autorisierung und Überwachung virtueller Server für das Verkehrsmanagement verwendet werden.
NetScaler behandelt die an der Kerberos-Authentifizierung beteiligten Komponenten wie folgt:
Wichtiges Vertriebszentrum (KDC)
In den Versionen von Windows 2000 Server oder höheren Versionen sind der Domänencontroller und das KDC Teil des Windows Server. Wenn der Windows Server in Betrieb ist und läuft, bedeutet dies, dass der Domänencontroller und das KDC konfiguriert sind. Das KDC ist auch der Active Directory-Server.
Hinweis
Alle Kerberos-Interaktionen werden mit dem Windows-Kerberos-Domänencontroller validiert.
Authentifizierungsservice和Protokollverhandlung
Eine NetScaler-Appliance unterstützt die Kerberos-Authentifizierung auf den virtuellen Authentifizierungs-, Autorisierungs- und Auditing-Traffic-Management-Authentifizierungsservern. Wenn die Kerberos-Authentifizierung fehlschlägt, verwendet der NetScaler die NTLM-Authentifizierung.
Standardmäßig verwenden Windows 2000 Server und neuere Windows Server-Versionen Kerberos für die Authentifizierung, Autorisierung und Überwachung. Wenn Sie eine Authentifizierungsrichtlinie mit NEGOTIATE als Authentifizierungstyp erstellen, versucht NetScaler, das Kerberos-Protokoll für die Authentifizierung, Autorisierung und Überwachung zu verwenden. Wenn der Browser des Clients kein Kerberos-Ticket empfängt, verwendet der NetScaler die NTLM-Authentifizierung. Dieser Prozess wird als Verhandlung bezeichnet.
In einem der folgenden Fälle kann es vorkommen, dass der Client kein Kerberos-Ticket erhält:
- Kerberos将客户不改unterstutzt。
- Kerberos ist auf dem Client nicht aktiviert.
- Der Client befindet sich in einer anderen Domäne als der des KDC.
- Das Access Directory auf dem KDC ist für den Client nicht zugänglich.
Für die Kerberos/NTLM-Authentifizierung verwendet der NetScaler nicht die Daten, die lokal auf der NetScaler-Appliance vorhanden sind.
Autorisierung
Der virtuelle Server für das Verkehrsmanagement kann ein virtueller Lastausgleichsserver oder ein virtueller Content-Switching-Server sein.
Auditing
Die NetScaler-Appliance unterstützt die Überwachung der Kerberos-Authentifizierung mit der folgenden Überwachungsprotokollierung:
- Vollständiges Prüfprotokoll der Aktivitäten der Endnutzer im Verkehrsmanagement
- SYSLOG und leistungsstarkes TCP-Logging
- Vollständiges Prüfprotokoll der Systemadministratoren
- Alle Systemereignisse
- Skriptfähiges Protokollformat
Unterstützte Umgebung
Die Kerberos-Authentifizierung benötigt keine spezielle Umgebung auf dem NetScaler. Der Client (Browser) muss die Kerberos-Authentifizierung unterstützen.
Hohe Verfügbarkeit
In einem Hochverfügbarkeits-Setup tritt nur der aktive NetScaler der Domäne bei. Im Falle eines Failovers verbindet der NetScaler lwagent-Daemon die sekundäre NetScaler-Appliance mit der Domäne. Für diese Funktion ist keine spezielle Konfiguration erforderlich.
Kerberos-Authentifizierungsprozess
Die folgende Abbildung zeigt einen typischen Prozess für die Kerberos-Authentifizierung in der NetScaler-Umgebung.
Abbildung 1. Kerberos-Authentifizierungsprozess auf NetScaler
Die Kerberos-Authentifizierung erfolgt in den folgenden Phasen:
Der Client authentifiziert sich beim KDC
- Die NetScaler-Appliance empfängt eine Anfrage von einem Client.
- Der virtuelle Server für das Verkehrsmanagement (Load Balancing oder Content Switching) auf der NetScaler-Appliance sendet eine Anfrage an den Client.
- Um auf die Herausforderung zu antworten, erhält der Kunde ein Kerberos-Ticket.
- Der Client sendet dem Authentifizierungsserver des KDC eine Anfrage für ein Ticket zur Ticketgewährung (TGT) und empfängt das TGT. (Siehe 3, 4 in der Abbildung, Kerberos-Authentifizierungsprozess.)
- Der Client sendet das TGT an den Ticket Granting Server des KDC und erhält ein Kerberos-Ticket. (Siehe 5, 6 in der Abbildung, Kerberos-Authentifizierungsprozess.)
Hinweis
Der obige Authentifizierungsprozess坚持不erforderlich, wenn der Client bereits über ein Kerberos-Ticket verfügt, dessen Gültigkeitsdauer noch nicht abgelaufen ist. Darüber hinaus erhalten Clients wie Web Services, .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-Anfrage senden. Sie durchlaufen den Client-Authentifizierungsprozess nicht.
Der Kunde fordert einen Service an.
- Der Client sendet das Kerberos-Ticket, das das SPNEGO-Token und die HTTP-Anfrage enthält, an den virtuellen Traffic Management-Server auf dem NetScaler. Das SPNEGO-Token verfügt über die notwendigen GSSAPI-Daten.
- Die NetScaler-Appliance stellt einen Sicherheitskontext zwischen dem Client und dem NetScaler her. Wenn der NetScaler die im Kerberos-Ticket bereitgestellten 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 Traffic Management-Server auf dem NetScaler fungiert als HTTP-Proxy zwischen dem Client und dem physischen Server.
Die NetScaler-Appliance schließt die Authentifizierung ab.
- Nachdem der Sicherheitskontext abgeschlossen ist, validiert der virtuelle Server für das Verkehrsmanagement 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.