Vous êtes sur la page 1sur 12

OpenLDAP, un outil dadministration rseau.

(Implmentation dopenLDAP lINRA de Rennes)

Gilles LASSALLE
Unit Mixte de Recherche dAmlioration des Plantes et Biotechnologies Vgtales Domaine de la motte BP 35327, 35653 Le Rheu Cedex, Gilles.lassalle@rennes.inra.fr le 8 octobre 2003.

Rsum
Lavnement de Linux et des logiciels libres a permis le dploiement et la mise en place de rseaux sous ces architectures. Lutilisation de LDAP et en particulier dOpenLDAP nous a permis de nous doter dun outil dadministration rseau trs performant. Depuis mai 2002, nous exploitons ce logiciel dans un environnement htrogne. Associs dautres logiciels rseaux tels que Samba, Sympa, Apache, il est devenu le centre nvralgique de notre architecture. OpenLDAP nous offre des fonctionnalits varies dont une gestion de lauthentification en rseau dans un environnement htrogne qui remplace avantageusement Nis. L'exploitation de Samba, avec LDAP et les ACLs sous XFS nous ont permis de constituer ainsi un PDC trs performant. Lannuaire dploy sous OpenLDAP, nous permet de grer actuellement les comptes utilisateurs pour Linux et pour Windows via le PDC Samba. La principale difficult a t de dterminer lorganisation de larborescence ainsi que de choisir les associations dobjets LDAP permettant de grer les comptes utilisateurs, machines et groupes. Lassociation OpenLDAP-Sympa-Postfix, nous permet aussi dutiliser des mailing-lists dynamiques, se calquant sur la composition de nos quipes et groupes de travail. Enfin, avec Apache et Php, nous grons la scurit et les accs notre intranet et aux divers dveloppements raliss dans cette architecture. Il sagit l dun formidable outil dadministration tout point de vue, pour la gestion centralise des comptes aussi bien que pour le suivi du parc informatique et la gestion de la scurit.

Mots clefs
OpenLDAP, administration rseau, authentification, Samba, scurit.

Introduction

Ladministration des comptes utilisateurs en rseau, sur plusieurs serveurs Linux simultanment peut tre relativement complique, surtout sil sagit aussi de monter un Contrleur de Domaine NT avec Samba et des contrleurs secondaires. Notre objectif tait de mettre en place un outil dadministration, centralis, unique, nous permettant de grer la fois les comptes Unix-Linux, lauthentification Windows, les accs lintranet et des mailing-lists dynamiques. LDAP permet de grer toutes les informations ncessaires la mise en place dune telle structure, avec une trs grande facilit, pour peu que lon ait quelques notions sur les annuaires. Son fonctionnement en rseau et son dploiement entre plusieurs serveurs, sont relativement aiss et rapides mettre en oeuvre. Sa compatibilit avec de nombreux logiciels en font dornavant un outil incontournable pour un administrateur rseau. Lobjectif de cet article nest pas de donner un cours thorique sur LDAP mais de prsenter une utilisation concrte des fonctionnalits de LDAP au travers du logiciel OpenLDAP, associ plusieurs autres logiciels et en nutilisant que des standards LDAP. Nous avons mont au sein de lUnit Mixte de Recherche INRA-ENSAR dAmlioration des Plantes et de Biotechnologies Vgtales, une architecture rseau dont OpenLDAP est le centre nvralgique. Ce dploiement tourne en production depuis mai 2002 et met aussi en uvre Samba, Sympa et Apache. LDAP tant aussi et avant tout un annuaire, nous avons dcider de nous baser sur la structure gographique de notre institut pour le dployer.

1.1

Prsentation et Organisation de lINRA.

Cr en 1946, lInstitut National pour la Recherche Agronomique est un tablissement public caractre scientifique et technologique, plac sous la double tutelle des ministres de la Recherche et de lAgriculture. LINRA possde 17 dpartements de recherche, 21 centres rgionaux rpartis en prs de 200 sites dans toute la France, 257 units de recherche, 80 units exprimentales, 131 units dappui et de service. LUnit Mixte de Recherche (UMR) en Amlioration des Plantes et Biotechnologies Vgtales (APBV) de Rennes-Le Rheu (avec environ 100 agents) concentre ses activits de recherches et de slection sur diverses espces dintrt agronomique : bl, colza, crucifres lgumires, fverole et pois protagineux. Un parc informatique dune centaine de PC est disposition du personnel au sein de lUMR et des diffrentes installations. Nous avons install un ensemble de trois serveurs Linux Debian afin dorganiser le travail en rseau et doffrir des solutions logiciels diverses tel que serveur de fichiers, intranet, SGBD, Groupware etc.

1.2

Le choix dOpenLDAP.

Sachant que nous voulions mettre en place LDAP et que notre politique informatique est de nous ouvrir lOpen source, de tous les serveurs LDAP prsents sur le march, seul OpenLDAP tait sous licence GPL. De plus, tous les schmas et objets prsents nous ont permis de dployer un annuaire fonctionnel rpondant compltement nos besoins, sans dvelopper quoique ce soit.

2
2.1
2.1.1

Dploiement dOpenLDAP
Logiciels
Logiciels serveurs

Le serveur LDAP que nous utilisons est la version 2.0.25 de OpenLDAP. La version de Samba est la 2.2.5. Actuellement, nous utilisons encore cette association, car depuis 18 mois elle nous a prouv sa robustesse et sa fiabilit. Les essais avec des versions antrieures dont la 2.2.4 avaient chou, car nous avions des bugs rguliers lors de lauthentification. Lassociation LDAP-Sympa permet de grer de manire trs efficace des mailing-listes faisant rfrence des entres LDAP. La version utilise de Sympa est la 3.4.4.1. 2.1.2 Navigateurs LDAP

Les logiciels clients utiliss sont essentiellement GQ sous Linux et LDAP-Browser sous Windows. Les fonctionnalits de GQ permettent de manier trs facilement les donnes dans lannuaire et de crer de nouvelles entres la vole. La version que jutilise actuellement est la 0.6.0, package standard de la distribution Debian-Woody. En compilant soit-mme cet outil, nous pouvons activer des fonctionnalits de drag & drop, parfois pratiques mais trs dangereuse en cas dun relch de souris intempestif. LDAP-Browser-Editor est trs pratique pour visualiser le contenu de lannuaire partir dun poste Windows, par contre des bugs daffichage peuvent se produire et larborescence napparat pas entirement dveloppe.

2.2
2.2.1

Matriels et architecture
Serveurs

Dans un premier temps nous avons utilis une batterie de test de 4 serveurs assembls dont le principal tait un biProcesseur PIII. La mise en place de LDAP est relativement peu coteuse en ressource machine et tourne aussi sur de simples PC. Actuellement nous avons 4 serveurs Bi-processeurs Xeon Compaq, nous permettant dutiliser au maximum la tolrance de pannes et dassurer, ainsi, la scurit matriel impose par la mise en place dune dmarche Assurance Qualit Recherche. La compatibilit matrielle avec ces serveurs est complte partir du noyau Linux 2.4.20. 2.2.2 Organisation des serveurs Nous avons actuellement une batterie de 4 serveurs Linux Debian Woody. Un des serveurs possde la rplique-Master alors que les trois autres sont esclaves. Les quatre machines ont des rles ddies rpartis comme suit : un PDC Samba, un serveur intranet et de messagerie, un serveur de base de donnes un serveur de donnes et dapplication bio-informatique. Tous les serveurs utilisent lauthentification via LDAP et permettent des accs soit sous X11, html+php, et Samba. La figure ci-dessous nous montre lutilisation de LDAP avant la mise en place des rpliques.

Figure 1 : architecture rseau gnrale.

2.3
2.3.1

installation
Installation

Nous avons ralis linstallation partir des sources OpenLDAP compil avec des options standard. Pour la compilation, il faut installer auparavant toutes les bibliothques ncessaires, avec entre-autres la libldap2, libldap2-dev, la libdb3 et ses composantes. Cette dernire permet dutiliser le backend LDBM. OpenLDAP peut fonctionner avec plusieurs moteurs (backend) de base de donnes dont le type plus courant est LDBM. Luniversit de Berkeley dveloppe une base de donnes de ce type, Berkeley DB, contenu dans les packages libdb* de Debian. LDBM est le moteur utilis en standard par OpenLDAP. Ce dernier est aussi prvu pour fonctionner avec des SGBD utilisant SQL mais les performances de lannuaire chute de faon trs importante du fait, entre-autre de la traduction des requtes LDAP en SQL. Cette tape est dcrite dans les documents et tutoriaux consacrs OpenLDAP. 2.3.2 Configuration et schmas

Le fichier slapd.conf permet de configurer le serveur, de dfinir les schmas utiliss et le mot de passe de ladministrateur du serveur LDAP. Les schmas LDAP sont une collection dobjets rpondant aux normes de lOMG (Object Management Group) et dont chaque composant est attribu dun OID (Object ID). Ces diffrents schmas permettent ainsi dimplmenter lutilisation des comptes Samba et Postfix. La dclaration de leur utilisation se fait dans le fichier slapd.conf. Une fois linstallation dOpenLDAP ralise et les schmas choisis, il faut dterminer larchitecture de larbre et des donnes insrer. Ce paramtrage nest pas dfinitif et il est possible posteriori de procder une extension des schmas et donc den utiliser de nouveaux.
Extrait

du fichier slapd.conf :
# Schema and objectClass definitions /usr/local/ldap/etc/openldap/schema/core.schema /usr/local/ldap/etc/openldap/schema/cosine.schema /usr/local/ldap/etc/openldap/schema/nis.schema /usr/local/ldap/etc/openldap/schema/misc.schema /usr/local/ldap/etc/openldap/schema/inetorgperson.schema /usr/local/ldap/etc/openldap/schema/openldap.schema /usr/local/ldap/etc/openldap/schema/samba.schema /usr/local/ldap/etc/openldap/schema/postfix.schema

include include include include include include include include

Ces schmas sont fournis avec les sources des logiciels des logiciels concerns, ici Samba et Postfix.

2.4
2.4.1

Choix de la structure de larbre


Organisation des donnes dans un annuaire

Les donnes dans un annuaire LDAP sont organises dans une structure modlise par un arbre o nous pouvons distinguer deux catgories dobjets : les conteneurs qui peuvent-tre considrs comme le dpart dune nouvelle branche, les feuilles qui sont les terminaisons des branches. Un conteneur peut contenir les deux catgories dobjet, soit des conteneurs, soit des feuilles. 2.4.2 Organisation des conteneurs et des feuilles

Concrtement les conteneurs correspondront aux centres et units de recherches et les objets feuilles correspondront aux utilisateurs et machines. Il est galement possible dutiliser des objets conteneurs des fins de rangements. Ainsi les conteurs USER, GROUP et COMPUTER, stockent respectivement les comptes utilisateurs, les groupes Posix et les comptes machines (figure 1). Ils nont pas dautre utilit que de faciliter la lecture des donnes lors de la navigation.

2.4.4

Architecture gnrale de larbre

Bien que le point de dpart de notre annuaire ait t Rennes, nous avons pris soin de crer un arbre qui pourrait stendre lorganisation nationale de lINRA. Pour cela nous avons organis notre arbre en fonction de la structure gographique des Centres et Units. Ce qui correspond la ralit de la rpartition des ressources informatique lINRA. Le format dentre des premires donnes est un fichier LDIF qui nous a permis de crer le squelette de lannuaire avant de commencer crer les premiers comptes utilisateurs et machines. Ex :
dn: o=inra,c=fr objectClass: top objectClass: organization o: inra description: Institut National de la Recherche Agronomique businessCategory: EPST dn: ou=rennes,o=inra,c=fr objectClass: top objectClass: organizationalUnit ou: rennes

Il sagit ici des deux premires entre permettant de dmarrer larbre.

Figure 2 : Vue globale de larbre

2.5
2.5.1

Choix des Objets


Centre et Units de recherches Il sagit des objets conteneurs qui forme la base de la structure de notre arbre. Lobjet LDAP classique est lOU ou OrganizationalUnit. Cest lobjet conteneur le plus classiquement utilis dans ce rle et que lon retrouve dailleurs dans Active Directory. Dans certains cas ces conteneurs ont t associs des objets PosixAccount afin de pouvoir grer des droits (cf 2.5.3).

2.5.2

Les comptes utilisateurs

Lun des principaux objectifs de lutilisation de LDAP est la gestion des comptes de tous les utilisateurs, aussi bien au sens Linux que Samba (Windows). Un objet utilisateur tel que nous lentendons nexiste pas dans LDAP et il est ncessaire de le dfinir en fonction des donnes administrative (mail, tlphone, photo ) et systme dont nous avons besoin. Ceci nous a conduit dfinir un utilisateur comme un cocktail de diffrents objets LDAP : un PosixAccount, afin de pouvoir grer le compte Linux, un SambaAccount pour la gestion du compte Samba, un InetorgPerson pour pouvoir disposer dinformations pouvant alimenter une base de donnes et disposer de ladresse mail ncessaire pour lutilisation avec Sympa. Bien sr ces objets ncessitent des hritages do la prsence des objets Top, account etc selon les versions dOpenLDAP.

Figure 3 : Vue dun compte utilisateur 2.5.3 Les comptes machines Afin de pouvoir utiliser Samba comme PDC, nous avons t contraints de crer et de grer les comptes ordinateurs. Comme pour les comptes utilisateurs, nous avons construit les comptes machines par un ensemble dobjet LDAP dont : PosixAccount : pour grer le compte machine sous linux, SambaAccount : pour grer le compte Samba, Device : pour avoir des informations telles que numro de srie, IpHost : pour ladresse IP et autres informations rseau.

Figure 4 : vue dun compte machine, dtail des objets.

Nous utilisons actuellement toutes ces informations, afin de grer notre parc informatique ainsi que pour contrler laccs notre intranet via un script PHP. 2.5.4 Les groupes Il sagit de grer les groupes de travail et les quipes de recherche de notre UMR. Lobjet LDAP utilis est PosixGroup. Cette organisation, permet la fois de grer les droits Unix-Linux ainsi que les Mailing-Lists sous Sympa. Ces objets sont aussi des feuilles car linformation sur lappartenance des membres est en fait un attribut de lobjet PosixGroup. 2.5.5 Des objets Feuilles divers

Lutilisation de lobjet LDAP OrganizationalRole nous permet de grer le poste de directeur dunit et tous les postes qui correspondent la philosophie dun rle organisationnel (prsident de centre, etc. cf. figure 1) Pour figurer les units de recherche cest lobjet OrganisationalUnit qui a t utilis.

3
3.1

Gestion de la scurit
Les Access List (Acls)

Lutilisation des ACLs, prsentes dans le fichier slapd.conf, permet de grer les droits daccs aux diffrentes ressources, en lecture, criture et navigations des utilisateurs de lannuaire. La syntaxe des ACLs est relativement simple. Ce qui devient compliqu, cest la gestion avance de droits daccs par utilisateurs et/ou par groupe, quil faut grer de manire quasiindividuelle ou au cas par cas.
ex : access to attribute=userPassword by dn="cn=root,o=inra,c=fr" write by anonymous auth by self write access to * by dn="cn=root,o=inra,c=fr" write by * read

Dans cet exemple, la premire ligne de chaque ACLs indiquent les ressources auxquelles on veut accder, ici, soit lattribut UserPassword soit tous les attributs (*). Les lignes suivantes indiquent qui a le droit de faire quoi. Lutilisateur est dcrit soit : par son DN, par * , pour tout le monde, par self, pour ses propres donnes. Les droits sont auth, read, write ou none permettent respectivement lauthentification, la lecture, lcriture ou rien du tout. En fait, ici la seconde ACL permet un accs sur tout lannuaire : en lecture tout le monde, en criture ladministrateur de lannuaire (ici : cn=root,o=inra,c=fr). La mise en place dune stratgie minimale dACLs est ncessaire afin de restreindre les accs non souhaits et de protger les donnes de lannuaires tout en respectant les conventions de la CNIL (Commission Nationale de lInformatique et des Liberts).

3.2

La rplication

La rplication est une ncessit lorsque lon utilise un annuaire LDAP en production. Il sagit dun mcanisme qui permet davoir plusieurs copies de lannuaire actif et de grer ainsi une tolrance de panne. On paramtre ainsi chaque machine pour quelle puisse sadresser sa rplique locale. Loutil qui permet dimplmenter la rplication avec OpenLDAP est slurpd. Lors de la compilation il suffit dactiver loption with-slurpd. Le mcanisme de rplication fonctionne sur une relation matre - esclaves. Chaque protagoniste (matre ou esclave) doit possder un serveur slapd. Seul le matre possde la fois slapd et slurpd. La configuration de lun et de lautre se fait l encore dans le fichier slapd.conf. Le mcanisme de rplication sexcute lorsquune modification intervient sur le Matre, le fichier slurpd.replog est alors renseign et le dmon slurpd aprs lavoir lu envoie les modifications vers les esclaves qui mettent jour leur annuaire.

Par contre la mise jour de l'esclave vers le matre mme si elle est dcrite dans la littrature ne fonctionne pas toujours. De plus il faut imprativement utiliser SASL comme mode dauthentification. Une rplique esclave ne peut pas mettre jour un matre directement. Cest lapplication cliente, qui aprs avoir tent une mise jour sur lesclave est redirige et reconnecte vers le matre ( rebind ) afin que ce dernier prenne en compte les modifications et les rpercute sur les diffrents esclaves. Or le mode dauthentification simple ne permet pas ce rebind , il faut utiliser SASL. Une autre solution est de rendre chaque serveur matre, esclave de lautre. Selon les stratgies de rplication (partielle ou complte), on peut laisser des droits sur lannuaire, diffrents utilisateurs, diffrents selon les conteneurs et selon les rpliques(en fait les sites distant). On peut ainsi avoir un annuaire LDAP jour et complet et qui est en fait renseign, sur les diffrents sites, par diffrentes personnes qui nont des droits que sur leur conteneurs. Cest lun des intrts de pouvoir mette jour un LDAP matre partir dun esclave.

3.3

La cryptographie et lauthentification

. LDAP utilise plusieurs modes dauthentification : Simple, sans cryptographie ni protocole particulier, Kerberos , SASL . SASL (Simple Authentication and Security Layer) est une mthode qui permet dajouter un support dauthentification un mcanisme de connexion simple. Il permet didentifier et dauthentifier un compte sur un serveur et le cas chant de ngocier une mthode de protection entre le client et le serveur. SASL a t mis en place lorsque lon sest aperu que la mise jour de la rplique master ntait pas possible partir dune rplique esclave, le mode simple ne permettant pas un rebind de lapplication cliente vers le serveur matre. Pour la cryptographie, LDAP peut sappuyer sur TLS/SSL mais certaines versions dOpenLDAP deviennent alors trs lente dans les mcanismes dauthentification.

4
4.1
4.1.1

Utilisation et exploitation de lannuaire


Gestion de lauthentification
Sous Linux

Lauthentification sous Linux via LDAP sappuie sur les PAM (Pluggable Authentification Modules).Les PAM permettent de grer la politique dauthentification sous Unix-Linux sans recompiler quoique ce soit. Les dernires distributions Linux sont livres en gnral avec les PAM. Sous linux, lorsque les PAM sont en place, on les trouve soit dans /etc/pam.d soit /etc/pam.conf. Ils sappuient sur 4 types de modules qui sont : Auth : gre lauthentifie l'utilisateur, Account : gre les restrictions du compte, Password : gre les mots de passe. session : gre ce qui concerne l'ouverture d'une session, avant et aprs. A ces 4 modules, sont attribus des contrles qui sont entre-autres: Required : ncessaire tout en continuant tester les autres modules, Requisite : ncessaire et suffisant, Sufficient : suffisant mais pas ncessaire. Afin dimplmenter cette fonctionnalit, il faut bien sr des objets LDAP valides (PosixAccount ), installer les bibliothques permettant de grer cette authentification, et paramtrer les PAM et les diffrents fichiers entrant en jeux : nsswitch.conf, libnss-ldap.conf, pam_ldap.conf. Le fichier minimal modifier dans /etc/pam.d est login auquel il faut rajouter la ligne : auth sufficient pam_ldap.so Cette modification est ncessaire et souvent suffisante pour permettre aux utilisateurs grer dans lannuaire daccder aux ressources de la machine. Jai pu constater que modifier dautres fichiers pouvait provoquer des lourdeurs et des ralentissements dans les mcanismes dauthentification.

Les modifications apporter dans le fichier nsswitch.conf sont trs simples : Ex :


passwd: group: shadow: compat ldap compat ldap compat ldap

Par contre il est primordial de conserver le premier mcanisme dauthentification (soit file, soit compat) car si lannuaire LDAP est indisponible, alors mme le compte root ne pourra plus se loguer. Les fichiers Libnss_ldap.conf et pam_ldap.conf sont trs similaires. Ces fichiers indiquent quel serveur LDAP rejoindre ainsi que les paramtres de connexions, ce qui permettra denvoyer les informations dauthentification et de recevoir les informations systmes. Exemple les premires lignes dun de ces fichiers :
host apbv.rennes.inra # The distinguished name of the search base. base ou=rennes,o=inra,c=fr ldap_version 3 # stored in /etc/ldap.secret (mode 600) rootbinddn cn=root,o=inra,c=fr port 389 # The search scope. scope sub #scope one #scope base pam_password crypt

Scope permet dindiquer le niveau de recherche dans larbre, sous sur le niveau prsent (base), sous sur un niveau sous-jacent(one) sous dans toute larborescence descendante(sub). Les bibliothques Libpam_ldap et Libnss_ldap interviennent dans les changes dinformations lors du login. Libpam_ldap permet denvoyer les informations de login au serveur LDAP et libnss_ldap permet de rcuprer les informations sur lutilisateur dont le login est valide.

Figure 5 : schmas du mcanisme dauthentification.

4.1.2

Avec Samba

Lassociation LDAP+Samba permet de faire un PDC trs performant autorisant lauthentification sur un domaine NT de client Windows 95 XP Pro. La premire chose faire pour pouvoir utiliser Samba avec LDAP est de le compiler avec loption : --with-ldapsam , La seconde condition est davoir un annuaire valide avec le schma Samba afin dutiliser les objets LDAP SambaAccount. Pour indiquer au serveur Samba quil doit se connecter un serveur LDAP, il faut ajouter le lignes suivantes dans le fichiers smb.conf :
[global] # parametres de connections LDAP ldap ldap ldap ldap ldap server = ldap-server port = 389 suffix = "o=inra,c=fr" admin dn = "cn=root,o=inra,c=fr" ssl = no

Samba est tout fait capable de fonctionner de faon autonome par rapport au serveur Unix-Linux qui lhberge. Cest dire quil peut parfaitement authentifier des comptes utilisateurs sur serveur LDAP distant alors que la machine locale utilise une stratgie de comptes locaux compltement diffrents. Lactivation et la gestion des comptes utilisateurs Samba se fait avec smbpasswd. Une fois le compte cr sous LDAP avec lobjet SambaAccount, il suffit, pour activer le compte, de lancer la commande smbpasswd nom_user et aprs avoir renseign le mot de passe, Samba se charge de renseigner tous les champs, en rapport avec Samba, dans LDAP. Normalement, si un compte Posix, valid sous LDAP fonctionne, alors en utilisant cette commande avec -a , un objet SambaAccount va tre rajout au compte nom_user et de la mme manire tous les champs concernant Samba dans lannuaire seront renseigns. Afin de crer un PDC avec Samba et LDAP et permettre aux machines Microsoft NT (NT4.0, 2000 et XP) de venir sauthentifier sur le domaine Samba, il faut grer les comptes machines. LDAP permet cette gestion aussi simplement que ceux des utilisateurs. La seule diffrence, cest quil faut utiliser smbpasswd a m nom_machine pour lactivation dun compte machine. Le userid, doit-tre du type nom-machine$ dans lannuaire. Enfin pour finir, il faut enregistrer le poste client sur le domaine, avec le compte root renseign dans LDAP. Avec cette gestion de comptes machines et utilisateurs dans LDAP, le fichiers smbpasswd est vide. Tous les renseignements dont Samba besoin, sont dans lannuaire. Afin de complter notre architecture, nous avons utilis le systme de fichiers journalis XFS de SGI en patchant un noyau 2.4.20 afin dutiliser les ACLs et les Quotas. 4.1.3 avec Apache

Le module auth_ldap install avec Apache permet de grer lauthentification directement grce lannuaire. Dcrit sur le site www.rudedog.org ce module permet de mutualiser, encore une fois, lauthentification par LDAP.

4.2

Interrogation et manipulation de donnes.

Le langage dinterrogation et de requtes est un langage propre LDAP. Le package ldaptool permet dinstaller divers outils permettant de se connecter un annuaire LDAP, de linterroger et de manipuler les donnes. Les filtres sous les outils qui permettent dinterroger trs simplement un annuaire. Il sagit dun langage dinterrogation de donnes compltement diffrents de SQL et qui est cependant optimis pour lextraction de donnes dans un annuaire LDAP. ex: (&(objectclass=PosixAccount)(userid=lassalle)) Ce filtre va permettre de slectionner lobjet qui est la fois un PosixAccount et dont le userid est lassalle. En retour nous recevrons toutes les informations pour cette entre. Cette syntaxe est base sur lutilisation doprateurs logiques qui en font un langage est trs pratique et trs rapide.

4.3

Gestion de Mailing-Lists avec Sympa

Le gestionnaire de Mailing-Lists SYMPA dvelopp au sein du CRU, utilise de faon trs performante les donnes dun annuaire LDAP. Il permet dune part de grer lauthentification linterface Web mais aussi de grer des Mailing-Lists dynamiques. Nous avons exploit ce mcanisme laide de la procdure requtes en deux passes qui dans un premier temps scanne le groupe concern par le premier filtre et ressort tous les userid et en suite va chercher grce au second filtre, toutes les adresses mails en rapport avec les userid prcdemment slectionns. Il faut bien sr avoir un compte utilisateur possdant un champ mail disponible avec lobjet InetorgPerson. La grande force de cette alliance, cest que le simple fait de rajouter un utilisateur dans un groupe faisant rfrence une mailing-lists lui permet dune part daccder aux partages destins ce groupe mais aussi de faire partie de la mailinglists. Le serveur de mails utilis est Postfix, qui est aussi capable de grer les boites lettres directement avec LDAP.

4.4

Utilisation avec Postfix

Postfix est un MTA (Mail Transport Agent) qui remplace trs avantageusement Sendmail. De plus, Postfix est livr avec un schma pour LDAP qui permet de grer tous les paramtres dun compte mail-Postfix via lobjet LDAP PostfixUser. Dans notre architecture Postfix est le serveur de mail sur lequel Sympa sappuie. Comme nos boites mails sont grs par dautres instances que notre unit de recherche, nous nexploitons que quelques comptes internes alliant Postfix et LDAP , le reste nest quune redirection des mails vers le serveur principal.

4.5
4.5.1

Utilisation avec les dveloppements internes et lintranet


Utilisation comme annuaire

La simple prsence de lannuaire nous a fait prendre conscience des fonctionnalits que lannuaire, en tant que source de donnes, pouvait nous apporter. Actuellement, nous sommes en train de dvelopper un outils de gestion du personnel, adapt notre dpartement, en architecture multi-tiers. LDAP est la base des informations concernant lorganisation du dpartement et des units. Les informations qui ne peuvent pas tre gres dans lannuaire sont prises en compte dans une base de donnes Postgresql. Lensemble est interfac via Apache avec du Php. 4.5.2 avec PHP La double gestion des utilisateurs et des machines, nous permet dune part de grer laccs notre intranet par login et mot de passe, trs classiquement, (tous les mots de passe sont synchroniss (Linux, Samba, Apache)) et dautre part didentifier les machines par leur adresses IP et de les laisser accder ou non selon leur prsence dans lannuaire. Le grand intrt de cette architecture est la centralisation de toutes les donnes, et la facilit de consultation et de gestion avec Php

Conclusions et Perspectives

Limplmentation dOpenLDAP dans notre structure, nous a permis de mettre en place un rseau, nutilisant que des produits sous licence GPL et davoir une architecture trs performante. Ladministration dun rseau de serveurs Linux devient trs souple et trs simple. Le point capital est dapprhender le fonctionnement dun annuaire LDAP et la faon dorganiser les donnes. Il sagit du point peu document, qui peut dcourager trs vite une personne ne connaissant pas cet outil. Si le point de dpart de notre implmentation dOpenLDAP tait de faciliter ladministration du rseau, trs vite, nous avons organis les informations contenues dans lannuaire afin de lutiliser comme base de donnes. Cest un outil qui offre des perspectives et des fonctionnalits trs compltes sur le plan de ladministration systme et rseau, mais il ne faut pas oublier sa fonction dannuaire. Un point faible, cependant, il nexiste pas encore doutil permettant la fois de grer le contenu de lannuaire et les droits daccs ce mme annuaire. Il faut reconnatre que mme si les ACLs permettent de grer les droits, elles sont quelques peu rbarbatives utiliser. Loutil Nwadmin de Novell, remplit ce rle trs bien. Nous pouvons regretter quun tel outil nexiste pas encore sous Linux. Nous avons en cours plusieurs projets, aussi bien systme que rseau, concernant la mise en place des automontages au travers LDAP et les informations DNS, mais aussi le dveloppement dun systme dinformation et de gestion dploy au sein du dpartement de Recherche de Gntique et damlioration des plantes.

Ressources bibliographiques

Documentation LDAP (complte en anglais) : http://www.umich.edu/~dirsvcs/ldap/doc/ le site OpenLDAP : http://www.openldap.org Samba-ldap : Le site didealx (collection de scripts et doutils de migration) http://www.idealx.org/prj/samba/index.fr.html auth_ldap (apache) : http://www.rudedog.org/auth_ldap/1.6/auth_ldap.html PAM : http://www.docmaster.org/articles/linux109.htm (en franais) Cyrus IMAP : http://www.arrayservices.com/projects/Exchange-HOWTO/html/x285.html Listes de diffusion : Pour ldap : www.cru.fr et Samba : http://listes.ujf-grenoble.fr/wws