[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problème avec libpam-ldap pour utiliser ldap:// ou ldaps://



De: Pascal Legrand <pascal.legrand@univ-orleans.fr>
Pour: BOLLINGH Sebastien <sebastien.bollingh@ecolo.be>
Références: <[🔎] 6f9f-53491f80-3-609d9680@24175504>



>
> BOLLINGH Sebastien <sebastien.bollingh@ecolo.be> a écrit :
>
> > Bonjour,
> >
> > Je suis en train d'essayer de configurer l'authentification ldap  
> > pour des comptes utilisateurs sur un serveur.
> >
> > Après bien des tentatives, je parviens à faire fonctionner
> > l'authentification,
> > mais seulement en modifiant à la main le fichier de configuration
> > /etc/pam_ldap.conf
> > pour utiliser le paramètre host devant le nom du serveur LDAP, car
> > si j'utilise ldap:// ou ldaps:// cela ne fonctionne pas.
> >
> > Je trouve en effet, une erreur dans /var/log/auth.log qui signale  
> > que le ldap_bind simple n'a pas pu contacter le serveur ldap.
> > Le fait que cela fonctionne en utilisant host me laisse supposer que
> > ce n'est pas un problème d'accès mais sans doute une erreur de
> > configuration ou un outil maquant.
> > Y a-t-il autre chose à installer que cette librairie ? Parce que je
> > ne trouve rien sur cette page https://wiki.debian.org/LDAP/PAM ...
> >
> > Or, j'aimerais surtout utiliser le ldaps:// histoire de mieux sécuriser cela.
> >
> > Quelqu'un a une idée, ou carrément la solution ;-) ?
> >
> > Sébastien
>
> Je n'ai pas lu le tuto entièrement mais il ne manquerait pas la config
> du fichier  /etc/nsswitch.conf dans lequel il faut rajouter ldap comme
> source d'authentification ?
> un test avec getent permet de voir si ça marche normalement
> En espérant ne pas avoir répondu à côté
>

Merci pour ton intérêt et ta réponse.
J'avoue ne pas très bien saisir, malgré la lecture du manpage consacré à /etc/nsswitch.conf a quoi correspond "compat" (la valeur actuelle)
mais que je remplace "compat" par "files ldap" ne semble rien changer, je vais donc rester en "compat" jusqu'à preuve du contraire histoire de ne pas toucher à 36 paramètres en même temps ;-)

Par ailleurs, il se peut que je fasse un blocage obsessionnel sur libpam-ldap et son fichier de config /etc/pam_ldap.conf
mais en fait mon authentification fonctionne + ou - depuis que j'ai modifié ce fichier de config à la main et opté pour "host xxx.xxx.xxx.xxx" au lieu de "ldap://xxx.xxx.xxx.xxx";

en effet, avec ldap(s)://xxx.xxx.xxx.xxx voici les lignes de /var/log/auth.log

    Apr 12 19:50:12 saltmaster login[13412]: pam_unix(login:auth): authentication failure; logname=root uid=0 euid=0 tty=/dev/pts/0 ruser= rhost=  user=xyzxyzxyz
    Apr 12 19:50:12 saltmaster login[13412]: pam_ldap: ldap_simple_bind Can't contact LDAP server
    Apr 12 19:50:12 saltmaster login[13412]: pam_ldap: reconnecting to LDAP server...
    Apr 12 19:50:12 saltmaster login[13412]: pam_ldap: ldap_simple_bind Can't contact LDAP server
    Apr 12 19:50:14 saltmaster login[13412]: FAILED LOGIN (1) on '/dev/pts/0' FOR 'xyzxyzxyz', Authentication failure

Quand je dis que cela va + ou -  bien avec host xxx.xxx.xxx.xxx
en réalité cela fonctionne tout à fait, mais j'ai 2 bizzarreries:

1) avec un test où en tant que root sur la machine je fais
    root@lenomdelhote:~# login xyzxyzxyz
    Mot de passe :
    Mot de passe :
    Dernière connexion : ...

=> le système me demande 2x le mot de passe avant d'accepter la connexion (mais je suis bien connecté après cela !)
par contre, si je donne 1 des 2x un mot de passe erroné, je me fais jeter, mais pourquoi 2x le mot de passe ?
par ailleurs voici l'entrée du log pour cette tentative:

    Apr 13 08:17:38 saltmaster login[18996]: pam_unix(login:auth): authentication failure; logname=root uid=0 euid=0 tty=/dev/pts/0 ruser= rhost=  user=xyzxyzxyz
    Apr 13 08:17:42 saltmaster login[18996]: pam_unix(login:session): session opened for user xyzxyzxyz by root(uid=0)
    Apr 13 08:17:46 saltmaster login[18996]: pam_unix(login:session): session closed for user xyzxyzxyz
    Apr 13 08:17:46 saltmaster login[18996]: PAM 1 more authentication failure; logname=root uid=0 euid=0 tty=/dev/pts/0 ruser= rhost=  user=xyzxyzxyz

2) avec un test où je me connecte non pas comme root mais comme xyzxyzxyz sur l'hôte via une clé ssh et que je fais:
    xyzxyzxyz@lenomdelhote:~$ sudo less /var/log/auth.log
    [sudo] password for xyzxyzxyz:

=> j'obtiens la lecture du fichier de log avec 1 seule demande de mot de passe
même si le log en question me montre ceci :

    Apr 13 08:18:09 saltmaster sudo: pam_unix(sudo:auth): authentication failure; logname=xyzxyzxyz uid=50002 euid=0 tty=/dev/pts/0 ruser=xyzxyzxyz rhost=  user=xyzxyzxyz
    Apr 13 08:18:09 saltmaster sudo: xyzxyzxyz : TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /etc/nsswitch.conf
    Apr 13 08:18:09 saltmaster sudo: pam_unix(sudo:session): session opened for user root by xyzxyzxyz(uid=0)
    Apr 13 08:18:10 saltmaster sudo: pam_unix(sudo:session): session closed for user root

Voilà ma situation plus en détail.



Reply to: