ldap. ¿Qué es binddn_passwd?

ldap. ¿Qué es binddn_passwd?

Instalé Nginx con LDAP, funciona. Pero no puedo entender el propósito de "binddn" y "binddn_passwd".



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"; 
} 

Cuando abro el navegador, ingreso el nombre de usuario y la contraseña de mi dominio. Sin estos parámetros la autenticación no funciona. Gracias.

Respuesta1

Efectivamente, existen dos enfoques para utilizar LDAP para la autenticación.

  • El primero intenta utilizar el nombre de usuario y la contraseña que ingresó en el navegador web parauniral servidor ldap (este es el lenguaje LDAP que significa iniciar sesión en el servidor LDAP). Si la vinculación se realiza correctamente, el nombre de usuario y la contraseña serán correctos y habrá iniciado sesión en su sitio web. Sin embargo, esto requiere que el servidor LDAP esté configurado para permitir este tipo de operación, lo que no siempre es el caso.
  • El segundo método funciona incluso si el primero no está permitido. Con este método, el cliente LDAP (nginx en su caso) se vincula al servidor LDAP como un usuario al que se le permite verificar a otros usuarios y luego usar los datos proporcionados en el navegador web para verificar al usuario e informar. Para hacer esto, necesita saber qué usuario (Nombre distinguidoo DNen lenguaje LDAP) y qué contraseña se debe utilizar para este enlace. Se configuran en los parámetros binddny binddn_passwden nginx.

Respuesta2

Basado en este githubpágina. Parecería que 'binddn' es el nombre de usuario con el que inicia sesión en el servidor ldap junto con binddn_passwd como contraseña. Algunos servidores de enlace requieren un inicio de sesión antes de revelar información a una conexión.

Respuesta3

El servidor Ldap requiere un nombre de usuario distinguido (algo como cn=Usuario de prueba,ou=algo,dc=ejemplo,dc=org) para autenticar al usuario. Pero en la mayoría de los casos los usuarios prefieren iniciar sesión simplemente como "Usuario de prueba". Entonces, para obtener el nombre distinguido del registro de usuario, el cliente (nginx) debe conectarse al servidor ldap y encontrar el registro cuyo atributo de inicio de sesión de usuario (sAMAccountName en su caso) es igual al nombre de usuario. Si el servidor permite que un usuario anónimo se conecte y realice dicha búsqueda, no se requieren binddn y binddn_password, pero si el servidor está seguro, debe proporcionar credenciales para realizar una búsqueda.

Después de obtener el DN del usuario (si la consulta de búsqueda arrojó algún resultado), el cliente se vincula (autentica) en el servidor ldap con el DN del usuario y la contraseña del usuario. Si tuvo éxito, usuario autenticado.

información relacionada