Para proteger un entorno OpenLDAP, estoy investigando cuáles son las mejores prácticas de seguridad con respecto a la autenticación de usuarios con contraseñas (por ejemplo, sin autenticación Kerberos o certificado de cliente SSL).
Por lo que entiendo, hay dos enfoques para la autenticación de usuarios:
- Comparando la contraseña con el atributo userPassword.
- El cliente se enlaza al servidor LDAP usando un usuario de enlace específico
- El cliente envía una consulta LDAP para recuperar la entrada del usuario
- El cliente extrae el esquema de hashing UserPassword
- El cliente hace un hash de la contraseña proporcionada por el usuario con el esquema de hashing extraído y lo compara con la contraseña de hased en el atributo userPassword
- Si ambos hashes coinciden, el usuario se autentica correctamente, de lo contrario, la autenticación falló
- Enlace LDAP con usuario y contraseña
- El cliente se enlaza al servidor LDAP usando el usuario que desea iniciar sesión y la contraseña que proporcionó
- Si el enlace LDAP fue exitoso, la autenticación fue exitosa, de lo contrario la autenticación falló
Parece que muchas implementaciones todavía están utilizando el primer enfoque, mientras que el segundo enfoque parece ser más seguro y también permite pasar a través autenticación .
- Si los usuarios necesitan ser autenticados con una contraseña, ¿cuáles son las mejores prácticas de seguridad para autenticarse en LDAP y están documentadas en alguna parte?
- ¿Hay otros enfoques que no sean los descritos anteriormente?