3 votes

Problèmes d'authentification OpenLDAP UID vs CN

J'ai des difficultés à authentifier les services en utilisant l'uid pour l'authentification, alors que je pensais que c'était la méthode standard pour l'authentification de l'utilisateur. Donc, en gros, mes utilisateurs sont ajoutés dans ldap comme ceci :

# jsmith, Users, example.com
dn: uid=jsmith,ou=Users,dc=example,dc=com
uidNumber: 10003
loginShell: /bin/bash
sn: Smith
mail: jsmith@example.com
homeDirectory: /home/jsmith
displayName: John Smith
givenName: John
uid: jsmith
gecos: John Smith
gidNumber: 10000
cn: John Smith
title: System Administrator

Mais lorsque j'essaie de m'authentifier en utilisant des webapps ou des services typiques comme celui-ci :

jsmith
password

J'ai compris :

ldapsearch -x -h ldap.example.com -D "cn=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"
Enter LDAP Password:
ldap_bind: Invalid credentials (49)

Mais si j'utilise :

ldapsearch -x -h ldap.example.com -D "uid=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"

Ça marche.

CEPENDANT... la plupart des webapps et des méthodes d'authentification semblent utiliser une autre méthode. Ainsi, sur une application web que j'utilise, à moins que je ne spécifie l'utilisateur comme : uid=smith,ou=users,dc=example,dc=com Rien ne fonctionne.

Dans la webapp, j'ai juste besoin que les utilisateurs mettent : jsmith dans le champ utilisateur.

Gardez à l'esprit que mon Ldap utilise le "nouveau". cn=config méthode de stockage des paramètres. Donc si quelqu'un a un ldif évident que j'ai manqué, merci de le fournir.

Faites-moi savoir si vous avez besoin de plus d'informations. C'est OpenLDAP sur Ubuntu 12.04.

2voto

Terry Gardner Points 632

Le site ldapsearch dans votre exemple utilise simplement BIND pour modifier l'état d'autorisation de la connexion. L'opération BIND simple nécessite le paramètre nom distingué et les références. Le nom distinctif est uid=jsmith,ou=Users,dc=example,dc=com pas cn=jsmith,ou=Users,dc=example,dc=com dans l'entrée donnée en exemple.

Cette configuration du serveur d'annuaire fait en sorte que le serveur renvoie le code de résultat pour invalid credentials alors qu'en réalité le nom distingué cn=jsmith,ou=Users,dc=example,dc=com n'existe pas. Il s'agit de la configuration recommandée : elle fournit moins d'informations à un attaquant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X