Kerberos

Kerberos ist ein Authentifizierungsprotokoll, welches mit Windows 2000 und Active Directory den Einzug in den Massenmarkt erfahren hat. Natürlich ist Kerberos nichts "Windows spezifisches" sondern erst einmal offen und kann auch von anderen Systemen verwendet werden. Anders als bei den Anmeldeverfahren "Basic" und "NTLM", welche z.B. bei Webseiten oder Dateishares oft zum Einsatz kamen, werden bei Kerberos keine Kennworte mehr übertragen sondern "Tickets". Sie können sich das tatsächlich wie Fahrscheine des Nahverkehrs vorstellen, die für eine bestimmte Verbindung für eine Zeit gelten, aber vom Zugbegleiter akzeptiert werden, wenn Sie einer Überprüfung standhalten.

Kerberos ist ein Protokoll um einen Zugriff auf einen Ressource zu erhalten. Es ist ein "Authentifizierungsprotokoll", d.h. das angesprochene System kann prüfen, wer ich bin. Es muss aber weitere eigene Methoden anwenden, um meine Berechtigungen zu prüfen. Ein Windows Dateiserver erhält also per Kerberos eine gesicherte Information über meine Identität und z.B. meine Gruppenmitgliedschaften. Der Server muss aber selbst z.B. über das Dateisystem NTFS prüfen, was ich denn nun real erreichen darf. (Autorisierung)

Es gibt eine ganze Menge von Gründen, warum sie Kerberos den anderen Anmeldeverfahren vorziehen sollten bzw. viele Dienste von sich aus schon "Negotiate" nutzen.

  • NTLM-Anfragen an einen Server erfordern, dass dieser Server einen "Secure Channel" zu einem DC aufbaut. Die Anzahl dieser Channels auf einem DC ist aber beschränkt. Das ist also ein Problem z.B. für Server mit vielen Clients wie z.B. Dateiserver, Webserver, Exchange CAS-Server
  • Für jeden Dienst ist nur ein Kerberos Token erforderlich. Bei NTLM muss für jede Session (auch zum gleichen Dienst und Outlook nutzt viele Sessions) ein eigenes Token erstellt werden
  • Kerberos ist sicherer als NTLM und andere noch schwächere Anmeldeverfahren.
  • DCs haben nur eine beschränkte Anzahl von Threads zur Bearbeitung von NTLM-Anfragen (Default = 2, Max = 150, siehe auch KB975363)
  • Performance
    Die für NTLM erforderlichen Rückfragen vom Server zum DC etc. sind zusätzliche Pakete und vor allem bedeuten diese zusätzliche Verzögerungen und kosten Performance.

Aber es gibt auch Umfelder, in denen Kerberos nicht funktioniert, z.B. wenn ein Client aus dem Internet ohne Verbindung zum KDC arbeiten muss. Dann kann er kein Ticket erhalten. Dazu zählen aber nicht Clients, die per VPN oder Direct Access einen KDC erreichen können.

Die folgenden Seiten gehen genauer auf die Funktion von Kerberos ein.

Ich hoffe die Seiten haben etwas mehr Licht in die Thematik "Kerberos" und Anmeldung gebracht.

Weitere Links