Authentifizierung, Autorisierung und Audits mit Kerberos/NTLM
Kerberos, ein Authentifizierungsprotokoll für Computernetzwerke, bietet sichere Kommunikation über das Internet. Es wurde hauptsächlich für Client-Server-Anwendungen entwickelt und ermöglicht eine gegenseitige Authentifizierung, bei der Client und Server jeweils die Authentizität des anderen sicherstellen können. Kerberos verwendet einen vertrauenswürdigen Drittanbieter, das 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) hat einen geheimen Schlüssel, der nur ihr selbst und dem KDC bekannt ist. Die Kenntnis dieses Schlüssels setzt die Authentizität der Entität voraus. Für die Kommunikation zwischen zwei Entitäten im Netzwerk generiert das KDC einen Sitzungsschlüssel, der als Kerberos-Ticket oder Serviceticket bezeichnet wird. Der Client fordert beim AS Anmeldeinformationen für einen bestimmten Server an. Der Kunde erhält dann ein Ticket, das als Ticket Granting Ticket (TGT) bezeichnet wird. Der Kunde kontaktiert dann das TGS und verwendet das TGT, das er von der AS erhalten hat, um seine Identität nachzuweisen, und bittet um eine Dienstleistung. Wenn der Kunde für den Service in Frage kommt, stellt das TGS dem Kunden ein Kerberos-Ticket aus. Der Client kontaktiert dann den Server, der den Dienst hostet (der als Serviceserver bezeichnet wird) und verwendet das Kerberos-Ticket, um nachzuweisen, dass er für den Empfang des Dienstes autorisiert ist. Das Kerberos-Ticket hat eine konfigurierbare Lebensdauer. Der Client authentifiziert sich nur einmal beim AS. Wenn es den physischen Server mehrmals kontaktiert, verwendet es das AS-Ticket erneut.
Die folgende Abbildung zeigt die grundlegende Funktionsweise des Kerberos-Protokolls.
Abbildung 1. Funktionsweise von Kerberos
Die Kerberos-Authentifizierung hat die folgenden 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. Für die Client-Authentifizierung muss kein Domänencontroller kontaktiert werden, weshalb der Authentifizierungsprozess schneller ist.
- Gegenseitige Authentifizierung. Wenn das KDC einem Client ein Kerberos-Ticket ausstellt und der Client das Ticket verwendet, um auf einen Dienst zuzugreifen, können nur authentifizierte Server das Kerberos-Ticket entschlüsseln. Wenn der virtuelle Server auf der NetScaler-Appliance das Kerberos-Ticket entschlüsseln kann, können Sie daraus schließen, 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.
Die Kerberos-Authentifizierung kann die folgenden 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 mildern, indem Sie die Network Time Protocol-Daemons verwenden, um die Host-Uhren synchron zu halten. Kerberos-Tickets haben einen Verfügbarkeitszeitraum, den Sie konfigurieren können.
- Kerberos benötigt, dass der zentrale Server kontinuierlich verfügbar ist. Wenn der Kerberos-Server ausgefallen ist, kann sich niemand anmelden. Sie können dieses Risiko minimieren, indem Sie mehrere Kerberos-Server und Fallback-Authentifizierungsmechanismen verwenden.
- Da die gesamte Authentifizierung von einem zentralen KDC gesteuert wird, kann jede Beeinträchtigung dieser Infrastruktur, z. B. der Diebstahl des Benutzerkennworts für eine lokale Workstation, es einem Angreifer ermöglichen, sich für einen beliebigen Benutzer auszugeben. Sie können dieses Risiko bis zu einem gewissen Grad mindern, indem Sie nur einen Desktop-Computer oder Laptop verwenden, dem Sie vertrauen, oder indem Sie die Vorauthentifizierung mithilfe eines Hardware-Tokens erzwingen.
Um die Kerberos-Authentifizierung verwenden zu können, müssen Sie sie auf der NetScaler-Appliance und auf jedem Client konfigurieren.
Optimierung der Kerberos-Authentifizierung bei Authentifizierung, Autorisierung und Überwachung
Die NetScaler Appliance optimiert und verbessert jetzt die Systemleistung bei 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.