Wie funktioniert die LDAP-Authentifizierung?

Wie funktioniert die LDAP-Authentifizierung?

Ich habe ziemlich viel über LDAP gelesen, aber es gibt etwas, das ich nicht verstehe.

Nehmen wir an, ich habe eine J2EE-App, die sowohl lokale Benutzer als auch LDAP-Benutzer authentifizieren kann (sich gegenseitig ausschließende Alternativen). Nachdem ich in der App die IP-Adresse des LDAP-Servers, den Basis-DN, den Verbindungs-DN und das Passwort angegeben habe, können sich meine Benutzer jetzt mit ihren LDAP-Informationen anmelden.

Nehmen wir nun an, dass sich „myuser“ mit dem Kennwort „mypassword“ bei der Anwendung anmeldet. Was von Folgendem passiert?

  1. Die App empfängt die Anmeldeanforderung, bindet sich dann unter Verwendung ihrer eigenen Anmeldeinformationen an LDAP an, sucht dann den Eintrag für „myuser“, vergleicht „mypassword“ mit dem im LDAP-Verzeichnis für den übereinstimmenden Eintrag gespeicherten Kennwort und erlaubt oder verweigert dann den Zugriff.

  2. Die App empfängt die Anmeldeanforderung, übergibt dann die Anmeldeinformationen „myuser“ und „mypassword“ an LDAP (Bind-DN ​​und Kennwort) und lässt den Benutzer dann, abhängig von der für den Bindungsvorgang empfangenen Antwort, zu oder lehnt ihn ab.

Wie funktioniert es wirklich?

Antwort1

So wie ich es verstehe (und ich bin kein Experte auf diesem Gebiet), ist es eher 1 als 2, aber nicht ganz richtig. Die App empfängt die Anmeldeanforderung. Sie bindet sich mit ihren eigenen Anmeldeinformationen an LDAP, wobei das Kennwort im Klartext übertragen wird (weshalb LDAPS oder LDAP, das über TLS eskaliert, eine gute Idee ist). Diese Anmeldeinformationen müssen ausreichend privilegiert sein, damit der LDAP-Server eine Suche nach verschiedenen gespeicherten Parametern in Bezug auf myuserdas Konto von zulässt, einschließlich des gespeicherten, gehashten Benutzerkennworts.

Die App hasht dann mypasswordden vom Benutzer angegebenen Hash und vergleicht ihn mit dem von LDAP zurückgegebenen Hash. Wenn sie übereinstimmen, weiß sie, dass die angegebenen Anmeldeinformationen gültig sind und myuser authentifiziert ist; wenn nicht, dann nicht.

verwandte Informationen