Quelques petits problèmes LDAP et autres considérations sans importance (sauf pour moi).

Le
Jean-Max Redonnet
=_Part_88706_9320344.1225713491862
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour,

A l'occasion de l'achat d'un nouveau serveur pour remplacer la vieille
machine fatiguée qui remplissait ce rôle dans mon labo, je me suis dit =
in
petto "Tiens, c'est l'occasion d'installer un annuaire LDAP, depuis le temp=
s
que tu dis qu'il faut le faire". Dont acte. Malheureusement, tout ne se
passe pas vraiment aussi simplement que j'aurais pu l'espérer. Pour tout
vous dire, après quelques dizaines d'heures d'avancées (maigres), d'é=
checs
(cuisants), de bidouillages (approximatifs), de déceptions (cruelles) et
autres arrachages de cheveux (capilo-douloureux), je suis pas loin de la
crise de nerfs.

Mais avant de vous exposer par le menu le détail de mes misères, j'aura=
is
besoin de quelques éclaircissements au niveau sécurité. Voilà, comm=
e je suis
derrière les pare-feu de l'université, je n'ai pas vraiment besoin d'un
niveau de sécurité top-mega-secure, mais d'un autre côté, j'ai pas =
envie non
plus que le moindre clampin puisse lire mon mot de passe rien qu'en sniffan=
t
une petite trame passant sur le réseau. Du coup, je me demande si j'ai
besoin de TLS ou pas. En d'autre termes, avec le protocole ldap par défau=
t
(celui qu'on trouve en 389 généralement), est-ce que les mots de passe
circulent en clair sur le réseau ?

Ceci étant, j'ai quand même pas mal de problèmes

Mais commençons par le commencement : Tout d'abord, j'utilise une lenny
$ cat debian_version
lenny/sid
$ uname -a
Linux serv 2.6.26-1-amd64 #1 SMP Wed Sep 10 15:31:12 UTC 2008 x86_64
GNU/Linux

Ensuite mon annuaire LDAP est destiné à
- gérer en local les noms de machines (ou=Hosts), les groupes (ou=Gro=
ups) et
les utilisateurs non-root (ou=Users,ou=People)
- permettre le login des utilisateurs en local (via PAM) ou en SSH depuis
les postes clients
- permettre l'authentification pour divers services Web depuis le serveur
Apache local et d'autres serveurs Apache (distants)
- permettre l'authentification Samba
- permettre l'utilisation de l'annuaire comme carnet d'adresse pour les
clients mails des utilisateurs qui le supportent.

Le serveur LDAP en tant que tel a l'air de fonctionner correctement ; en
tout cas depuis la machine locale. J'ai pu créer mon arborescence, et y
ajouter des enregistrements.

Ensuite, si je tape (en root)
$ ldapsearch -x -H ldap://serv -b "ou=Users,ou=People,dc=####,dc=##=
##,dc=fr"
il m'affiche bien tout le contenu de mon annuaire.

A l'aide de Webmin, j'ai créé le certifiact indispensable à l'utilisa=
tion en
TLS. Après celà, si je tape (toujours en root)
$ ldapsearch -x -H ldaps://<adresse spécifiée dans le certificat> -Z -b
"ou=Users,ou=People,dc=####,dc=####,dc=fr
il m'affiche aussi tout le contenu de mon annuaire comme prévu.

Lorsque je passe en utilisateur lambda (qui existe dans l'annuaire)
$ su - lambda
il me dit "I have no name!", mais si j'active le service de cache nscd cett=
e
mention disparaît rapidement. Mais bon, pour l'instant, je laisse le cach=
e
désactivé (j'ai lu quelque part qu'il avait du mal à cohabiter avec S=
amba ;
qu'en est-il ?).
Je peux alors faire des recherches en tant qu'utilisateur lambda depuis le
serveur lui-même.

J'ai aussi testé la connection SSH depuis le serveur lui-même :
$ ssh lambda@localhost
et ça marche pas ! dans auth.log, le module pam_ldap me sort un fatidique
"Invalid credentials"

Depuis un poste distant, la recherche en ldap:// marche, mais la recherche
en ldaps:// ne marche pas ! La connection en ssh depuis un poste distant ne
marche pas non plus

Devant cet état de fait, j'ai essayé de regarder en détail les module=
s PAM
qui interviennent dans l'affaire et même après les bricolés dans tous=
les
sens, je ne note pas d'amélioration notable à mon grand dam !

Voilà, voilà, voilà.

Je suis à l'écoute de toute remarque, source d'information ou quoi que =
ce
soit qui pourrait m'aider.

Merci d'avance.


PS : Voilà la config actuelle (j'ai simplement viré les commentaires e=
t
remplacé les valeurs locales par des ####) :

#########################################
# fichier /etc/default/slapd (extrait): #
#########################################
SLAPD_SERVICES="ldap:/// ldaps:///"
###

##################################
# fichier /etc/ldap/slapd.conf : #
##################################
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/samba.schema

TLSCertificateFile /etc/ssl/ldap.cert
TLSCertificateKeyFile /etc/ssl/ldap.key

pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 8
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb

suffix dc=####,dc=####,dc=fr
password-hash {MD5}
rootdn cn=admin,dc=####,dc=####,dc=fr
rootpw {MD5}####

directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass,uid,uidNumber,gidNumber eq
lastmod on
checkpoint 512 30

access to attrs=userPassword
by self write
by anonymous auth
by * none
access to attrs=sambaLMPassword,sambaNTPassword
by self write
by anonymous auth
by * none
access to dn.base=""
by * read
access to *
by * read
###

#################################
# fichier /etc/ldap/ldap.conf : #
#################################
base dc=####,dc=####,dc=fr
uri ldap://localhost/

binddn cn=nss,dc=####,dc=####,dc=fr
bindpw {MD5}aitP7fMRPBRSmYGVus966g==

rootbinddn cn=admin,dc=####,dc=####,dc=fr
pam_password crypt

TLS_REQCERT allow

nss_base_passwd ou=Users,ou=People,dc=####,dc=####,dc=fr
nss_base_shadow ou=Users,ou=People,dc=####,dc=####,dc=fr
nss_base_group ou=Groups,dc=####,dc=####,dc=fr
nss_base_hosts ou=Hosts,dc=####,dc=####,dc=fr
###

Pour permettre la connection des utilisateurs, j'ai configuré libnss-ldap=
et
libpam-ldap de la manière suivante :

##############################
# fichier /etc/nsswitch.conf #
##############################
passwd: files ldap
group: files ldap
shadow: files ldap

hosts: files dns

networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis
###

#################################
# fichier /etc/libnss-ldap.conf #
#################################
host 127.0.0.1
base dc=####,dc=####,dc=fr
ldap_version 3

nss_base_passwd ou=Users,ou=People,dc=####,dc=####,dc=fr?one
nss_base_shadow ou=Users,ou=People,dc=####,dc=####,dc=fr?one
nss_base_group ou=Groups,dc=####,dc=####,dc=fr?one
nss_base_hosts ou=Hosts,dc=####,dc=####,dc=fr?one

uri ldap://127.0.0.1
rootbinddn cn=admin,dc=####,dc=####,dc=fr
# le password du root est stocke en clair dans /etc/libnss-ldap.secret (mod=
e
600)
binddn cn=nss,dc=dc=####,dc=####,dc=fr
bindpw ####

bind_policy soft
###

################################
# fichier /etc/pam_ldap.conf : #
################################
uri ldap://127.0.0.1
base dc=####,dc=####,dc=fr
ldap_version 3

rootbinddn cn=admin,dc=####,dc=####,dc=fr
# le password du root est stocke en clair dans /etc/pam_ldap.secret (mode
600)

pam_password crypt

binddn cn=nss,dc=####,dc=####,dc=fr
bindpw ####
###

Modules PAM :

#######################################
# fichier /etc/pam.d/common-account : #
#######################################
account sufficient pam_ldap.so
account required pam_unix.so shadow
###

####################################
# fichier /etc/pam.d/common-auth : #
####################################
auth required pam_env.so
auth sufficient pam_ldap.so
auth required pam_unix.so shadow use_first_pass
###

########################################
# fichier /etc/pam.d/common-password : #
########################################
password required pam_cracklib.so retry=3
password sufficient pam_ldap.so use_authtok
password required pam_unix.so shadow use_authtok
###

#######################################
# fichier /etc/pam.d/common-session : #
#######################################
session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel
session optional pam_ldap.so
session required pam_unix.so shadow
###

#############################
# fichier /etc/pam.d/sshd : #
#############################
@include common-account
account required pam_nologin.so

@include common-auth

@include common-password

session optional pam_motd.so
session optional pam_mail.so standard noenv
@include common-session
###

=_Part_88706_9320344.1225713491862
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour,<br><br>A l&#39;occasion de l&#39;achat d&#39;un nouveau serveur po=
ur remplacer la vieille machine fatiguée qui remplissait ce rôle dans m=
on labo, je me suis dit in petto &quot;Tiens, c&#39;est l&#39;occasion d&#3=
9;installer un annuaire LDAP, depuis le temps que tu dis qu&#39;il faut le =
faire&quot;. Dont acte. Malheureusement, tout ne se passe pas vraiment a=
ussi simplement que j&#39;aurais pu l&#39;espérer. Pour tout vous dire, a=
près quelques dizaines d&#39;heures d&#39;avancées (maigres), d&#39;é=
checs (cuisants), de bidouillages (approximatifs), de déceptions (cruelle=
s) et autres arrachages de cheveux (capilo-douloureux), je suis pas loin de=
la crise de nerfs.<br>
<br>Mais avant de vous exposer par le menu le détail de mes misères, j&=
#39;aurais besoin de quelques éclaircissements au niveau sécurité. Vo=
ilà, comme je suis derrière les pare-feu de l&#39;université, je n&#3=
9;ai pas vraiment besoin d&#39;un niveau de sécurité top-mega-secure, m=
ais d&#39;un autre côté, j&#39;ai pas envie non plus que le moindre cla=
mpin puisse lire mon mot de passe rien qu&#39;en sniffant une petite trame =
passant sur le réseau. Du coup, je me demande si j&#39;ai besoin de TLS o=
u pas. En d&#39;autre termes, avec le protocole ldap par défaut (celui qu=
&#39;on trouve en 389 généralement), est-ce que les mots de passe circu=
lent en clair sur le réseau ?<br>
<br>Ceci étant, j&#39;ai quand même pas mal de problèmes <br><br>M=
ais commençons par le commencement : Tout d&#39;abord, j&#39;utilise une =
lenny<br>$ cat debian_version<br>lenny/sid<br>$ uname -a<br>Linux serv 2.6.=
26-1-amd64 #1 SMP Wed Sep 10 15:31:12 UTC 2008 x86_64 GNU/Linux<br>
<br>Ensuite mon annuaire LDAP est destiné à<br>- gérer en local les n=
oms de machines (ou=Hosts), les groupes (ou=Groups) et les utilisateurs=
non-root (ou=Users,ou=People)<br>- permettre le login des utilisateurs=
en local (via PAM) ou en SSH depuis les postes clients<br>
- permettre l&#39;authentification pour divers services Web depuis le serve=
ur Apache local et d&#39;autres serveurs Apache (distants)<br>- permettre l=
&#39;authentification Samba<br>- permettre l&#39;utilisation de l&#39;annua=
ire comme carnet d&#39;adresse pour les clients mails des utilisateurs qui =
le supportent.<br>
<br>Le serveur LDAP en tant que tel a l&#39;air de fonctionner correctement=
; en tout cas depuis la machine locale. J&#39;ai pu créer mon arborescen=
ce, et y ajouter des enregistrements.<br><br>Ensuite, si je tape (en root)<=
br>
$ ldapsearch -x -H ldap://serv -b &quot;ou=Users,ou=People,dc=####,dc=
=####,dc=fr&quot;<br>il m&#39;affiche bien tout le contenu de mon annua=
ire.<br><br>A l&#39;aide de Webmin, j&#39;ai créé le certifiact indispe=
nsable à l&#39;utilisation en TLS. Après celà, si je tape (toujours e=
n root)<br>
$ ldapsearch -x -H ldaps://&lt;adresse spécifiée dans le certificat&gt;=
-Z -b &quot;ou=Users,ou=People,dc=####,dc=####,dc=fr<br>il m&#39=
;affiche aussi tout le contenu de mon annuaire comme prévu.<br><br>Lorsqu=
e je passe en utilisateur lambda (qui existe dans l&#39;annuaire)<br>
$ su - lambda<br>il me dit &quot;I have no name!&quot;, mais si j&#39;activ=
e le service de cache nscd cette mention disparaît rapidement. Mais bon, =
pour l&#39;instant, je laisse le cache désactivé (j&#39;ai lu quelque p=
art qu&#39;il avait du mal à cohabiter avec Samba ; qu&#39;en est-il ?).<=
br>
Je peux alors faire des recherches en tant qu&#39;utilisateur lambda depuis=
le serveur lui-même.<br><br>J&#39;ai aussi testé la connection SSH dep=
uis le serveur lui-même :<br>$ ssh lambda@localhost<br>et ça marche pas=
! dans auth.log, le module pam_ldap me sort un fatidique &quot;Invalid cre=
dentials&quot;<br>
<br>Depuis un poste distant, la recherche en ldap:// marche, mais la recher=
che en ldaps:// ne marche pas ! La connection en ssh depuis un poste distan=
t ne marche pas non plus<br><br>Devant cet état de fait, j&#39;ai essa=
yé de regarder en détail les modules PAM qui interviennent dans l&#39;a=
ffaire et même après les bricolés dans tous les sens, je ne note pas =
d&#39;amélioration notable à mon grand dam !<br>
<br>Voilà, voilà, voilà.<br><br>Je suis à l&#39;écoute de tout=
e remarque, source d&#39;information ou quoi que ce soit qui pourrait m&#39=
;aider.<br><br>Merci d&#39;avance.<br><br><br>PS :&nbsp; Voilà la config =
actuelle (j&#39;ai simplement viré les commentaires et remplacé les val=
eurs locales par des ####) :<br>
<br>#########################################<br># fichier /etc/default/sla=
pd (extrait): #<br>#########################################<br>SLAPD_SERVI=
CES=&quot;ldap:/// ldaps:///&quot;<br>###<br><br>########################=
##########<br>
# fichier /etc/ldap/slapd.conf : #<br>##################################<br=
>include /etc/ldap/schema/core.schema<br>include /etc/ldap/schema/cosine.sc=
hema<br>include /etc/ldap/schema/inetorgperson.schema<br>include /etc/ldap/=
schema/nis.schema<br>
include /etc/ldap/schema/samba.schema<br><br>TLSCertificateFile /etc/ssl/ld=
ap.cert<br>TLSCertificateKeyFile /etc/ssl/ldap.key<br><br>pidfile&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/run/slapd/slapd.pid<br>argsfile=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/run/slapd/slapd.args<br>
loglevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8<br>modulepath&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; /usr/lib/ldap<br>moduleload&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; back_hdb<br>sizelimit 500<br>tool-threads 1<br>backend&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hdb<br>database&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; hdb<br><br>suffix dc=####,dc=####,dc=fr<br>password-h=
ash {MD5}<br>
rootdn cn=admin,dc=####,dc=####,dc=fr<br>rootpw {MD5}####<br><br>di=
rectory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;/var/lib/ldap&quot;<br>db=
config set_cachesize 0 2097152 0<br>dbconfig set_lk_max_objects 1500<br>dbc=
onfig set_lk_max_locks 1500<br>dbconfig set_lk_max_lockers 1500<br>
index&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objectCla=
ss,uid,uidNumber,gidNumber eq<br>lastmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; on<br>checkpoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 30<br><br>=
access to attrs=userPassword<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; by self write<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by anonymous =
auth<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by * none<br>access to a=
ttrs=sambaLMPassword,sambaNTPassword<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by self write<br>&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; by anonymous auth<br>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; by * none<br>access to dn.base=&quot;&quot;<br>&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by * read<br>access to *<br>&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by * read<br>###<br><br>#####################=
############<br># fichier /etc/ldap/ldap.conf : #<br>
#################################<br>base dc=####,dc=####,dc=fr<br>ur=
i ldap://localhost/<br><br>binddn cn=nss,dc=####,dc=####,dc=fr<br>b=
indpw {MD5}aitP7fMRPBRSmYGVus966g==<br><br>rootbinddn cn=admin,dc=#=
###,dc=####,dc=fr<br>
pam_password crypt<br><br>TLS_REQCERT allow<br><br>nss_base_passwd ou=Use=
rs,ou=People,dc=####,dc=####,dc=fr<br>nss_base_shadow ou=Users,ou=
=People,dc=####,dc=####,dc=fr<br>nss_base_group ou=Groups,dc=##=
##,dc=####,dc=fr<br>
nss_base_hosts ou=Hosts,dc=####,dc=####,dc=fr<br>###<br><br>Pour pe=
rmettre la connection des utilisateurs, j&#39;ai configuré libnss-ldap et=
libpam-ldap de la manière suivante :<br><br>############################=
##<br># fichier /etc/nsswitch.conf #<br>
##############################<br>passwd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; files ldap<br>group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; files ldap<br>shadow:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp; files ldap<br><br>hosts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; files dns<br><br>networks:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; files<br><br>protocols:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db files<br>service=
s:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db files<br>
ethers:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db files<br>rpc:&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db files<br=
><br>netgroup:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nis<br>###<br><br>######=
###########################<br># fichier /etc/libnss-ldap.conf #<br>#######=
##########################<br>host <a href="http://127.0.0.1">127.0.0.1</=
a><br>
base dc=####,dc=####,dc=fr<br>ldap_version 3<br><br>nss_base_passwd&n=
bsp;&nbsp; ou=Users,ou=People,dc=####,dc=####,dc=fr?one<br>nss_ba=
se_shadow&nbsp;&nbsp; ou=Users,ou=People,dc=####,dc=####,dc=fr?on=
e<br>nss_base_group&nbsp;&nbsp;&nbsp; ou=Groups,dc=####,dc=####,dc==
fr?one<br>
nss_base_hosts&nbsp;&nbsp;&nbsp; ou=Hosts,dc=####,dc=####,dc=fr?one=
<br><br>uri ldap://<a href="http://127.0.0.1">127.0.0.1</a><br>rootbinddn=
cn=admin,dc=####,dc=####,dc=fr<br># le password du root est stocke=
en clair dans /etc/libnss-ldap.secret (mode 600)<br>
binddn cn=nss,dc=dc=####,dc=####,dc=fr<br>bindpw ####<br><br>bind=
_policy soft<br>###<br><br>################################<br># fichier /e=
tc/pam_ldap.conf : #<br>################################<br>uri ldap://<a h=
ref="http://127.0.0.1">127.0.0.1</a><br>
base dc=####,dc=####,dc=fr<br>ldap_version 3<br><br>rootbinddn cn=a=
dmin,dc=####,dc=####,dc=fr<br># le password du root est stocke en cla=
ir dans /etc/pam_ldap.secret (mode 600)<br><br>pam_password crypt<br><br>bi=
nddn cn=nss,dc=####,dc=####,dc=fr<br>
bindpw ####<br>###<br><br>Modules PAM :<br><br>############################=
###########<br># fichier /etc/pam.d/common-account : #<br>#################=
######################<br>account sufficient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
pam_ldap.so<br>account required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p=
am_unix.so&nbsp;&nbsp;&nbsp;&nbsp; shadow<br>
###<br><br>####################################<br># fichier /etc/pam.d/com=
mon-auth : #<br>####################################<br>auth&nbsp;&nbsp;&nb=
sp; required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_env.so<br>auth&n=
bsp;&nbsp;&nbsp; sufficient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_ldap.so<br>au=
th&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam=
_unix.so&nbsp;&nbsp;&nbsp;&nbsp; shadow use_first_pass<br>
###<br><br>########################################<br># fichier /etc/pam.d=
/common-password : #<br>########################################<br>passwor=
d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; pam_cracklib.so retry=3<br>password&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; sufficient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_ldap.=
so&nbsp;&nbsp;&nbsp;&nbsp; use_authtok<br>
password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; pam_unix.so&nbsp;&nbsp;&nbsp;&nbsp; shadow use_a=
uthtok<br>###<br><br>#######################################<br># fichier /=
etc/pam.d/common-session : #<br>#######################################<br>=
session required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_limits.so<br=
>
session required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_mkhomedir.so=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; skel=/etc/skel<br>session opti=
onal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_ldap.so<br>session requi=
red&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pam_unix.so&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shadow<br>###<br><br=
>#############################<br># fichier /etc/pam.d/sshd : #<br>
#############################<br>@include common-account<br>account&nbsp;&n=
bsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; pam_nologin.so<br><br>@include =
common-auth<br><br>@include common-password<br><br>session&nbsp;&nbsp;&nbsp=
; optional&nbsp;&nbsp;&nbsp;&nbsp; pam_motd.so<br>session&nbsp;&nbsp;&nbsp;=
optional&nbsp;&nbsp;&nbsp;&nbsp; pam_mail.so standard noenv<br>
@include common-session<br>###<br>

=_Part_88706_9320344.1225713491862--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane Bortzmeyer
Le #17736641
On Mon, Nov 03, 2008 at 12:58:11PM +0100,
Jean-Max Redonnet a message of 495 lines which said:

Du coup, je me demande si j'ai besoin de TLS ou pas.



TLS me semble une bonne idée.

En d'autre termes, avec le protocole ldap par défaut (celui qu'on
trouve en 389 généralement), est-ce que les mots de passe circulent
en clair sur le réseau ?



Hélas oui.

J'ai aussi testé la connection SSH depuis le serveur lui-même :
$ ssh
et ça marche pas ! dans auth.log, le module pam_ldap me sort un fatidique
"Invalid credentials"



Vous aviez redémarré le serveur sshd ? Il ne lit les fichiers de
configuration PAM et NSS qu'au démarrage...

Ma doc :

http://www.bortzmeyer.org/comptes-unix-ldap.html

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jean-Max Redonnet
Le #17739071
------=_Part_62832_13603940.1225743112895
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Merci pour votre réponse. J'essaierai en redémarrant le serveur ssh d ès
demain en arrivant au boulot. En attendant, j'ai lu votre doc et j'en
profite pour poser quelques questions (en vrac au fur et à mesure qu'elle s
me viennent ) :
- dans le fichier /etc/nsswitch.conf, quelle est la différence entre comp at
et files ? Dans certaines docs, j'ai trouvé "passwd compat ldap" et dans
d'autres "passwd files ldap" (idem pour shadow et group). Même si ça
n'impacte pas vraiment mon problème, j'aimerais bien savoir quelle est la
différence entre les deux...
- comment faire pour que les clients acceptent un certificat TLS auto sign é
? Je croyais que la ligne "TLS_REQCERT allow" du fichier ldap.conf servait à
ça, mais ça n'a pas l'air d'être le cas chez moi...
- dans le fichier slapd.conf, j'ai mis password-hash {MD5} ce qui, si j'ai
bien compris, fait que les mots de passe stockés dans ma base ldap sont
chiffrés en MD5 (je les génère avec slappasswd -h {MD5}). Par contre dans le
fichier ldap.conf, j'ai pam_password crypt, ce qui correspond, je crois qu
cryptage utilisé par défaut dans les fichiers locaux, mais comme je n'a i pas
d'idée très précise de l'utilité de cette ligne (je l'ai trouvée dans une
doc sans plus d'explications), je me demande si ça ne crée pas un pb av ec la
première (et je n'ose pas trop la changer parce que le mot de passe du ro ot
est lui stocké en local avec le système des shadow passwords et je n'ai pas
envie de casser ça sous peine de ne plus pouvoir me loguer en root). Si
quelqu'un pouvait m'éclairer à ce sujet...
- autre problème : dans certaines docs on localise la base par une uri et
dans d'autres par un host. Quelle est la différence entre les deux ?
Voilà, voilà, voilà...

En tout cas merci à vous de vous intéresser à mon problème et merci pour
tous ces pointeurs que je n'avais pas trouvés (et pourtant, j'en ai fouil lé
des docs :-( !!! )

Bonne soirée.

Le 3 novembre 2008 17:37, Stephane Bortzmeyer :

On Mon, Nov 03, 2008 at 12:58:11PM +0100,
Jean-Max Redonnet a message of 495 lines which said:

> Du coup, je me demande si j'ai besoin de TLS ou pas.

TLS me semble une bonne idée.

> En d'autre termes, avec le protocole ldap par défaut (celui qu'on
> trouve en 389 généralement), est-ce que les mots de passe circulent
> en clair sur le réseau ?

Hélas oui.

> J'ai aussi testé la connection SSH depuis le serveur lui-même :
> $ ssh
> et ça marche pas ! dans auth.log, le module pam_ldap me sort un fatid ique
> "Invalid credentials"

Vous aviez redémarré le serveur sshd ? Il ne lit les fichiers de
configuration PAM et NSS qu'au démarrage...

Ma doc :

http://www.bortzmeyer.org/comptes-unix-ldap.html




------=_Part_62832_13603940.1225743112895
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Merci pour votre réponse. J&#39;essaierai en redémarrant le serveur ssh dès
demain en arrivant au boulot. En attendant, j&#39;ai lu votre doc et j&#39; en
profite pour poser quelques questions (en vrac au fur et à mesure
qu&#39;elles me viennent )&nbsp; :<br>
- dans le fichier /etc/nsswitch.conf, quelle est la différence entre
compat et files ? Dans certaines docs, j&#39;ai trouvé &quot;passwd compa t ldap&quot;
et dans d&#39;autres &quot;passwd files ldap&quot; (idem pour shadow et gro up). Même
si ça n&#39;impacte pas vraiment mon problème, j&#39;aimerais bien savo ir
quelle est la différence entre les deux...<br>
- comment&nbsp; faire pour que les clients acceptent un certificat TLS auto
signé ? Je croyais que la ligne &quot;TLS_REQCERT allow&quot; du fichier
ldap.conf servait à ça, mais ça n&#39;a pas l&#39;air d&#39;être le cas chez moi...<br>
- dans le fichier slapd.conf, j&#39;ai mis password-hash {MD5} ce qui, si
j&#39;ai bien compris, fait que les mots de passe stockés dans ma base ld ap
sont chiffrés en MD5 (je les génère avec slappasswd -h {MD5}). Par
contre dans le fichier ldap.conf, j&#39;ai pam_password crypt, ce qui
correspond, je crois qu cryptage utilisé par défaut dans les fichiers
locaux, mais comme je n&#39;ai pas d&#39;idée très précise de l&#39;u tilité de
cette ligne (je l&#39;ai trouvée dans une doc sans plus d&#39;explication s), je
me demande si ça ne crée pas un pb avec la première (et je n&#39;ose pas
trop la changer parce que le mot de passe du root est lui stocké en
local avec le système des shadow passwords et je n&#39;ai pas envie de
casser ça sous peine de ne plus pouvoir me loguer en root). Si
quelqu&#39;un pouvait m&#39;éclairer à ce sujet...<br>
- autre problème : dans certaines docs on localise la base par une uri
et dans d&#39;autres par un host. Quelle est la différence entre les deux ?
tout cas merci à vous de vous intéresser à mon problème et merci po ur
tous ces pointeurs que je n&#39;avais pas trouvés (et pourtant, j&#39;en ai
fouillé des docs :-( !!! )<br>
On Mon, Nov 03, 2008 at 12:58:11PM +0100,<br>
&nbsp;Jean-Max Redonnet &lt; <div class="Ih2E3d">&nbsp;a message of 495 lines which said:<br>
<br>
&gt; Du coup, je me demande si j&#39;ai besoin de TLS ou pas.<br>
<br>
<div class="Ih2E3d"><br>
&gt; En d&#39;autre termes, avec le protocole ldap par défaut (celui qu&# 39;on<br>
&gt; trouve en 389 généralement), est-ce que les mots de passe circulen t<br>
&gt; en clair sur le réseau ?<br>
<br>
<div class="Ih2E3d"><br>
&gt; J&#39;ai aussi testé la connection SSH depuis le serveur lui-même :<br>
&gt; $ ssh <br>
&gt; et ça marche pas ! dans auth.log, le module pam_ldap me sort un fati dique<br>
&gt; &quot;Invalid credentials&quot;<br>
<br>
</div>Vous aviez redémarré le serveur sshd ? Il ne lit les fichiers de< br>
configuration PAM et NSS qu&#39;au démarrage...<br>
<br>
Ma doc :<br>
<br>
</blockquote></div><br>

------=_Part_62832_13603940.1225743112895--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Stephane Bortzmeyer
Le #17743121
On Mon, Nov 03, 2008 at 09:11:52PM +0100,
Jean-Max Redonnet a message of 180 lines which said:

- dans le fichier /etc/nsswitch.conf, quelle est la différence entre
compat et files ?



Sauf erreur, "compat" était pour ceux qui utilisaient les anciens
systèmes pré-NSS comme Hesiod ou certaines configurations de
NIS. Autrement, il est synonyme de "files".

- comment faire pour que les clients acceptent un certificat TLS
auto signé ? Je croyais que la ligne "TLS_REQCERT allow" du fichier
ldap.conf servait à ça, mais ça n'a pas l'air d'être le cas chez
moi...



Là, désolé, mon expérience TLS+LDAP est trop limitée.

- dans le fichier slapd.conf, j'ai mis password-hash {MD5} ce qui,
si j'ai bien compris, fait que les mots de passe stockés dans ma
base ldap sont chiffrés en MD5 (je les génère avec slappasswd -h
{MD5}). Par contre dans le fichier ldap.conf, j'ai pam_password
crypt,



Hmm, désolé, j'ai juste accepté les valeurs par défaut et rien mis
dans mes fichiers de configuration et ça marche.

ce qui correspond, je crois qu cryptage utilisé par défaut dans les
fichiers locaux,



Note : ce n'est pas du cryptage, mot qui, d'ailleurs, n'existe pas en
français, un résumé cryptographique ("hash").

le mot de passe du root est lui stocké en local avec le système des
shadow passwords et je n'ai pas envie de casser ça sous peine de ne
plus pouvoir me loguer en root).



Personnellement, je laisse un compte root dans /etc/passwd, et je ne
mets pas pam_ldap.so comme "required" mais comme "sufficient", afin de
pouvoir me connecter si LDAP est en panne.

- autre problème : dans certaines docs on localise la base par une
uri et dans d'autres par un host. Quelle est la différence entre les
deux ?



"uri" n'a jamais marché sur mes Debian, je n'utilise que "host".

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Vincent Danjean
Le #17743671
Stephane Bortzmeyer wrote:
On Mon, Nov 03, 2008 at 09:11:52PM +0100,
- dans le fichier /etc/nsswitch.conf, quelle est la différence entre
compat et files ?



Sauf erreur, "compat" était pour ceux qui utilisaient les anciens
systèmes pré-NSS comme Hesiod ou certaines configurations de
NIS. Autrement, il est synonyme de "files".



C'est pour accepter les lignes "+::::..."
Cf "info libc" (paquet glibc-doc)
section "28.2.3 Notes on the NSS Configuration File"
ainsi que /usr/share/doc/nis/nis.debian.howto.gz (paquet nis)
section 2

- comment faire pour que les clients acceptent un certificat TLS
auto signé ? Je croyais que la ligne "TLS_REQCERT allow" du fichier
ldap.conf servait à ça, mais ça n'a pas l'air d'être le cas chez
moi...





Je ne crois pas que ldap fasse un traitement particulier aux certificats
autosigné ou non. Il faut et suffit de mettre le certificat racine dans
la config. Maintenant, ce sont de vieux souvenirs donc ça peut être
incorrect (et je ne me souviens plus du tout du détail de la config
que j'avais mis en place)

- dans le fichier slapd.conf, j'ai mis password-hash {MD5} ce qui,
si j'ai bien compris, fait que les mots de passe stockés dans ma
base ldap sont chiffrés en MD5 (je les génère avec slappasswd -h
{MD5}). Par contre dans le fichier ldap.conf, j'ai pam_password
crypt,



Hmm, désolé, j'ai juste accepté les valeurs par défaut et rien mis
dans mes fichiers de configuration et ça marche.



Je sais que lorsque que j'avais découvert ldap, j'avais mis un bout de
temps avant de comprendre que ldap pouvait être accédé par nss et/ou
par pam et que c'était deux fichiers de config différents.
Je ne sais pas si ça a de l'importance ou pas ici.

- autre problème : dans certaines docs on localise la base par une
uri et dans d'autres par un host. Quelle est la différence entre les
deux ?





uri permets de spécifier plus de chose que le host (protocole, port, ...)
ldap://machine:19244
ldaps://machine:3456
...

Cordialement
Vincent

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme