Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
912 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Authentification des utilisateurs avec OpenLDAP + OpenSSH

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Authentification des utilisateurs avec OpenLDAP + OpenSSH

n°988767
tsunamijf
PSN : julien_fr38
Posté le 07-12-2007 à 15:42:25  profilanswer
 

Bonjour,  :hello:  
 
Je suis actuellement à la recherche d'une solution qui permettrait de faire du SSO sous Linux pour ne pas avoir à s'authentifier à chaque fois sur un grand nombre de serveurs.
 
Si vous avez mis en place ce type de solutions, je suis preneur de votre retour d'expérience  :jap:  
 
Je pense par exemple à l'utilisation de Kerberos + SSH pour faire du SSO ...


Message édité par tsunamijf le 14-12-2007 à 10:18:44

---------------
PSN : julien_fr38
mood
Publicité
Posté le 07-12-2007 à 15:42:25  profilanswer
 

n°988772
o'gure
Modérateur
Multi grognon de B_L
Posté le 07-12-2007 à 15:44:40  profilanswer
 

Je ne sais pas comment tu te connectes à ces serveurs, mais si c'est via SSH uniquement, as tu pensé à un ssh-agent (+ authentication par clé RSA ou DSA) ?


Message édité par o'gure le 07-12-2007 à 15:46:59

---------------
Ton Antoine commence à me les briser menus !
n°988789
tsunamijf
PSN : julien_fr38
Posté le 07-12-2007 à 16:06:31  profilanswer
 

Oui, la connexion vers ces serveurs se fait via SSH uniquement.
 
En fait, je souhaite éviter d'avoir à rajouter les clés publiques des personnes qui pourront intervenir durant le cycle de vie du projet sur certains des serveurs.
 
Je viens de voir un patch qui était disponible pour OpenSSH => OpenSSH LDAP Public Key patch
 
Le but de ce patch serait de centraliser les clés publiques des utilisateurs sur un serveur LDAP plutôt que dans les home directory des serveurs (authorized_keys), ca a l'air pas mal comme solution ...
 


---------------
PSN : julien_fr38
n°989123
tsunamijf
PSN : julien_fr38
Posté le 09-12-2007 à 10:46:53  profilanswer
 

up :)
 
personne n'a mis en place une solution avec le patch openssh ldap public key ? :??:


---------------
PSN : julien_fr38
n°989129
dam1330
...
Posté le 09-12-2007 à 12:23:07  profilanswer
 

tsunamijf a écrit :

up :)
 
personne n'a mis en place une solution avec le patch openssh ldap public key ? :??:


 
 
 
c'est tout expliqué dans le hors serie linux magazine de ce mois coi

n°989148
tsunamijf
PSN : julien_fr38
Posté le 09-12-2007 à 13:37:27  profilanswer
 

tu parles du n° 100 ?
c'est un sujet disponible sur le CD  ou bien un article papier ?
car je viens de parcourir la version "web papier" et je n'ai pas trouvé (difficile de deviner tous les articles en raison de la taille des polices) un article qui parle d'openssh avec ldap public key
 
merci :)


---------------
PSN : julien_fr38
n°989222
dam1330
...
Posté le 09-12-2007 à 15:24:41  profilanswer
 

j'ai jeté un coup d'oeil dans un magazin de presse y a bien article concernant ce sujet
 
voila: http://ed-diamond.com/feuille_lmag100/damag-000038.jpg


Message édité par dam1330 le 09-12-2007 à 15:27:05
n°991251
tsunamijf
PSN : julien_fr38
Posté le 14-12-2007 à 08:57:07  profilanswer
 

Voilà,
 
L'authentification par clé publique avec OpenSSH et OpenLDAP fonctionne.
La clé publique est stockée dans l'annuaire LDAP et lorsqu'un utilisateur se connecte à un serveur lambda, celui-ci va chercher les informations sur l'utilisateur directement dans l'annuaire LDAP.
 
Maintenant, je me retrouve face à un autre problème qui je pense à une solution :)
Comment mettre en place avec OpenSSH (patché avec Lpk) et OpenLDAP pour autoriser un utilisateur à se connecter seulement sur certains serveurs du parc...  
Car si je configure OpenSSH sur tous mes serveurs "clients" pour que l'authentification repose sur OpenLDAP, l'utilisateur pourra se connecter sur tous les serveurs, hors, je souhaite pouvoir contrôler les accès aux ressources.
 
quelqu'un aurait une idée ? une piste ?  :jap:

Message cité 1 fois
Message édité par tsunamijf le 14-12-2007 à 08:57:49

---------------
PSN : julien_fr38
n°991307
acheron2
Posté le 14-12-2007 à 11:06:59  profilanswer
 

tsunamijf a écrit :

Voilà,
 
L'authentification par clé publique avec OpenSSH et OpenLDAP fonctionne.
La clé publique est stockée dans l'annuaire LDAP et lorsqu'un utilisateur se connecte à un serveur lambda, celui-ci va chercher les informations sur l'utilisateur directement dans l'annuaire LDAP.
 
Maintenant, je me retrouve face à un autre problème qui je pense à une solution :)
Comment mettre en place avec OpenSSH (patché avec Lpk) et OpenLDAP pour autoriser un utilisateur à se connecter seulement sur certains serveurs du parc...  
Car si je configure OpenSSH sur tous mes serveurs "clients" pour que l'authentification repose sur OpenLDAP, l'utilisateur pourra se connecter sur tous les serveurs, hors, je souhaite pouvoir contrôler les accès aux ressources.
 
quelqu'un aurait une idée ? une piste ?  :jap:


man sshd_config -> AllowUsers
ça vous arrive de vous documenter avant de mettre des services en place ????

n°991321
tsunamijf
PSN : julien_fr38
Posté le 14-12-2007 à 11:20:39  profilanswer
 

Ok pour cette option, elle répond à une partie de mes attentes, c'est à dire autoriser/interdire l'accès à des utilisateurs.
 
Je cherchais plutôt à autoriser/interdire l'accès à des serveurs grâce à OpenLDAP, mais je ne suis pas sur que cela soit possible ...
 
Avoir cette information par LDAP me permettrait de centraliser facilement cette information (savoir pour l'utilisateur X, qu'il peut se connecter sur les serveurs A,B et C).
 
Alors qu'avec AllowUsers, si un utilisateur dispose des autorisations pour se connecter sur 100 serveurs, il faudra renseigner AllowUsers pour les 100 serveurs ... :(


Message édité par tsunamijf le 14-12-2007 à 11:21:11

---------------
PSN : julien_fr38
mood
Publicité
Posté le 14-12-2007 à 11:20:39  profilanswer
 

n°991483
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 14-12-2007 à 20:25:09  profilanswer
 

regarde le linuxmag n°100 :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°991528
tsunamijf
PSN : julien_fr38
Posté le 15-12-2007 à 00:52:03  profilanswer
 

dans ce linuxmag, ils montrent juste l'installation du patch pour openssh, y'a rien qui répond à mon besoin dans ce qu'ils proposent, ou alors je suis vraiment passé à côté ... :ange:


---------------
PSN : julien_fr38
n°991635
tsunamijf
PSN : julien_fr38
Posté le 15-12-2007 à 14:26:42  profilanswer
 

Pour apporter un début de réponse à ce problème ... j'ai trouvé le paramètre "host" qui peut être rajouté dans la définition d'un utilisateur dans LDAP.
 
exemple :
dn: cn=monuser,ou=users,dc=toto,dc=fr
objectclass: posixAccount
[...]
uid: ...
gid: ...
host = serveurA
host = serveurB
 
 
Avec l'attribut host, l'utilisateur pourra se connecter uniquement sur les serveurs déclarés (ici, serveurA et serveurB).
Je vais essayer de mettre en place cette configuration.
 
A priori, ca réponds à mon besoin.
 
Si vous avez des avis/suggestions sur cet attribut, je reste preneur :)


---------------
PSN : julien_fr38
n°1052505
gangan2
Posté le 18-06-2008 à 10:03:31  profilanswer
 

Bonjour all,
 
dis moi tsunamijf aurais tu un peu de temps pour parler de ce projet ? par mail ou autre  
 
merci d'avance

n°1052987
gangan2
Posté le 19-06-2008 à 10:20:55  profilanswer
 

j'essaye d'inserer ca avec la commande ldapadd -x -D "cn=god,dc=test,dc=org" -v -W -f /tmp/passwd.ldif :
 

Code :
  1. dn: uid=toto,ou=user,dc=test,dc=org
  2. uid: toto
  3. cn: toto
  4. sn: toto
  5. objectClass: person
  6. objectClass: organizationalPerson
  7. objectClass: posixAccount
  8. objectClass: top
  9. objectClass: ldapPublicKey
  10. userPassword: {crypt}$1$5KOSxxiQ$wKN7BjioqdmqrSf96TvEO1
  11. loginShell: /bin/bash
  12. uidNumber: 501
  13. gidNumber: 501
  14. homeDirectory: /home/toto
  15. sshPublicKey: AAAA
  16. host = srvtest2
  17. host = srvtest3


 
j'ai essayé aussi avec host = 192.168.2.22
 
et ca me donne :
 
ldapadd: invalid format (line 16) entry: "uid=toto,ou=user,dc=test,dc=org"
 
et la ligne 16 c'est le premier host =
 

n°1053010
tsunamijf
PSN : julien_fr38
Posté le 19-06-2008 à 11:16:19  profilanswer
 

Dans ton .ldif, essaies de mettre que ces Objectclass dans cet ordre :
 
objectclass: top
objectclass: posixAccount
objectclass: account
objectclass: ldapPublicKey
 
Je crois me souvenir que l'attribut host n'est utilisable qu'avec l'objectclass posixAccount et/ou sans la présence de l'objectclass person ... à valider  :sweat:  
 
Bien vérifier également que tes schémas sont définis dans ta conf slapd et qu'ils existent bien dans le répertoire de stockage des schémas.


---------------
PSN : julien_fr38
n°1053013
tsunamijf
PSN : julien_fr38
Posté le 19-06-2008 à 11:17:18  profilanswer
 

Dans ton .ldif, essaies de mettre que ces Objectclass dans cet ordre :
 
objectclass: top
objectclass: posixAccount
objectclass: account
objectclass: ldapPublicKey
 
Je crois me souvenir que l'attribut host n'est utilisable qu'avec l'objectclass posixAccount et/ou sans la présence de l'objectclass person ... à valider  :sweat:  
 
Bien vérifier également que tes schémas sont définis dans ta conf slapd et qu'ils existent bien dans le répertoire de stockage des schémas.


---------------
PSN : julien_fr38
n°1053026
gangan2
Posté le 19-06-2008 à 11:55:51  profilanswer
 

sur la doc du patcheur lpk de openssh
 
http://dev.inversepath.com/trac/openssh-lpk
 
objectclass: person  
 
:pt1cable:  

n°1053087
tsunamijf
PSN : julien_fr38
Posté le 19-06-2008 à 14:10:49  profilanswer
 

Oui mais dans son exemple, il n'utilise pas la clause "host".
 
Pour utiliser la clause host, il faut l'objectclass "account" (et non pas posixAccount comme je le pensais + haut) :)


---------------
PSN : julien_fr38
n°1053123
gangan2
Posté le 19-06-2008 à 16:34:13  profilanswer
 

on peut avoir les deux ou pas ?

n°1053127
gangan2
Posté le 19-06-2008 à 16:47:32  profilanswer
 

j'arrive pas a integrer ce fichier ldap
ca me met une erreur :
 
adding new entry "uid=pelo,ou=user,dc=test,dc=org"
modify complete
ldap_add: Internal (implementation specific) error (80)
        additional info: no structuralObjectClass operational attribute
 

Code :
  1. dn: uid=pelo,ou=user,dc=test,dc=org
  2. uid: pelo
  3. cn: pelo
  4. sn: pelo
  5. objectClass: top
  6. objectClass: account
  7. objectClass: person
  8. objectClass: posixAccount
  9. objectClass: organizationalPerson
  10. objectClass: ldapPublicKey
  11. userPassword: {crypt}$1$4NsAgT/P$6auoLgGEAQyVf8akV864M/
  12. loginShell: /bin/bash
  13. uidNumber: 504
  14. gidNumber: 504
  15. homeDirectory: /home/pelo
  16. sshPublicKey: DDDD
  17. host: 192.168.69.2


Message édité par gangan2 le 20-06-2008 à 10:45:37
n°1053300
gangan2
Posté le 20-06-2008 à 10:42:38  profilanswer
 

je crois que j'ai réussi à trouver le bon ldif pour les comptes
 

Code :
  1. dn: uid=titi,ou=user,dc=test,dc=org
  2. uid: titi
  3. cn: titi
  4. objectClass: posixAccount
  5. objectClass: top
  6. objectClass: account
  7. objectClass: ldapPublicKey
  8. userPassword: {crypt}$1$4NsAgT/P$6auoLgGEAQyVf8akV864o/
  9. loginShell: /bin/bash
  10. uidNumber: 506
  11. gidNumber: 506
  12. homeDirectory: /home/titi
  13. sshPublicKey: EEEE
  14. host: 192.168.69.5


 
il y a tout ce qui faut la non ?


Message édité par gangan2 le 20-06-2008 à 10:45:57
n°1054130
gangan2
Posté le 23-06-2008 à 09:36:04  profilanswer
 

je viens de faire un test avec un utilisateur qui existe dans mon annuaire ldap  
 
May 22 04:11:56 srvtest3 sshd[6738]: pam_unix(sshd:session): session opened
for user root by (uid=0)
May 22 04:28:13 srvtest3 sshd[6803]: error: Could not get shadow information for tata
May 22 04:28:13 srvtest3 sshd[6803]: Accepted password for tata from 192.168.2.216 port 41815 ssh2
 
il passe totalement outre les attributs host, sshPublicKey

n°1054165
tsunamijf
PSN : julien_fr38
Posté le 23-06-2008 à 11:42:45  profilanswer
 

Il faut modifier les stratégies d'authentification de tes serveurs pour prendre en compte une authentification forcée sur ton annuaire ldap


---------------
PSN : julien_fr38
n°1054166
gangan2
Posté le 23-06-2008 à 11:45:15  profilanswer
 

donc pam ? /etc/pam.d/sshd ? faut compiler sshd+lpk avec le flag ldap enable ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Authentification des utilisateurs avec OpenLDAP + OpenSSH

 

Sujets relatifs
[Résolu] [LDAPS-PHP-Certificats] Connexion sécurisée ldaps en php[Samba] utilisateurs différents sur deux machines...
Authentification Ssh et cléSMTP Authentification - Postfix - Certificat
samba\redhat probleme authentificationvnc via tunnel ssh : pb si utilisateurs différents
OpenLDAP et SAMBA | Insufficient access at /usr/sbin/smbldap-passwd liAntispam avec postfix(mysql) amavis et une centaine d'utilisateurs
authentification LinuxProxy Squid avec authentification AD
Plus de sujets relatifs à : Authentification des utilisateurs avec OpenLDAP + OpenSSH


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR