Mise en Place d' Un Serveur Samba LDAP

30
  CENTRE AFPA MEUDON Centre Y ves Bodiguel - 12/14 av du Maréchal Juin Z.I de Vélizy 92366 MEUDON-LA-FORET CEDEX Tél : 01 45 37 78 00 Télecopie : 01 46 30 90 62  MINIPROJET :  Interopérabilité Linux-Microsoft Partage de fichiers et authentification SAMBA 3 / LDAP  Réalisé par :  Alex FALZON [email protected]  Michaël VILLAR [email protected]  °°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° 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 ADOPTÉE:  PRÉSENTATION ET FONCTIONNEMENT DE L’ANNUAIRE LDAP : Schémas fonctionnels d'authentification:  Appuyer sur éditer  pour accéder à l’éditeur d’interface  m ise en place d' un serveu r sam ba LDAP h ttp://villar .m.f ree.fr/m p.h tm #som m ai re 1 su r 30 23/05/2012 15:09

Transcript of Mise en Place d' Un Serveur Samba LDAP

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 [email protected] Michal VILLAR [email protected]

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 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/[email protected]

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/[email protected]

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