Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

4 réponses
Avatar
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=E9e qui remplissait ce r=F4le 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=E9rer. Pour tout
vous dire, apr=E8s quelques dizaines d'heures d'avanc=E9es (maigres), d'=E9=
checs
(cuisants), de bidouillages (approximatifs), de d=E9ceptions (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=E9tail de mes mis=E8res, j'aura=
is
besoin de quelques =E9claircissements au niveau s=E9curit=E9. Voil=E0, comm=
e je suis
derri=E8re les pare-feu de l'universit=E9, je n'ai pas vraiment besoin d'un
niveau de s=E9curit=E9 top-mega-secure, mais d'un autre c=F4t=E9, 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=E9seau. Du coup, je me demande si j'ai
besoin de TLS ou pas. En d'autre termes, avec le protocole ldap par d=E9fau=
t
(celui qu'on trouve en 389 g=E9n=E9ralement), est-ce que les mots de passe
circulent en clair sur le r=E9seau ?

Ceci =E9tant, j'ai quand m=EAme pas mal de probl=E8mes...

Mais commen=E7ons 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=E9 =E0
- g=E9rer en local les noms de machines (ou=3DHosts), les groupes (ou=3DGro=
ups) et
les utilisateurs non-root (ou=3DUsers,ou=3DPeople)
- 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=E9er mon arborescence, et y
ajouter des enregistrements.

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

A l'aide de Webmin, j'ai cr=E9=E9 le certifiact indispensable =E0 l'utilisa=
tion en
TLS. Apr=E8s cel=E0, si je tape (toujours en root)
$ ldapsearch -x -H ldaps://<adresse sp=E9cifi=E9e dans le certificat> -Z -b
"ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr
il m'affiche aussi tout le contenu de mon annuaire comme pr=E9vu.

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=EEt rapidement. Mais bon, pour l'instant, je laisse le cach=
e
d=E9sactiv=E9 (j'ai lu quelque part qu'il avait du mal =E0 cohabiter avec S=
amba ;
qu'en est-il ?).
Je peux alors faire des recherches en tant qu'utilisateur lambda depuis le
serveur lui-m=EAme.

J'ai aussi test=E9 la connection SSH depuis le serveur lui-m=EAme :
$ ssh lambda@localhost
et =E7a 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 =E9tat de fait, j'ai essay=E9 de regarder en d=E9tail les module=
s PAM
qui interviennent dans l'affaire et m=EAme apr=E8s les bricol=E9s dans tous=
les
sens, je ne note pas d'am=E9lioration notable =E0 mon grand dam !

Voil=E0, voil=E0, voil=E0....

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

Merci d'avance.


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

#########################################
# fichier /etc/default/slapd (extrait): #
#########################################
SLAPD_SERVICES=3D"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=3D####,dc=3D####,dc=3Dfr
password-hash {MD5}
rootdn cn=3Dadmin,dc=3D####,dc=3D####,dc=3Dfr
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=3DuserPassword
by self write
by anonymous auth
by * none
access to attrs=3DsambaLMPassword,sambaNTPassword
by self write
by anonymous auth
by * none
access to dn.base=3D""
by * read
access to *
by * read
###

#################################
# fichier /etc/ldap/ldap.conf : #
#################################
base dc=3D####,dc=3D####,dc=3Dfr
uri ldap://localhost/

binddn cn=3Dnss,dc=3D####,dc=3D####,dc=3Dfr
bindpw {MD5}aitP7fMRPBRSmYGVus966g=3D=3D

rootbinddn cn=3Dadmin,dc=3D####,dc=3D####,dc=3Dfr
pam_password crypt

TLS_REQCERT allow

nss_base_passwd ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr
nss_base_shadow ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr
nss_base_group ou=3DGroups,dc=3D####,dc=3D####,dc=3Dfr
nss_base_hosts ou=3DHosts,dc=3D####,dc=3D####,dc=3Dfr
###

Pour permettre la connection des utilisateurs, j'ai configur=E9 libnss-ldap=
et
libpam-ldap de la mani=E8re 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=3D####,dc=3D####,dc=3Dfr
ldap_version 3

nss_base_passwd ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr?one
nss_base_shadow ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr?one
nss_base_group ou=3DGroups,dc=3D####,dc=3D####,dc=3Dfr?one
nss_base_hosts ou=3DHosts,dc=3D####,dc=3D####,dc=3Dfr?one

uri ldap://127.0.0.1
rootbinddn cn=3Dadmin,dc=3D####,dc=3D####,dc=3Dfr
# le password du root est stocke en clair dans /etc/libnss-ldap.secret (mod=
e
600)
binddn cn=3Dnss,dc=3Ddc=3D####,dc=3D####,dc=3Dfr
bindpw ####

bind_policy soft
###

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

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

pam_password crypt

binddn cn=3Dnss,dc=3D####,dc=3D####,dc=3Dfr
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=3D3
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=3D/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=E9e qui remplissait ce r=F4le 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=E9rer. Pour tout vous dire, a=
pr=E8s quelques dizaines d&#39;heures d&#39;avanc=E9es (maigres), d&#39;=E9=
checs (cuisants), de bidouillages (approximatifs), de d=E9ceptions (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=E9tail de mes mis=E8res, j&=
#39;aurais besoin de quelques =E9claircissements au niveau s=E9curit=E9. Vo=
il=E0, comme je suis derri=E8re les pare-feu de l&#39;universit=E9, je n&#3=
9;ai pas vraiment besoin d&#39;un niveau de s=E9curit=E9 top-mega-secure, m=
ais d&#39;un autre c=F4t=E9, 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=E9seau. 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=E9faut (celui qu=
&#39;on trouve en 389 g=E9n=E9ralement), est-ce que les mots de passe circu=
lent en clair sur le r=E9seau ?<br>
<br>Ceci =E9tant, j&#39;ai quand m=EAme pas mal de probl=E8mes... <br><br>M=
ais commen=E7ons 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=E9 =E0<br>- g=E9rer en local les n=
oms de machines (ou=3DHosts), les groupes (ou=3DGroups) et les utilisateurs=
non-root (ou=3DUsers,ou=3DPeople)<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=E9er 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=3DUsers,ou=3DPeople,dc=3D####,dc=
=3D####,dc=3Dfr&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=E9=E9 le certifiact indispe=
nsable =E0 l&#39;utilisation en TLS. Apr=E8s cel=E0, si je tape (toujours e=
n root)<br>
$ ldapsearch -x -H ldaps://&lt;adresse sp=E9cifi=E9e dans le certificat&gt;=
-Z -b &quot;ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr<br>il m&#39=
;affiche aussi tout le contenu de mon annuaire comme pr=E9vu.<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=EEt rapidement. Mais bon, =
pour l&#39;instant, je laisse le cache d=E9sactiv=E9 (j&#39;ai lu quelque p=
art qu&#39;il avait du mal =E0 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=EAme.<br><br>J&#39;ai aussi test=E9 la connection SSH dep=
uis le serveur lui-m=EAme :<br>$ ssh lambda@localhost<br>et =E7a 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 =E9tat de fait, j&#39;ai essa=
y=E9 de regarder en d=E9tail les modules PAM qui interviennent dans l&#39;a=
ffaire et m=EAme apr=E8s les bricol=E9s dans tous les sens, je ne note pas =
d&#39;am=E9lioration notable =E0 mon grand dam !<br>
<br>Voil=E0, voil=E0, voil=E0....<br><br>Je suis =E0 l&#39;=E9coute 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=E0 la config =
actuelle (j&#39;ai simplement vir=E9 les commentaires et remplac=E9 les val=
eurs locales par des ####) :<br>
<br>#########################################<br># fichier /etc/default/sla=
pd (extrait): #<br>#########################################<br>SLAPD_SERVI=
CES=3D&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=3D####,dc=3D####,dc=3Dfr<br>password-h=
ash {MD5}<br>
rootdn cn=3Dadmin,dc=3D####,dc=3D####,dc=3Dfr<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=3DuserPassword<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=3DsambaLMPassword,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=3D&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=3D####,dc=3D####,dc=3Dfr<br>ur=
i ldap://localhost/<br><br>binddn cn=3Dnss,dc=3D####,dc=3D####,dc=3Dfr<br>b=
indpw {MD5}aitP7fMRPBRSmYGVus966g=3D=3D<br><br>rootbinddn cn=3Dadmin,dc=3D#=
###,dc=3D####,dc=3Dfr<br>
pam_password crypt<br><br>TLS_REQCERT allow<br><br>nss_base_passwd ou=3DUse=
rs,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr<br>nss_base_shadow ou=3DUsers,ou=
=3DPeople,dc=3D####,dc=3D####,dc=3Dfr<br>nss_base_group ou=3DGroups,dc=3D##=
##,dc=3D####,dc=3Dfr<br>
nss_base_hosts ou=3DHosts,dc=3D####,dc=3D####,dc=3Dfr<br>###<br><br>Pour pe=
rmettre la connection des utilisateurs, j&#39;ai configur=E9 libnss-ldap et=
libpam-ldap de la mani=E8re 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=3D"http://127.0.0.1">127.0.0.1</=
a><br>
base dc=3D####,dc=3D####,dc=3Dfr<br>ldap_version 3<br><br>nss_base_passwd&n=
bsp;&nbsp; ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr?one<br>nss_ba=
se_shadow&nbsp;&nbsp; ou=3DUsers,ou=3DPeople,dc=3D####,dc=3D####,dc=3Dfr?on=
e<br>nss_base_group&nbsp;&nbsp;&nbsp; ou=3DGroups,dc=3D####,dc=3D####,dc=3D=
fr?one<br>
nss_base_hosts&nbsp;&nbsp;&nbsp; ou=3DHosts,dc=3D####,dc=3D####,dc=3Dfr?one=
<br><br>uri ldap://<a href=3D"http://127.0.0.1">127.0.0.1</a><br>rootbinddn=
cn=3Dadmin,dc=3D####,dc=3D####,dc=3Dfr<br># le password du root est stocke=
en clair dans /etc/libnss-ldap.secret (mode 600)<br>
binddn cn=3Dnss,dc=3Ddc=3D####,dc=3D####,dc=3Dfr<br>bindpw ####<br><br>bind=
_policy soft<br>###<br><br>################################<br># fichier /e=
tc/pam_ldap.conf : #<br>################################<br>uri ldap://<a h=
ref=3D"http://127.0.0.1">127.0.0.1</a><br>
base dc=3D####,dc=3D####,dc=3Dfr<br>ldap_version 3<br><br>rootbinddn cn=3Da=
dmin,dc=3D####,dc=3D####,dc=3Dfr<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=3Dnss,dc=3D####,dc=3D####,dc=3Dfr<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=3D3<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=3D/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

4 réponses

Avatar
Stephane Bortzmeyer
On Mon, Nov 03, 2008 at 12:58:11PM +0100,
Jean-Max Redonnet wrote
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
Avatar
Jean-Max Redonnet
------=_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 a éc rit
:

On Mon, Nov 03, 2008 at 12:58:11PM +0100,
Jean-Max Redonnet wrote
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 ?
<br>Voilà, voilà, voilà...<br><br>En
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>
<br>Bonne soirée.<br><br><div class="gmail_quote">Le 3 novembre 2008 17 :37, Stephane Bortzmeyer <span dir="ltr">&lt;<a href="mailto: ources.org"></a>&gt;</span> a écrit :<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); m argin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Mon, Nov 03, 2008 at 12:58:11PM +0100,<br>
&nbsp;Jean-Max Redonnet &lt;<a href="mailto:">jmax.red@ gmail.com</a>&gt; wrote<br>
<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>TLS me semble une bonne idée.<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>Hélas oui.<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>
<a href="http://www.bortzmeyer.org/comptes-unix-ldap.html" target="_bla nk">http://www.bortzmeyer.org/comptes-unix-ldap.html</a><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
Avatar
Stephane Bortzmeyer
On Mon, Nov 03, 2008 at 09:11:52PM +0100,
Jean-Max Redonnet wrote
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, <http://www.bortzmeyer.org/cryptage-n-existe-pas.html&gt; mais
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
Avatar
Vincent Danjean
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