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

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



Salut,

Ok je comprends mieux le contexte.

*Pour la génération aléatoire tu devrais pouvoir passer des commandes dans ta recette du type pwgen ou apg qui permettent de générer des passwords. Selon moi tu devrais refuser dans ta recette Salt/SSH les accès avec passwords ca devrait solutionner ton problème.

Je le fais avec puppet, j'ai commencé salt il y a peu donc la recette ne sera pas adaptée ;)


* Pour ton problème de sudo, il faut déclarer un container sudoers dans ton ldap afin que tu puisses associer tes utilisateurs autorisés à sudo.

http://www.sudo.ws/sudoers.ldap.man.html




Le 04/14/2014 11:04 AM, BOLLINGH Sebastien a écrit :
J'ai mis un paquet de LDAP/Debian en place et je n'ai jaimais eu a seter
un / sur la syntaxe, le problème vient d'ailleurs ;) ou une erreur de
conf corrigée après un restart de service.
En fait lors de l'installation du paquet mais aussi du dpkg-reconfigure, j'ai du mentionner ldap://xyz.xyz.xyz.xyz u lieu de ldap://xyz.xyz.xyz.xyz/
et apparemment ça compte. les exemples dans le fichier de conf se terminent tous par "/" et depuis ça fonctionne.
Pourquoi est ce que tu utilises ssl et non pas tls. ssl est obsolète et
tu vas devoir te taper de la conf ssl sur le port 636 (mais c'est
peut-etre un choix perso ? ;)
J'avoue ne pas avoir fort réfléchi à la question et j'ai mis mon serveur LDAP en SSL sur le port 636 depuis le début ;-(

Pour gérer des utilisateurs et leurs droits associés il faut utiliser
des ACL ldap.
Ta double auth vient surement de tes conf nsswitch et libpam-ldap est ce
que tu t'es documenté sur la conf de ces libs ?
hormis les manpages et le tuto pas d'autres docs, la pluspart des sites parlent constamment de libnss-ldap,
mais pour ma part, je n'en ai pas besoin. Les utilisateurs sur les serveurs sont en réalités des admins (donc peu nombreux, je les crée en local avec SaltStack.
(par contre, je cherche toujours un moyen pour générer sur ces comptes locaux un mot de passe aléatoire ou en interdire l'usage sans désactiver le compte et ce via SaltStack => connexion par clé SSH seulement).
Mon usage de libpam-ldap vise seulement à autoriser ces admin à faire un sudo avec leur mot de passe ldap, histoire d'avoir une gestion centrale des mdp et ne pas laissé le sudo sans mdp.

Sur quels tuto t'es tu basé pour mettre en place ton ldap ?
C'est vraiment basique, juste le début de https://wiki.debian.org/fr/LDAP/PAM

Bon courage
@+ !
Merci ! ;-)

Le 04/13/2014 09:26 AM, BOLLINGH Sebastien a écrit :
Bon, je suis une enclume (oui vous pouvez taper)
mais on progresse ...

Une faute de frappe initiale suivie d'une lecture bornée du fichier et de config et ses exemples et bardaf, c'est l'embardée.
En fait, la syntaxe est :

      ldap://xxx.xxx.xxx.xxx/  =>  le "/" final est indispensable et la cause de mes soucis !!!!
contrairement à
      host xxx.xxx.xxx.xxx ;-(

Du coup, ça va mieux avec ce /

Bon par contre, nouveau problème car, si cela fonctionne avec ldap:// pour le test "login" et le test "sudo"
malgré une nouvelle bizarrerie dans les logs (la première ligne donne 1x failure et les sudo suivant n'ont pas de problème):

      Apr 13 08:57:48 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:57:48 saltmaster sudo: xyzxyzxyz : TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
      Apr 13 08:57:48 saltmaster sudo: pam_unix(sudo:session): session opened for user root by xyzxyzxyz(uid=0)
      Apr 13 08:57:50 saltmaster sudo: pam_unix(sudo:session): session closed for user root
      Apr 13 08:58:18 saltmaster sudo: xyzxyzxyz : TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
      Apr 13 08:58:18 saltmaster sudo: pam_unix(sudo:session): session opened for user root by xyzxyzxyz(uid=0)
      Apr 13 08:59:07 saltmaster sudo: pam_unix(sudo:session): session closed for user root
      Apr 13 08:59:10 saltmaster sudo: xyzxyzxyz : TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
      Apr 13 08:59:10 saltmaster sudo: pam_unix(sudo:session): session opened for user root by xyzxyzxyz(uid=0)
      Apr 13 08:59:25 saltmaster sudo: pam_unix(sudo:session): session closed for user root

cela ne fonctionne pour ldaps:// avec les paramètres supplémentaires suivant que pour le test "login" (même comportement du double mot de passe et même log dans /var/log/auth.log)

      port 636
      ssl on
      tls_checkpeer no

bizarrement le test "sudo" échoue quant à lui et donne ceci :

      xyzxyzxyz@nomdelhote:~$ sudo less /var/log/auth.log
      [sudo] password for xyzxyzxyz:
      sudo: PERM_ROOT: setresuid(0, -1, -1): Opération non permise
      sudo: unable to open /var/lib/sudo/xyzxyzxyz/0: Opération non permise
      sudo: unable to set supplementary group IDs: Opération non permise
      sudo: unable to execute /usr/bin/less: Operation not permitted

et le log donne :

      Apr 13 09:17:44 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 09:17:44 saltmaster sudo: xyzxyzxyz : unable to open /var/lib/sudo/xyzxyzxyz/0 : Permission non accordée ; TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
      Apr 13 09:17:44 saltmaster sudo: xyzxyzxyz : TTY=pts/0 ; PWD=/home/xyzxyzxyz ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
      Apr 13 09:17:44 saltmaster sudo: pam_unix(sudo:session): session opened for user root by xyzxyzxyz(uid=50002)
      Apr 13 09:17:44 saltmaster sudo: pam_unix(sudo:session): session closed for user root

Je ne comprend pas cette différence de comportement entre ldap et ldaps pour le test spécifique sudo ...
A nouveau, si quelqu'un à une idée , je prends.

pour ce qui est de la double demande de mot de passe, je vais investiguer la piste du binddn non anonyme avec un utilisateur en lecture seule sur le LDAP


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.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: [🔎] 5e19-534a3500-15-7d392b80@105334492">https://lists.debian.org/[🔎] 5e19-534a3500-15-7d392b80@105334492

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: [🔎] 534AE0CA.6030303@gmail.com">https://lists.debian.org/[🔎] 534AE0CA.6030303@gmail.com



Reply to: