ldap. Was ist binddn_passwd

ldap. Was ist binddn_passwd

Ich habe Nginx mit LDAP installiert, es funktioniert. Aber ich verstehe den Zweck von „binddn“ und „binddn_passwd“ nicht.



ldap_server dc1 { 
url ldap://dc1.alexlinux.lan:3268/DC=alexlinux,DC=lan?sAMAccountName?sub?(objectClass=person); 
binddn "alexlinux\\comp"; 
binddn_passwd 123; 
group_attribute member; 
group_attribute_is_dn on; 
require valid_user; 
require group "CN=systemtest,OU=Groups,DC=alexlinux,DC=lan"; 
} 

Wenn ich den Browser öffne, gebe ich meinen Domänen-Login und mein Passwort ein. Ohne diese Parameter funktioniert die Authentifizierung nicht. Danke.

Antwort1

Tatsächlich gibt es zwei Ansätze, um LDAP zur Authentifizierung zu verwenden.

  • Der erste versucht, den Benutzernamen und das Passwort, die Sie im Webbrowser eingegeben haben, zu verwenden, umbindenzum LDAP-Server (das ist LDAP-Sprache und bedeutet, sich beim LDAP-Server anzumelden). Wenn die Bindung erfolgreich ist, waren Benutzername und Passwort korrekt und Sie sind bei Ihrer Website angemeldet. Dies erfordert jedoch, dass der LDAP-Server so konfiguriert ist, dass diese Art von Vorgang zulässig ist, was nicht immer der Fall ist.
  • Die zweite Methode funktioniert auch, wenn die erste nicht zulässig ist. Bei dieser Methode nginxbindet sich der LDAP-Client (in Ihrem Fall) als Benutzer an den LDAP-Server, der andere Benutzer überprüfen darf, und verwendet dann die im Webbrowser bereitgestellten Daten, um den Benutzer zu überprüfen und eine Rückmeldung zu geben. Dazu muss er wissen, welcher Benutzer (Distinguished Nameoder DNin LDAP-Sprache) und welches Passwort für diese Bindung verwendet werden soll. Diese werden in den Parametern binddnund binddn_passwdin konfiguriert nginx.

Antwort2

Basierend auf diesem GithubSeite. Es scheint, dass „binddn“ der Benutzername ist, mit dem Sie sich beim LDAP-Server anmelden, und „binddn_passwd“ das Passwort ist. Einige Bind-Server erfordern eine Anmeldung, bevor sie Informationen an eine Verbindung weitergeben.

Antwort3

Der LDAP-Server erfordert einen eindeutigen Benutzernamen (etwa cn=Testbenutzer, ou=etwas, dc=Beispiel, dc=org), um den Benutzer zu authentifizieren. In den meisten Fällen möchten sich Benutzer jedoch lieber nur als „Testbenutzer“ anmelden. Um den eindeutigen Namen des Benutzerdatensatzes zu erhalten, sollte der Client (nginx) eine Verbindung zum LDAP-Server herstellen und einen Datensatz suchen, dessen Benutzeranmeldeattribut (in Ihrem Fall sAMAccountName) dem Benutzernamen entspricht. Wenn der Server anonymen Benutzern die Verbindung und Durchführung einer solchen Suche erlaubt, sind binddn und binddn_password nicht erforderlich, aber wenn der Server gesichert ist, müssen Sie Anmeldeinformationen angeben, um eine Suche durchzuführen.

Nachdem der Benutzer-DN ermittelt wurde (sofern die Suchanfrage Ergebnisse geliefert hat), bindet sich der Client mit dem Benutzer-DN und dem Benutzerkennwort an den LDAP-Server (authentifiziert sich dort). Bei Erfolg ist der Benutzer authentifiziert.

verwandte Informationen