Vous êtes sur la page 1sur 30

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

CENTRE AFPA MEUDON Centre Yves Bodiguel - 12/14 av du Marchal Juin Z.I de Vlizy 92366 MEUDON-LA-FORET CEDEX Tl : 01 45 37 78 00 Tlecopie : 01 46 30 90 62

MINIPROJET : Interoprabilit Linux-Microsoft Partage de fichiers et authentification SAMBA 3 / LDAP

Ralis par :

Alex FALZON alex.falzon@caramail.com Michal VILLAR villar.m@free.fr

Appuyer sur diter pour accder lditeur dinterface

Retour la page de garde

SOMMAIRE
*(Les phrases en italique verte sont des indicateurs de l'tat d'avancement du projet).

INTRODUCTION:

CAHIER DES CHARGES: STRUCTURE DE LA PLATE-FORME DE TEST: METHODE ADOPTE:

PRSENTATION ET FONCTIONNEMENT DE LANNUAIRE LDAP : Schmas fonctionnels d'authentification:

1 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

FORMAT DE LA BASE ET DFINITIONS : Le Directory Information Tree Les attributs Les classes d'objet Les schmas

INSTALLATION DE LINUX FDORA 3 : Linstallation de Linux Fdora core 3 est termine.

INSTALLATION D'OPENLDAP : CONFIGURATION D'OPENLDAP: -Personnaliser la configuration du fichier slapd.conf: DMARRAGE DU SERVEUR LDAP : -Vrification des processus actifs : -Identification du port dcoute : CRATION DE LA STRUCTURE DIT PRTE RECEVOIR LES DONNES SAMBA - Cration d'un fichier /etc/openldap/base.ldiff : - Insertion de ce fichier l'annuaire LDAP : -Confirmation des insertions : -Gnration des indexes: L'annuaire est dsormais prt recevoir nos comptes Samba.

TEST DE CONNEXION AU SERVEUR LDAP : INSTALLATION DE LOUTIL DADMINISTRATION WEBMIN : INSTALLATION DE LOUTIL DADMINISTRATION PHPLDAPADMIN:

CONFIGURATION DE SAMBA : - Edition du fichier /etc/samba/smb.conf : -Initialisation du mot de passe LDAP : -Dmarrage de Samba : Le serveur samba est prt contrler le domaine.

GRER LES COMPTES: -Ajout d'un compte machine pour se connecter : -Ajout dun compte administrateur notre domaine : -Ajout des groupes d'utilisateurs : -Ajout des utilisateurs dans ces groupes : -Modification de ses proprits (Samba) : -Vrification des utilisateurs prsents dans la base : CRATION DES ENVIRONNEMENTS UTILISATEURS: -Cration du rpertoire /export/samba-test/homes/directeur et gestion des droits : -Gestion des droits et Cration des rpertoire userdir1, usercom1, usertec1 dans /export/samba-test/profiles/: -Cration du fichier /export/samba-test/netlogon/directeur.cmd et gestion des droits : CONFIGURATION DES POSTES CLIENTS : Postes Windows : Postes Linux : On peut dsormais joindre la machine POSTELDAP au domaine MICALEX avec les utilisateurs smbadmin, userdir1, usercom1 et usertec1.

MISE EN PLACE D'UNE AUTHENTIFICATION CRYPTE AVEC TLS: L'authentification est maintenant crypte.

CONCLUSION:

ANNEXE 1 : FICHIER SLAPD.CONF FOURNI PAR DFAUT ANNEXE 2 : FICHIER SLAPD.CONF DFINITIF. ANNEXE 3 : FICHIER CONFIG.PHP ANNEXE 4 : FICHIER SMB.CONF ANNEXE 5 : GLOSSAIRE ANNEXE 6 : COMMANDES IMPORTANTES

2 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

ANNEXE 7 : BIBLIOGRAPHIE

Introduction:
Ce projet et ralis dans le cadre d'une formation AFPA au centre Yves Bodiguel Meudon la fort. Les outils et techniques utiliss sont ceux trouv en Mars 2005. Tout au long de ce mini projet vous trouverez: une prsentation de la technologie LDAP les diffrentes tapes pour la mettre en place: installation de l'OS (Fedora),de samba, des outils d'administrations et de l'annuaire lui-mme. Les procdures de paramtrage et les fichiers de configuration

Pour retourner au sommaire cliquez ici

Cahier des charges:


Une entreprise ayant un parc informatique htrogne (client Linux et Windows) souhaite centraliser la base des utilisateurs, autant pour la recherche d'information sur les utilisateurs que pour les authentifications. Il faudra que cette base de donne (annuaire) soit rapide d'accs, que les clients Windows/Linux puissent s'authentifier sur n'importe quelle station du rseau, et que les communications client/serveur d'authentification soit scurises et cryptes. Les produits choisis sont libres pour l'OS Linux Fdora, et pour le serveur LDAP, OpenLDAP.

Pour retourner au sommaire cliquez ici

Structure de la plate-forme de test:


Pour l'installation de cette plate-forme, nous allons utiliser trois machines identiques connectes un rseau Ethernet: Structure physique: Intel(R) Celeron(R) CPU 2.40GHz 2.39 GHz, 512 Mo de RAM Structure logique:.. sur le 1er : - Serveur samba PDC et LDAP sous Fedora core3 sur le 2nd : - WindowsXP pro sp2 + VMware en virtuel: - Serveur samba PDC et LDAP sous Fedora core3 sur le 3me : (en multiboot) - station Windows XP pro - station Fedora core3

le nom de domaine choisi pour le projet est micalex.

3 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Pour retourner au sommaire cliquez ici

Mthode adopte:
Le 1er serveur permet de faire les tests post-recherche. Le 2nd permet la mise en place "propre" du systme dfinitif et des captures pour le rapport. Le 3me sert de station test Microsoft et Linux.

Pour retourner au sommaire cliquez ici

Prsentation et fonctionnement de lannuaire LDAP :

Le LDAP (Lightweight Directory Access Protocol) est la version TCP/IP du protocole DAP, ce dernier tant le protocole pour accder au protocole OSI du service d'annuaire X500. Dans un premier temps LDAP s'est content d'tre l'interface des annuaires X500, mais maintenant LDAP peut grer compltement les bases (standalone LDAP).

4 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Schmas fonctionnels d'authentification: - Pour Linux:

- Pour Windows:

5 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Pour retourner au sommaire cliquez ici

Format de la base et dfinitions :

Le Directory Information Tree Les LDAP standalone utilisent le format de base de donnes LDBM. Chaque entre est connue de manire unique dans l'arborescence grce son dn (Distinguished Name). Le dn indique le chemin parcourir pour en partant du sommet arriver l'entre correspondante (exemple: dn = Isabelle Bourdais.technique.boulogne.micalex.fr ).

Les attributs Chaque entre DSE peut tre considre comme un objet possdant donc certains attributs, par exemple si une personne est une entre, les attributs peuvent tre, le nom, le prnom, l'ge, .... On peut aussi dfinir des attributs obligatoires (MUST) et d'autres optionnels (MAY).

Les classes d'objet On regroupe les objets qui sont du mme domaine dans une classe d'objet, celle-ci est caractrise par des attributs obligatoires ou optionnels et un type.

Les types de classe d'objet sont: - type structurel classes dobjets concrets de l'annuaire (personnes, groupes de personnes, ...) - type auxiliaire classes d'objets qu'on peut crer, pour rajouter des attributs supplmentaires des classes d'objet de type structurel dj existantes. En C++ on dira que la classe auxiliaire drive d'une classe structurelle. - type abstraite classes d'objet ( par dfaut) qui n'ont pas de signification concrte par exemple la classe top est la classe d'objet gnrique. toutes les autres classes drivent de cette classe.

Toutes les autres classes d'objet drivent de la classe top (la racine). Chaque classe hrite des proprits d'une classe pre et possde des attributs supplmentaires par rapport ce dernier.

6 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Les schmas Un schma dcrit toutes les rgles qu'utilisent le serveur LDAP pour dcrire les classes d'objets (attributs, syntaxe, ...).

Pour retourner au sommaire cliquez ici

Installation de LINUX Fdora 3 :


-Aprs avoir "boot" sur le DVD d'installation taper entrer pour dmarrer. -Choisir la langue (french) et le type de clavier (french latin1). -Choisir le type d'installation personnaliser, un partitionnement automatique. -Sectionner "supprimer toutes les partitions Linux du systme" et confirmer. -Taper sur suivant la fentre "configuration du disque". -Slectionner "configuration des options avances du chargeur de dmarrage"dans la page "configuration du chargeur de dmarrage". -Slectionner "forcer l'utilisation de LBA32" dans la page "configuration avance du chargeur de dmarrage". -Entrer vos paramtres rseau:

-activer le firewall dans la page "configuration du pare-feu". -Slectionner french dans la page "autre langue" et votre fuseau horaire (Europe/Paris) dans la -page "slection du fuseau horaire". -Entrer votre mot de passe. -Choisir les paquetages suivants:

7 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

8 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

-Attendre quelques minutes puis redmarrer. -Accepter le contrat de licence.

9 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

-Dfinir lheure, la, rsolution daffichage, les donnes dutilisateur du systme.

Linstallation de Linux Fdora core 3 est termine.

Pour retourner au sommaire cliquez ici

Installation d'OpenLDAP :
Nous avons install OpenLDAP grce aux paquetages prsent lors de l'installation de Linux Fedora core 3: openldap-3.2.13-2.i386.rpm

Remarque: Si la distribution utilise ne contient pas le paquetage d'origine, il faut alors le tlcharger partir du site: http://www.openldap.org. Une fois tlcharg, il faut installer le paquetage: root#rpm -i openldap-3.2.13-2.i386.rpm

Rcuprer le fichier samba.schema en tlchargeant ladresse suivante (http://web.vcs.u52.k12.me.us/linux/smbldap) le smbldap-installer de Matt Oquist (Software Engineering Consultant). Mettre ce schma dans /etc/openldap/schema/

Pour retourner au sommaire cliquez ici

Configuration d'OpenLDAP:
Le dossier /etc/openldap contient : un rpertoire contenant les schmas. Un fichier ldap.conf. Un fichier slapd.conf.

Contenu du fichier ldap.conf :


# # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example, dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never HOST 127.0.0.1 BASE dc=micalex,dc=fr

Remarque: Le fichier le plus important d'openldap est le slapd.conf (voir annexe 1). Ce fichier dfini la configuration de base de l'annuaire ldap. -Personnaliser la configuration du fichier slapd.conf: ligne 69: il faut renseigner le suffixe: suffix "dc=micalex,dc=fr" ligne 70: il faut renseigner le dn de l'administrateur de l'annuaire:

10 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

rootdn

"cn=manager,dc=micalex,dc=fr"

Dfinir un mot de passe crypt pour l'administration de l'annuaire : [root@srvldapv]#slappasswd v s micalex h {CRYPT} On obtient la valeur crypte du mot de passe: {CRYPT}avMFINMraPfxQ. Dautres mthodes de cryptage son applicables (voir : man slappasswd).

Exemple :
[root@srvldapv]#slappasswd

New password:******* Re-enter password:******* On obtient la valeur crypte du mot de passe: {SSHA}RcsffR/524CVgfAERg/dY5247 Dcommenter la ligne 75 et remplacer la valeur:{crypt}ijFYNcSNctBYg par la valeur: {CRYPT}avMFINMraPfxQ.

le fichier slapd.conf dfinitif est reprsent sur lannexe 2.

Pour retourner au sommaire cliquez ici

Dmarrage du serveur LDAP :


[root@srvldapv]#Service ldap start -Vrification des processus actifs :
[root@srvldapv]#ps -ef | grep slapd root 2388 0.0 0.8 40140 4152 ? Ssl 12:54 0:00 /usr/sbin/slapd u ldap h ldap:/// root 4486 0.0 0.1 3720 740 pts/0 S+ 12:54 0:00 grep slapd

-Identification du port dcoute :


[root@srvldapv]#netstat -natup | grep LISTEN tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 17433/slapd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 290/sshd

Le serveur fonctionne bien.

Pour retourner au sommaire cliquez ici

Cration de la structure DIT prte recevoir les donnes Samba


- Cration d'un fichier /etc/openldap/base.ldiff :
[root@srvldapv]#touch /etc/openldap/base.ldiff # Organization for Samba Base dn: dc=micalex,dc=fr objectclass: dcObject objectclass: organization dc: micalex o: Samba 3 description: Samba 3 # Manager LDAP dn: cn=Manager,dc=micalex,dc=fr objectclass: organizationalRole cn: Manager description: LDAP Manager # Conteneur d'utilisateurs dn: ou=Users,dc=micalex,dc=fr objectclass: top objectclass: organizationalUnit ou: Users

11 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

# Conteneur de machines dn: ou=Computers,dc=micalex,dc=fr objectclass: top objectclass: organizationalUnit ou: Computers # Administrateur dn: cn=admin,ou=Users,dc=micalex,dc=fr cn: admin objectclass: top objectclass: organizationalRole objectclass: simpleSecurityObject userPassword: {SSHA}aVF+ESI/rloVCQsmLqYinLlkh/v1krej

- Insertion de ce fichier l'annuaire LDAP :


[root@srvldapv ~]# ldapadd -W -D 'cn=Manager,dc=micalex,dc=fr' -xh localhost -f /etc/openldap/base.ldiff Enter LDAP Password:*******

-Confirmation des insertions :


adding adding adding adding adding new new new new new entry entry entry entry entry "dc=micalex,dc=fr" "cn=Manager,dc=micalex,dc=fr" "ou=Users,dc=micalex,dc=fr" "ou=Machines,dc=micalex,dc=fr" "cn=admin,ou=Users,dc=micalex,dc=fr"

-Gnration des index : [root@srvldapv]#slapindex f /etc/openldap/slapd.conf L'annuaire est dsormais prt recevoir nos comptes Samba.

Pour retourner au sommaire cliquez ici

Test de connexion au serveur LDAP :


[root@srvldapv ~]# ldapsearch -b 'dc=micalex,dc=fr' -xh srvldapv.micalex.fr # extended LDIF # # LDAPv3 # base <dc=micalex,dc=fr> with scope sub # filter: (objectclass=*) # requesting: ALL # micalex.fr dn: dc=micalex,dc=fr objectClass: dcObject objectClass: organization dc: micalex o: Samba 3 description: Samba 3 # Manager, micalex.fr dn: cn=Manager,dc=micalex,dc=fr objectClass: organizationalRole cn: Manager description: LDAP Manager # Users, micalex.fr dn: ou=Users,dc=micalex,dc=fr objectClass: top objectClass: organizationalUnit ou: Users # Machines, micalex.fr dn: ou=Machines,dc=micalex,dc=fr objectClass: top objectClass: organizationalUnit ou: Machines # admin, Users, micalex.fr dn: cn=admin,ou=Users,dc=micalex,dc=fr cn: admin objectClass: top objectClass: organizationalRole objectClass: simpleSecurityObject userPassword:: e1NTSEF9YVZGK0VTSS9ybG9WQ1FzbUxxWWluTGxraC92MWtyZWo= # search result search: 2

12 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

result: 0 Success # numResponses: 6 # numEntries: 5

Pour retourner au sommaire cliquez ici

Installation de loutil dadministration webmin :


-Tlcharger webmin-2.180-1.noarch.rpm depuis: http://webmin.com/download.html

-Installer le paquetage : [root@srvldapv]#rpm i

-Pour utiliser cet outil, taper dans firefox http://127.0.0.1:10000/ .

-Pour tablir une connexion scurise (HTTPS): 1) Ouvrer Webmin, cliquer sur Webmin Configuration, puis SSL Encryption . 2) Crer une nouvelle cl SSL en cliquant sur Create now. Pour utiliser Webmin, taper dornavant dans firefox https://127.0.0.1:10000/ .

Pour retourner au sommaire cliquez ici

Installation de loutil dadministration phpldapadmin:


-Tlcharger phpldapadmin 0.9.5 depuis: http://phpldapadmin.sourceforge.net/ -Dsarchiver vers /var/www/html/ avec : [root@srvldapv]#tar xvzf /root/phpldapadmin-0.9.5.tar.gz C /var/www/html/

13 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

-Veriffier avec: [root@srvldapv]#ls /var/www/html/ -Dmarrer le serveur web avec: [root@srvldapv]#service httpd start -Vrifier son bon fonctionnement, vous devriez tomber sur la page test dapache avec: http://192.168.1.207/ ___________________________________________________

-Editer le fichier config.php.example comme sur lannexe 3. -Le renommer avec : [root@srvldapv]#cp /var/www/html/phpldapadmin-0.9.5/config.php.example /var/www/html/phpldapadmin-0.9.5/config.php -Pour utiliser cet outil, taper dans firefox http://srvldapv/phpldapadmin-0.9.5/ .

- Pour tablir une connexion scurise (HTTPS):

1) Ouvrer Webmin, cliquer sur Servers, puis Apache, et enfin Per-Directory Options Files.

2) Indiquer le chemin de Phpldapadmin: /var/www/html/php

3) Cliquer ensuite sur Create Options file.

Pour utiliser Phpldapadmin, taper dornavant dans firefox https://srvldapv/phpldapadmin-0.9.5/ .

Pour retourner au sommaire cliquez ici

14 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Configuration de Samba :
- Edition du fichier /etc/samba/smb.conf :
fichier smb.conf [global] passdb backend = ldapsam:ldap://srvldapv.micalex.fr, guest ldap admin dn = cn=Manager,dc=micalex,dc=fr ldap ssl = off ldap delete dn = no ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap group suffix = ou=Groups ldap suffix = dc=micalex,dc=fr workgroup = MICALEX netbios name = SRVLDAPV server string = SRVLDAPV encrypt passwords = yes domain logons = yes os level = 65 domain master = Yes local master = Yes security = user log file = /var/log/samba/%m.log log level = 2 [tmp] comment = Partage des fichiers temporaires path = /tmp read only = no writable = yes guest ok = yes ; Scripts et stratgies [netlogon] path = /export/samba-test/netlogon comment = Network logon service read only = yes guest ok = yes ; A mapper via \\serveur\utilisateur [homes] path = /export/samba-test/homes/%u comment = Home directories valid users = %S writeable = yes read only = no create mask = 0664 directory mask = 0775 browsable = no ; A mapper via \\serveur\profiles\utilisateur [profiles] path = /export/samba-test/profiles create mask = 0600 directory mask = 0700 browsable = no writeable = yes

-Initialisation du mot de passe LDAP : [root@srvldapv]#smbpasswd w micalex Setting stored password for cn=Manager,dc=micalex,dc=fr in secrets.tdb -Dmarrage de Samba : [root@srvldapv]#service samba start Le serveur samba est prt contrler le domaine.

Pour retourner au sommaire cliquez ici

Grer les comptes:


-Ajout d'un compte machine pour se connecter :

15 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

[root@srvldapv]#useradd POSTELDAP$ (sous Unix) [root@srvldapv]#smbpasswd -a -m POSTELDAP (pour Samba)

-Ajout dun compte administrateur notre domaine : -Ajout d'un administrateur Samba: [root@srvldapv]#useradd -o -u 0 -g 0 smbadmin (Unix) [root@srvldapv]#smbpasswd -a smbadmin (Samba) Remarque: Ce compte sera utilis pour toutes les oprations effectues avec la commande net et pour la jonction de la machine Windows au domaine.

-Ajout des groupes d'utilisateurs : [root@srvldapv]#groupadd direction (Unix) [root@srvldapv]#groupadd commercial (Unix) [root@srvldapv]#groupadd technique (Unix) -Ajout des utilisateurs dans ces groupes : [root@srvldapv]#useradd -g direction userdir1 (Unix) [root@srvldapv]#smbpasswd -a userdir1 (Samba) [root@srvldapv]#useradd -g commercial usercom1 (Unix) [root@srvldapv]#smbpasswd -a usercom1 (Samba) [root@srvldapv]#useradd -g technique usertec1 (Unix) [root@srvldapv]#smbpasswd -a usertec1 (Samba) -Modification de ses proprits (Samba) : Dfinition des rpertoires profiles et homedir ainsi que la mise en place des scripts et d'une lettre de lecteur rseau pour l'utilisateur: userdir1 [root@srvldapv]#pdbedit -r --profile=\\\\ SRVLDAPV \\profiles\\userdir1 --homedir =\\\\SRVLDAPV\\userdir1--script=userdir1.cmd --drive=U: userdir1 usercom1 [root@srvldapv]#pdbedit -r --profile=\\\\ SRVLDAPV \\profiles\\usercom1 --homedir =\\\\SRVLDAPV\\usercom1--script=usercom1.cmd --drive=U: usercom1 usertec1 [root@srvldapv]#pdbedit -r --profile=\\\\ SRVLDAPV \\profiles\\usertec1 --homedir =\\\\SRVLDAPV\\usertec1--script=usertec1.cmd --drive=U: usertec1 -Vrification des utilisateurs prsents dans la base :

16 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

[root@srvldapv]#pdbedit -vL

Ou via phpldapadmin:

Pour retourner au sommaire cliquez ici

Cration des environnements utilisateurs:


-Cration du rpertoire /export/samba-test/homes/directeur et gestion des droits : [root@srvldapv]#mkdir -p /export/samba-test/homes/userdir1 [root@srvldapv]#chown userdir1:direction /export/samba-test/homes/userdir1 [root@srvldapv]#chmod 700 /export/samba-test/homes/userdir1 [root@srvldapv]#mkdir p /export/samba-test/homes/usercom1 [root@srvldapv]#chown userdir1:direction /export/samba-test/homes/usercom1 [root@srvldapv]#chmod 700 /export/samba-test/homes/usercom1 [root@srvldapv]#mkdir p /export/samba-test/homes/usertec1 [root@srvldapv]#chown userdir1:direction /export/samba-test/homes/usertec1 [root@srvldapv]#chmod 700 /export/samba-test/homes/usertec1

-Gestion des droits et Cration des rpertoire userdir1, usercom1, usertec1 dans /export/samba-test/profiles/: [root@srvldapv]#mkdir p /export/samba-test/profiles/userdir1 [root@srvldapv]#chown userdir1:direction /export/samba-test/profiles/userdir1 [root@srvldapv]#chmod 700 /export/samba-test/profiles/userdir1 [root@srvldapv]#mkdir p /export/samba-test/profiles/usercom1 [root@srvldapv]#chown usercom1:commercial /export/samba-test/profiles/usercom1 [root@srvldapv]#chmod 700 /export/samba-test/profiles/usercom1 [root@srvldapv]#mkdir p /export/samba-test/profiles/usertec1 [root@srvldapv]#chown usertec1:technique /export/samba-test/profiles/usertec1 [root@srvldapv]#chmod 700 /export/samba-test/profiles/usertec1

-Cration du fichier /export/samba-test/netlogon/directeur.cmd et gestion des droits :

[root@srvldapv]#echo -e "echo \"Test\"\npause" > /export/samba-test/netlogon/userdir1.cmd [root@srvldapv]#chown directeur:direction /export/samba-test/netlogon/userdir1.cmd [root@srvldapv]#chmod 400 /export/samba-test/netlogon/userdir1.cmd

On peut dsormais joindre la machine POSTELDAP au domaine MICALEX avec les utilisateurs smbadmin, userdir1, usercom1 et usertec1.

17 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

18 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Pour retourner au sommaire cliquez ici

Configuration des postes clients :


Postes Windows :

Remarque: Pour que les postes Windows soient authentifis il faut les faire appartenir au Domaine NT (MICALEX) que nous avons crer. -Il faut au pralable crer un compte machine sur le PDC du Domaine : [root@srvldapv]#useradd POSTE07$ [root@srvldapv]#smbpasswd a m POSTE07

-Procdure sur le poste client:

1) Cliquez droit sur le poste de travail 2) Slectionnez proprits 3) Slectionnez longlet nom de lordinateur 4) Slectionnez Modifier

5) Slectionner "Domaine" dans "membre de:" et rentrer le nom du Domaine NT que vous voulez

6) Utilisez le compte smbadmin pour rejoindre le Domaine.

19 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

7) Redmarrez le poste puis utiliser un compte existant sous Samba (userdir1, usercom1,) pour vous authentifier sur le poste.

Postes Linux :

Remarque: Pour que les postes Linux sauthentifient sur lannuaire LDAP on utilise PAM (Pluggable Authentication Modules) qui nous permettra de dfinir les niveaux et les mthodes dauthentification. PAM est un service dauthentification qui ncessite que les comptes qui doivent sauthentifier sur lannuaire LDAP existent en local. Pour la configuration du service PAM sur les postes clients nous utilisons le GUI : Webmin. -Procdure : 1) Connexion a Webmin en mode scuris (https). On utilise le compte root du poste clients. https://127.0.0.1:10000/ Pour utiliser cet outil, taper dans firefox: 2) Slectionnez le module PAM situ sous l'onglet System

3) Slectionnez le service login

20 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Pour retourner au sommaire cliquez ici

Mise en place d'une authentification crypte avec TLS:


Les captures suivantes attestent d'une faille de scurit.

En effet le mot de passe est bien crypt (mme chiffrs, ceux-ci sont prcieux... On trouve de nombreux outils pour les "casser"...), mais pas le SID, le GID et l' UID passent en clair sur le rseau. Pour respecter le cahier des charges nous avons retenu la solution d'authentification crypte avec TLS.

21 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

Une manire simple de scuriser nos transactions est de passer par TLS (Transport Layer Security, anciennement SSLv3.0, renomm et normalis par l'IETF, cf. RFC2246), qui assurera le chiffrement des donnes Remarque: Pour que lauthentification soit crypte il faut utiliser le protocole de dialogue scuris TLS. Il utilise un certificat pour l'authentification entre le poste client et le serveur LDAP.

1) Dans le rpertoire /etc/openldap, crer un rpertoire 'cert' qui contiendra les clefs et le certificat : [root@srvldapv]#mkdir /etc/openldap/cert 2) Dans ce rpertoire, gnrez la clef prive du serveur : [root@srvldapv]#openssl genrsa -out serverkey.pem 1024 3) Puis la clef publique et la demande de certificat (dans cert.req) : [root@srvldapv]#openssl req -new -key serverkey.pem -out servercert.req Compltez correctement les informations qui vous sont demandes. Pensez bien renseigner le CN (Common Name) par le FQDN (nom dns complet) de votre serveur, il sera utilis lors de l'interrogation de la base LDAP par les clients.

Remarque: Pour autoriser les communications TLS, il faut modifier le fichier ldap.conf. Deux types de directives existent : les directives OpenLDAP pures (voir Annexe 6 ) les directives ajoutes par libpam_ldap et libnss_ldap.

4) Sur le serveur LDAP (srvldapv.micalex.fr), modifier /etc/openldap/slapd.conf et ajouter les chemins vers les diffrentes clefs et le certificat :
# TLS # Chemin vers le certificat du serveur LDAP TLSCertificateFile /etc/openldap/cert/servercert.pem # Chemin vers la clef prive du serveur LDAP TLSCertificateKeyFile /etc/openldap/cert/serverkey.pem # Chemin vers le certificat de la CA TLSCACertificateFile /etc/openldap/cert/cacert.pem

5) Ajoutez ceci au fichier ldap.conf du poste client :

22 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

#Directive SSL OpenSSL (pour ldapsearch notamment) TLS_CACERT /etc/openldap/cert/cacert.pem #Directives SSL libnss et libpam # Activation SSL brute (port 636) # ssl yes # Acivation SSL via commande starttls (port standard 389) ssl start_tls #Verifie certificat serveur tls_checkpeer yes # Emplacement certificat CA tls_cacertfile /etc/openldap/cert/cacert.pem

6) Le fichier 'cacert' (Il s'agit du certificat) doit tre prsent sur le disque de la station. Il convient de le copier au bon endroit (ici /etc/openldap/cert/) depuis notre serveur LDAP.

Grce cette mthode le sniffe du message n'apporte plus aucune information critique:

L'authentification est maintenant crypte.

Pour retourner au sommaire cliquez ici

Conclusion:
Ce projet dinteroprabilit de Windows et de Linux nous a permis de nous rendre compte des difficults dauthentifications pour des systmes htrognes. Il a fallut mettre en place une stratgie nous permettant dunifi la gestion des comptes utilisateurs tout en assurant un niveau de scurit acceptable pour lauthentification. Nous avons donc choisi deux stratgies dauthentifications diffrentes mais sappuyant sur une base unique de comptes : Pour Windows nous avons opt pour un domaine NT avec pour contrleur Samba 3 avec comme base de comptes un annuaire LDAP. Pour Linux nous avons choisis une authentification directe des comptes utilisateurs sur un annuaire LDAP.

Il a fallut assurer un dialogue scuris pour lauthentification, de base entre Windows et Samba 3 et un dialogue crypte par TLS pour Linux et LDAP. Nous avons remarque une faille de scurit si lon utilise les profils errants car le passage des fichiers du serveur la station seffectue en clair. Pour une administration en graphique nous avons opt pour des interfaces permettant ladministration distante. Cette administration est scuris par lemploi de connexions scuris : protocole HTTPS. OpenLDAP Samba 3 : : PhpLDAPadmin Webmin

Linterface Webmin permet de plus une administration systme de nimporte quel poste sous Linux, on pourras grer le niveau dauthentification de nimporte quel processus par le biais de PAM. Certain logicels nous offres la possibilit daffiner encore plus la scurit. Par exemple le firewall NuFW est capable de grer des rgles de filtrages en fonction des utilisateurs. Pour chaque paquet de demande de connexion il peut utiliser l'annuaire LDAP pour authentifier l'utilisateur. Les

23 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

tests de performance dmontrent l'efficacit et la rapidit de cette mthode. Nombre d'autres logiciels offres des solutions s'appuyant sur cette technique stable et gratuite. Grce a ce projet nous avons pu voir que linteroprabilit dans un milieu htrogne est possible mais reste une solution lourde la mise en place et rclame une finesse extrme la configuration pour fournir un niveau de scurit acceptable. Pour retourner au sommaire cliquez ici

Annexe 1 : fichier slapd.conf fourni par dfaut


# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema # Allow LDAPv2 client connections. allow bind_v2 This is NOT the default.

# Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile argsfile # # # # # # # # # # # # # # # /var/run/slapd.pid /var/run/slapd.args

Load dynamic backend modules: modulepath /usr/sbin/openldap moduleload back_bdb.la moduleload back_ldap.la moduleload back_ldbm.la moduleload back_passwd.la moduleload back_shell.la The next three lines allow use of TLS for encrypting connections using a dummy test certificate which you can generate by changing to /usr/share/ssl/certs, running "make slapd.pem", and fixing permissions on slapd.pem so that the ldap user or group can read it. Your client software may balk at self-signed certificates, however. TLSCACertificateFile /usr/share/ssl/certs/ca-bundle.crt TLSCertificateFile /usr/share/ssl/certs/slapd.pem TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem

# Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64 # # # # # # # # # # # # # # # # # # # # Sample access control policy: Root DSE: allow anyone to read it Subschema (sub)entry DSE: allow anyone to read it Other DSEs: Allow self write access Allow authenticated users read access Allow anonymous users to authenticate Directives needed to implement policy: access to dn.base="" by * read access to dn.base="cn=Subschema" by * read access to * by self write by users read by anonymous auth if no access controls are present, the default policy allows anyone and everyone to read anything but restricts updates to rootdn. (e.g., "access to * by * read") rootdn can always read and write EVERYTHING!

####################################################################### # ldbm and/or bdb database definitions ####################################################################### database bdb suffix "dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" # Cleartext passwords, especially for the rootdn, should # be avoided. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. # rootpw secret # rootpw {crypt}ijFYNcSNctBYg # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /var/lib/ldap

24 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

# Indices to maintain for this database index objectClass index ou,cn,mail,surname,givenname index uidNumber,gidNumber,loginShell index uid,memberUid index nisMapName,nisMapEntry

eq,pres eq,pres,sub eq,pres eq,pres,sub eq,pres,sub

# Replicas of this database #replogfile /var/lib/ldap/openldap-master-replog #replica host=ldap-1.example.com:389 starttls=critical # bindmethod=sasl saslmech=GSSAPI # authcId=host/ldap-master.example.com@EXAMPLE.COM

Pour retourner au sommaire cliquez ici

Annexe 2 : fichier slapd.conf dfinitif.


# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema #include /etc/openldap/schema/java.shema #include /etc/openldap/schema/openldap.shema #include /etc/openldap/schema/misc.shema #include /etc/openldap/schema/dyngroup.shema #include /etc/openldap/schema/samba.shema # Allow LDAPv2 client connections. allow bind_v2 This is NOT the default.

# Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile argsfile # # # # # # # # # # # # # # # /var/run/slapd.pid /var/run/slapd.args

Load dynamic backend modules: modulepath /usr/sbin/openldap moduleload back_bdb.la moduleload back_ldap.la moduleload back_ldbm.la moduleload back_passwd.la moduleload back_shell.la The next three lines allow use of TLS for encrypting connections using a dummy test certificate which you can generate by changing to /usr/share/ssl/certs, running "make slapd.pem", and fixing permissions on slapd.pem so that the ldap user or group can read it. Your client software may balk at self-signed certificates, however. TLSCACertificateFile /usr/share/ssl/certs/ca-bundle.crt TLSCertificateFile /usr/share/ssl/certs/slapd.pem TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem

# Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64 # # # # # # # # # # # # # # # # # # # # Sample access control policy: Root DSE: allow anyone to read it Subschema (sub)entry DSE: allow anyone to read it Other DSEs: Allow self write access Allow authenticated users read access Allow anonymous users to authenticate Directives needed to implement policy: access to dn.base="" by * read access to dn.base="cn=Subschema" by * read access to * by self write by users read by anonymous auth if no access controls are present, the default policy allows anyone and everyone to read anything but restricts updates to rootdn. (e.g., "access to * by * read") rootdn can always read and write EVERYTHING!

####################################################################### # ldbm and/or bdb database definitions ####################################################################### database bdb

25 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

suffix "dc=micalex,dc=fr" rootdn "cn=Manager,dc=micalex,dc=fr" # Cleartext passwords, especially for the rootdn, should # be avoided. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw {CRYPT}avMFiNMraPfxQ # rootpw {crypt}ijFYNcSNctBYg # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /var/lib/ldap # Indices to maintain for this database index objectClass index ou,cn,mail,surname,givenname index uidNumber,gidNumber,loginShell index uid,memberUid index nisMapName,nisMapEntry eq,pres eq,pres,sub eq,pres eq,pres,sub eq,pres,sub

# Replicas of this database #replogfile /var/lib/ldap/openldap-master-replog #replica host=ldap-1.example.com:389 starttls=critical # bindmethod=sasl saslmech=GSSAPI # authcId=host/ldap-master.example.com@EXAMPLE.COM

Par la suite sur le serveur LDAP modifier /etc/openldap/slapd.conf et ajouter les chemins vers les diffrentes clefs et le certificat pour l'authentification via TLS:
# TLS # Chemin vers le certificat du serveur LDAP TLSCertificateFile /etc/openldap/cert/servercert.pem # Chemin vers la clef prive du serveur LDAP TLSCertificateKeyFile /etc/openldap/cert/serverkey.pem # Chemin vers le certificat de la CA TLSCACertificateFile /etc/openldap/cert/cacert.pem

Pour retourner au sommaire cliquez ici

Annexe 3 : fichier config.php


<?php /* * * * * * * * * */

The phpLDAPadmin config file This is where you customize phpLDAPadmin. The most important part is immediately below: The "LDAP Servers" section. You must specify at least one LDAP server there. You may add as many as you like. You can also specify your language, and many other options.

/** * phpLDAPadmin can encrypt the content of sensitive cookies if you set this * to a big random string. */ $blowfish_secret = ''; // Your LDAP servers $i=0; $servers = array(); $servers[$i]['name'] = 'srvldapv.micalex.fr';

/* A convenient name that will appear in the tree viewer and throughout phpLDAPadmin to identify this LDAP server to users. */ $servers[$i]['host'] = 'srvldapv.micalex.fr'; /* Examples: 'ldap.example.com', 'ldaps://ldap.example.com/', 'ldapi://%2fusr%local%2fvar%2frun%2fldapi' (Unix socket at /usr/local/var/run/ldap) Note: Leave 'host' blank to make phpLDAPadmin ignore this server. */ $servers[$i]['base'] = 'dc=micalex,dc=fr'; /* The base DN of your LDAP server. Leave this blank to have phpLDAPadmin auto-detect it for you. */ $servers[$i]['port'] = 389; /* The port your LDAP server listens on (no quotes). 389 is standard. */ $servers[$i]['auth_type'] = 'config'; /* Three options for auth_type: 1. 'cookie': you will login via a web form, and a client-side cookie will store your login dn and password. 2. 'session': same as cookie but your login dn and password are stored on the web server in a persistent session variable. 3. 'config': specify your login dn and password here in this config file. No login will be required to use phpLDAPadmin for this server. Choose wisely to protect your authentication information appropriately for your situation. If you choose 'cookie', your cookie contents will be encrypted using blowfish and the secret your specify above as $blowfish_secret. */ $servers[$i]['login_dn'] = 'cn=Manager,dc=micalex,dc=fr'; /* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or 'cookie' or 'session' auth_types, leave the login_dn and login_pass blank. If you specify a login_attr in conjunction with a cookie or session auth_type, then you can also specify the login_dn/login_pass here for searching the directory for users (ie, if your LDAP server

26 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

does not allow anonymous binds. */ Your LDAP password. If you specified an empty login_dn above, this MUST also be blank. */ $servers[$i]['tls'] = false; /* Use TLS (Transport Layer Security) to connect to the LDAP server. */ $servers[$i]['low_bandwidth'] = false; /* If the link between your web server and this LDAP server is slow, it is recommended that you set 'low_bandwidth' to true. This will cause phpLDAPadmin to forego some "fancy" features to conserve bandwidth. */ $servers[$i]['default_hash'] = 'crypt'; /* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5, blowfish, crypt or leave blank for now default algorithm. */ $servers[$i]['login_attr'] = 'dn'; /* If you specified 'cookie' or 'session' as the auth_type above, you can optionally specify here an attribute to use when logging in. If you enter 'uid' and login as 'dsmith', phpLDAPadmin will search for (uid=dsmith) and log in as that user. Leave blank or specify 'dn' to use full DN for logging in. Note also that if your LDAP server requires you to login to perform searches, you can enter the DN to use when searching in 'login_dn' and 'login_pass' above. You may also specify 'string', in which case you can provide a string to use for logging users in. See 'login_string' directly below. */ $servers[$i]['login_string'] = 'uid=<username>,ou=People,dc=micalex,dc=fr'; /* If you specified 'cookie' or 'session' as the auth_type above, and you specified 'string' for 'login_attr' above, you must provide a string here for logging users in. If, for example, I I have a lot of user entries with DNs like "uid=dsmith,ou=People,dc=example,dc=com", then I can specify a string "uid=<username>,ou=People,dc=example,dc=com" and my users can login with their user names alone, i.e., "dsmith" in this case. */ $servers[$i]['login_class'] = ''; /* If 'login_attr' is used above such that phpLDAPadmin will search for your DN at login, you may restrict the search to a specific objectClass. E.g., set this to 'posixAccount' or 'inetOrgPerson', depending upon your setup. */ $servers[$i]['read_only'] = false; /* Specify true If you want phpLDAPadmin to not display or permit any modification to the LDAP server. */ $servers[$i]['show_create'] = true; /* Specify false if you do not want phpLDAPadmin to draw the 'Create new' links in the tree viewer. */ $servers[$i]['enable_auto_uid_numbers'] = false; /* This feature allows phpLDAPadmin to automatically determine the next available uidNumber for a new entry. */ $servers[$i]['auto_uid_number_mechanism'] = 'search'; /* The mechanism to use when finding the next available uidNumber. Two possible values: 'uidpool' or 'search'. The 'uidpool' mechanism uses an existing uidPool entry in your LDAP server to blindly lookup the next available uidNumber. The 'search' mechanism searches for entries with a uidNumber value and finds the first available uidNumber (slower). */ $servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=micalex,dc=fr'; /* The DN of the search base when the 'search' mechanism is used above. */ $servers[$i]['auto_uid_number_min'] = 1000; /* The minimum number to use when searching for the next available UID number (only when 'search' is used for auto_uid_number_mechanism' */ $servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=micalex,dc=fr'; /* The DN of the uidPool entry when 'uidpool' mechanism is used above. */ $servers[$i]['auto_uid_number_search_dn'] = ''; /* If you set this, then phpldapadmin will bind to LDAP with this user ID when searching for the uidnumber. The idea is, this user id would have full (readonly) access to uidnumber in your ldap directory (the logged in user may not), so that you can be guaranteed to get a unique uidnumber for your directory. */ $servers[$i]['auto_uid_number_search_dn_pass'] = ''; /* The password for the dn above. */ $servers[$i]['disable_anon_bind'] = false; /* Disable the anonymous login. */ $servers[$i]['custom_pages_prefix'] = 'custom_'; /* Use customized page with prefix when available. */ $servers[$i]['login_pass'] = 'micalex'; /* $servers[$i]['unique_attrs_dn'] = ''; /* If you set this, then phpldapadmin will bind to LDAP with this user when testing for unique attributes (as set in unique_attrs array). If you want to enforce unique attributes, than this id should have full (readonly) access to the attributes in question (the logged in user may not have enough access) */ $servers[$i]['unique_attrs_dn_pass'] = ''; /* The password for the dn above */

Le fichier conf.php est trs consquent. Mais la suite ne demandant pas de modification, nous ne lavons pas prsent dans son intgralit. Pour retourner au sommaire cliquez ici

Annexe 4 : fichier smb.conf


[global] passdb backend = ldapsam:ldap://srvldapv.micalex.fr, guest ldap admin dn = cn=Manager,dc=micalex,dc=fr ldap ssl = off ldap delete dn = no ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap group suffix = ou=Groups ldap suffix = dc=micalex,dc=fr workgroup = MICALEX netbios name = SRVLDAPV server string = SRVLDAPV encrypt passwords = yes domain logons = yes

27 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

os level = 65 domain master = Yes local master = Yes security = user log file = /var/log/samba/%m.log log level = 2 [tmp] comment = Partage des fichiers temporaires path = /tmp read only = no writable = yes guest ok = yes ; Scripts et stratgies [netlogon] path = /export/samba-test/netlogon comment = Network logon service read only = yes guest ok = yes ; A mapper via \\serveur\utilisateur [homes] path = /export/samba-test/homes/%u comment = Home directories valid users = %S writeable = yes read only = no create mask = 0664 directory mask = 0775 browsable = no ; A mapper via \\serveur\profiles\utilisateur [profiles] path = /export/samba-test/profiles create mask = 0600 directory mask = 0700 browsable = no writeable = yes

Pour retourner au sommaire cliquez ici

Annexe 5 : glossaire
ACL (Access Control List) : Liste spcifiant les droits attribus un ou plusieurs acteurs (ex : un utilisateur) sur une ressource (ex : un fichier). BDC (Backup Domain Controller) : Contrleur secondaire de domaine, prend le relais du PDC en cas de panne. Appellation propre un domaine NT. Classe : permet de dfinir les particularits d'une famille d'objets, en spcifiant des attributs obligatoires, et/ou des attributs optionnels possibles. Il y a possiblit d'hritage entre classes, multiple ou non, pour les objets LDAP (Pour une sous-classe, obtention automatique des attributs dfinis dans les classes suprieure dont elle hrite). Toutes les classes hritent de la classe Top, qui est la classe du sommet de la hirarchie des classes (un seul attribut : objectClass). DC (Domain Controller) : Terme gnrique pour dsigner un contrleur de domaine, qu'il soit PDC, BDC (NT) ou qu'il n'ait pas de niveau d'importance particulier (Active Directory). DIB (Directory Information Base) : Un annuaire LDAP/X.500 est une collection d'information de toutes catgories. Ces informations sont stockes dans la "Directory Information Base" ou DIB. La DIB est composes d'entres, dont le contenu est rgit par les notions d'objet et de classes. DIT (Directory Information Tree) : Un arbre LDAP/X.500 est organis de faon arborescente, partir d'une racine unique nomme 'root'. Cette racine peut tre vue comme une entre nulle (objet vide). DN (Distinguish Name) : Au sein d'un annuaire LDAP, reprsente le nom et le chemin d'un objet. Exemple : "cn=Users,ou=Groups,dc=martymac,dc=com". Entres LDAP : Les entres LDAP sont une collection d'attributs. Chaque attribut dcrit un type bien particulier d'information, et peut contenir une ou plusieurs valeurs (On dit qu'un attribut peut tre multi-valu). A chaque type d'attribut est li une syntaxe spcifique donnant le format possible de ses valeurs. GID (Group Identifier) : Identifiant numrique reprsentant un groupe d'utilisateurs sous Unix. GUI (Graphical User Interface) : Interface graphique LDAP (Lightweight Directory Access Protocol) : Adaptation allge du protocole X500. Protocole de gestion d'annuaires rseaux. NetBios (Network Basic Input/Output System) : n'est pas un protocole. Mthode de communication sur un protocole existant ; est en fait une couche intermdiaire entre SMB et un protocole sous-jacent tel que TCP (cf. NBT) ou IPX. Il fonctionne la couche 5 (session) du modle OSI. Fournit une mthode de rsolution de noms et de services aux couches suprieures. Utilise un modle de noms de machines de 15 caractres + 1 caractre de contrle spcifiant les services offerts par la machines. NetBios a t dvelopp en 1983 par Sytec Inc. pour IBM.

28 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

NSS (NSSwitch, Name Service Switch) : Mcanisme qui intercepte les requtes de noms effectues par la machine (concernant les noms de machines, d'utilisateurs : cf. getent, ...) et les redirige vers diffrentes sources d'informations (LDAP, MySQL...). Fonctionne avec diffrents modules. Objets LDAP : La notion d'objet permet de reprsenter abstraitement tout type d'information ou d'entit existante. Une classe d'objet est une famille d'objets ayant certaines caractristiques communes. OIDs (Object Identifiers) : Les Object Identifiers sont des suites uniques de nombres, qui servent identifier de faon sre un type de donne. Des OIDs sont utiliss pour dsigner l'identit des classes, des types d'attributs, et des syntaxes possibles de ces attributs. Les OIDs sont forms partir de la hirarchie spcifie par l'OSI, au niveau mondial ( de la mme faon que les objets dcrits dans les MIBs...)

PAM (Pluggable Authentication Modules) : Mcanisme d'authentification par modules. Il est ainsi possible d'utiliser toutes sortes de sources de donnes (fichier passwd, LDAP, biomtrie...) pour valider un utilisateur. PDC (Primary Domain Controller) : Contrleur principal de domaine. Appellation propre un domaine NT. SAM (Security Account Manager) : Base de donnes contenant les informations de scurit sur un serveur Windows NT, notamment les comptes et mots de passes des utilisateurs. Schma : Le schma d'un annuaire est un ensemble de rgles, qui doivent tre utilises par le gestionnaire d'arbre (DIB et DIT), pour limiter les possibilits de cration et de structuration des entres. SID (Security Identifier): Un SID est un identifiant unique attribu chaque acteur d'un domaine Windows. Il est compos d'une partie nomme "SID local", qui identifie le domaine, et d'une seconde que l'on appelle "RID" (Relative Identifier), qui identifie l'acteur (utilisateur/groupe/machine) au sein du domaine : un exemple de SID pourrait-tre : S-1-5-21-3493456274-4211610059-1786859526-512 qui identifie le groupe d'Administrateurs du domaine (512) au sein du domaine S-1-5-21-3493456274-4211610059 . TLS (Transport Layer Security) : Anciennement SSLv3.0, renomm et normalis par l'IETF, cf. RFC2246. Protocole de dialogue scuris pour attaquer un serveur LDAP. UID (User Identifier) : Identifiant numrique reprsentant un utilisateur sous Unix. UNC (Universal Naming Convention) : Convention de nommage universelle (sous Windows) permettant de dsigner le chemin d'un rpertoire partag. Ex. : \\Serveur\partage. X500 : Standard conu par les oprateurs tlcoms pour interconnecter leurs annuaires tlphoniques. Pour retourner au sommaire cliquez ici

Annexe 6 : commandes importantes


Contenu du package OpenLDAP : ldapadd Ldapcompare ldapdelete ldapmodify ldapmodrdn ldappasswd ldapsearch ldapwhoami ouvre une connexion au serveur LDAP et ajoute des entres. ouvre une connexion au serveur LDAP et compare suivant les paramtres spcifis. ouvre une connexion au serveur LDAP et supprime une ou plusieurs entres. ouvre une connexion au serveur LDAP et modifie des entres. ouvre une connexion au serveur LDAP et modifie le RDN des entres. est un outil pour configurer le mot de passe d'un utilisateur LDAP. ouvre une connexion au serveur LDAP et effectue une recherche suivant les paramtres spcifis. ouvre une connexion au serveur LDAP et effectue une opration whoami.

slapadd est utilis pour ajouter des entres spcifies dans le format LDAP Directory Interchange Format (LDIF) dans une base de donnes slapd. slapcat slapd slapindex slappasswd est utilis pour gnrer une sortie LDIF LDAP bas sur le contenu d'une base de donnes slapd. est un serveur LDAP autonome. est utilis pour rgnrer les index de slapd suivant le contenu actuel d'une base de donnes. est un outil de mot de passe pour OpenLDAP

29 sur 30

23/05/2012 15:09

mise en place d' un serveur samba LDAP

http://villar.m.free.fr/mp.htm#sommaire

slurpd

est un serveur rplicat autoname pour LDAP.

liblber et libldap Ces bibliothques supportent les programmes LDAP et fournissent des fonctionnalits pour les autres programmes interagissant avec LDAP. ldapsearch objectclass=person ldapsearch objectclass=organization ldapsearch 'objectclass=*' afficher l'ensemble des utilisateurs afficher l'ensemble des tablissements afficher l'ensemble des enregistrements Pour retourner au sommaire cliquez ici

Annexe 7 : Bibliographie

Gnral : http://www.samba.org http://samba.idealx.org http://www.openldap.org http://www.linuxfr.org http://www.sysium.com/fr/offres-ldap/annuaire-ldap/principes-ldap.html

Howtos : http://de.samba.org/samba/docs/Samba-HOWTO-Collection.pdf http://samba.idealx.org/samba-ldap-howto.pdf http://www.martymac.com/contribs/samba2.2-Ldap/html/index.htm

Administration : http://phpldapadmin.sourceforge.net/

MIB : http://asn1.elibel.tm.fr/fr/index.htm

Pour retourner au sommaire cliquez ici

30 sur 30

23/05/2012 15:09