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 DirectAccess einen KDC erreichen können.
Die folgenden Seiten gehen genauer auf die Funktion von Kerberos ein.
-
Kerberos
Grundlagen
Eine nicht zu technische Beschreibung, wie ein Anwender zu seinem Ticket kommt und was der ServicePrincipalName damit zu tun hat. -
Kerberos Service Principal Names (SPN)
Woher weiß der KDC, welche Tickets er wie ausstellen muss ? -
Kerberos Ticketsize
und Gruppen
Warum viele Gruppenmitgliedschaften Probleme machen -
Kerberos Constraint
Delegation
Im Auftrag eines Benutzers zugreifen und das leidige "Double Hop"-Problem bei Webanwendungen. -
Kerberos und Browser
Tücken und Tricks beim Einsatz mit Internet Browsers -
Kerberos mit anderen Systemen
z.B. wie kann ich ein Kerberos-Ticket mit einem Apache verwenden -
Kerberos Debugging
Wie kann ich Fehler finden -
E2010 CAS und
Kerberos
Kerberos beim CAS-Array aktivieren
Ich hoffe die Seiten haben etwas mehr Licht in die Thematik "Kerberos" und Anmeldung gebracht.
Weitere Links
-
DumpSPN
Ausgabe der Service Principal Names, die der KDC sucht. - Zeitsynchronisation in Netzwerken
Kerberos ist von korrekten Zeitdaten abhängig - Windows Gruppen und Berechtigungen
Kerberos Ticketsize mit Anzahl der Gruppenmitgliedschaften -
Frontend/Backend
Konstellation
Frontend nutzt Kerberos zum Backend -
CASProxy 2007
Exchange 2007 CAS nutzt Kerberos zum Backend -
ActiveSync Fehlercodes
ActiveSync nutzt Kerberos zum Backend Server -
DNS
_kerberos-Einträge im DNS -
Kerberos for the Busy Admin
http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx -
NTLM Beschreibung
http://davenport.sourceforge.net/ntlm.html -
Configuring Kerberos Authentication for Load-Balanced Client Access
Servers
http://technet.microsoft.com/en-us/library/ff808312.aspx - Troubleshooting Kerberos Errors
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx - Kerberos Authentication problems – Service Principal Name (SPN)
issues - Part 1
http://blogs.technet.com/askds/archive/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1.aspx - 264921 How IIS authenticates browser clients
- Kerberos in einer SharePoint Farm einrichten
http://weblogs.mysharepoint.de/fabianm/archive/2007/10/28/kerberos-in-einer-sharepoint-farm-einrichten.aspx - 832769 How to configure a Windows SharePoint Services virtual server to use Kerberos authentication and how to switch from Kerberos authentication back to NTLM authentication
- 327825 New resolution for problems with Kerberos authentication when users belong to many groups
- 269643 Internet Explorer Kerberos authentication does not work because of an insufficient buffer connecting to IIS
- 927265 Authentication fails when client computers use Internet Explorer 7 to authenticate with an upstream ISA Server computer through a downstream ISA Server computer that does not require authentication
- 927612 You are repeatedly prompted to enter your credentials when you try to connect to an Exchange mailbox by using Outlook 2007
- 152526 Changing the Default Interval for User Tokens in IIS
Per Default 15 Min werden Tokens von angemeldeten Usern gecached. Ein User kann also so lange auch nach einer Kennwortänderung weiter mit dem alten Kennwort arbeiten. - 927612 You are repeatedly prompted to enter your credentials when you try to connect to an Exchange mailbox by using Outlook 2007
- Kerbtray
Win2003 http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
Win2000 http://www.microsoft.com/downloads/details.aspx?familyid=4E3A58BE-29F6-49F6-85BE-E866AF8E7A88&displaylang=en - ExBPA Der Parameter „IIS 6.0 MaxFieldLength“ wurde nicht
ordnungsgemäß festgelegt
http://technet.microsoft.com/de-de/library/aa996475(EXCHG.80).aspx - 820129 INF: Http.sys Registry Settings for IIS
- Kerberos auf
http://www.computerbase.de/
http://de.wikipedia.org/wiki/Kerberos_(Informatik) - Replacing NIS with Kerberos and LDAP HOWTO
http://aput.net/~jheiss/krbldap/howto.html - Configuring Kerberos for SharePoint
http://www.hezser.de/blog/archive/2008/04/16/configuring-kerberos-for-sharepoint.aspx - RFC1510 - The Kerberos Network Authentication Service (V5)
http://www.faqs.org/rfcs/rfc1510.html - How Kerberos Authentication - Tickets
http://technet.microsoft.com/en-us/library/cc961966.aspx -
IIS (Internet Information Services) and Kerberos FAQ
IIS and Kerberos Part 1 - What is Kerberos and how does it work?
IIS and Kerberos Part 2 - Service Principal Names (SPNs)
IIS and Kerberos Part 3 - A simple scenario
IIS and Kerberos Part 4 - A simple delegation scenario
IIS and Kerberos Part 5 - Protocol Transition, Constrained Delegation, S4U2S and S4U2P
IIS and Kerberos Part 6 - What's new in IIS 7
IIS and Kerberos Part 7 - A simple cross Forest scenario
IIS and Kerberos Part 8 - A simple cross Forest/Domain scenario delegation scenario
IIS and Kerberos Part 9 - Cross Forest Delegation scenario with UPN suffix routing






