NTLM
NTLM (kurz für NT LAN Manager) ist ein Authentifizierungsverfahren für Rechnernetze. Es verwendet eine Challenge-Response-Authentifizierung.
Durch den Einsatz von NTLM über HTTP ist ein Single Sign-on auf Webservern oder Proxyservern unter Verwendung des Berechtigungsnachweises (Credentials) der Windows-Benutzeranmeldung möglich.
Historie
NTLM war ursprünglich ein proprietäres Protokoll des Unternehmens Microsoft und daher fast ausschließlich in Produkten dieses Herstellers implementiert. Dank Reverse Engineering unterstützen jedoch beispielsweise auch Samba, Squid, Mozilla Firefox, cURL, Opera und der Apache HTTP Server dieses Protokoll. Anfang 2007 hat Microsoft seine Spezifikation auf Druck der Vereinigten Staaten und der Europäischen Union veröffentlicht.[1]
Der Vorgänger des NTLM-Protokolls ist LM (LAN Manager), das schon im Betriebssystem OS/2 zum Einsatz kam. NTLM behob das Problem, dass lange Passwörter angreifbarer als kurze Passwörter sein konnten.[2] Aufgrund weiterer Sicherheitsprobleme wurde NTLMv2 entwickelt und die frühere Version fortan NTLMv1 genannt. Auch in NTLMv2 sind Sicherheitsprobleme bekannt: Responses können abgefangen werden, um Replay-Angriffe auf den Server und Reflection-Angriffe auf den Client durchzuführen.[3]
Ablauf einer Authentifizierung
Eine Authentifizierung über NTLM beginnt damit, dass der Client den Benutzernamen an den Server sendet.[4] Der Server sendet daraufhin als Challenge eine Zufallszahl an den Client. Der Client sendet als Response die mit dem Hashwert des Benutzerpassworts verschlüsselte Zufallszahl zurück. Der Server verschlüsselt ebenfalls die Zufallszahl mit dem Hashwert des Benutzerpassworts, das er in seiner Datenbank oder vom Domain Controller hat, vergleicht die beiden Ergebnisse und bestätigt bei Übereinstimmung die Authentifizierung. Das Benutzerpasswort wird also nicht über das unsichere Medium gesendet.
Eine Alternative zu NTLM ist das Protokoll Kerberos, das auch unter Windows seit der Einführung des Active Directory mit Windows 2000 standardmäßig zum Einsatz kommt.[5] Wenn eine Authentifizierung mittels Kerberos nicht möglich ist, wird aber automatisch NTLM verwendet.[6] Den Port für NTLM wählt Windows in der Grundeinstellung dynamisch.[7]
Secure Password Authentication, kurz SPA, nennt Microsoft die Authentifizierung über NTLM für Microsoft Exchange Server.
LmCompatibilityLevel
Mit den LmCompatibilityLevel kann konfiguriert werden, welche Authentifizierungs-Mechanismen der Client verwenden soll. Hier wird zwischen LM-, NTLM- und NTLMv2 Authentifizierungen unterschieden.
- 0 = Clients nutzen die LM- und NTLM-Authentifizierung
- 1 = Clients nutzen die LM- und NTLM-Authentifizierung sowie die NTLMv2-Authentifizierung
- 2 = Clients nutzen nur die NTLM- und NTLMv2-Authentifizierung.
- 3 = Clients nutzen nur die NTLMv2-Authentifizierung. Domänencontroller akzeptieren LM-, NTLM- und NTLMv2-Authentifizierung.
- 4 = Clients nutzen nur die NTLMv2-Authentifizierung. Domänencontroller lehnen LM-Authentifizierung ab und akzeptieren nur NTLM- und NTLMv2-Authentifizierung.
- 5 = Clients nutzen nur die NTLMv2-Authentifizierung. Domänencontroller lehnen LM- und NTLM-Authentifizierung ab und akzeptieren nur NTLMv2-Authentifizierung.
Einzelnachweise
- NT LAN Manager (NTLM) Authentication Protocol Specification. Microsoft. Abgerufen am 17. August 2010.
- How to disable LM authentication on Windows NT. Microsoft. Abgerufen am 27. August 2015.
- Authentifizierung unter Windows: Ein schwelendes Sicherheitsproblem. Verlag Heinz Heise. 16. August 2010. Abgerufen am 17. August 2010.
- Microsoft NTLM. Microsoft. Abgerufen am 17. August 2010.
- Kerberos and Windows 2000. TechGenix. Abgerufen am 17. August 2010.
- Kerberos im LOCAL SYSTEM Kontext und NTLM Fallback. Microsoft. 12. April 2010. Abgerufen am 17. August 2010.
- How Interactive Logon Works. Microsoft. Abgerufen am 17. August 2010.