FORMATION DEPLOIEMENT AGALAN - PowerPoint PPT Presentation

1 / 98
About This Presentation
Title:

FORMATION DEPLOIEMENT AGALAN

Description:

Mod le de programmation 3-tiers avec serveur applicatif permettant de mettre en uvre une logique m tier. Serveur d'applications AGALAN = Serveur RMI servlets ... – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 99
Provided by: ujfim
Category:

less

Transcript and Presenter's Notes

Title: FORMATION DEPLOIEMENT AGALAN


1
FORMATION DEPLOIEMENT AGALAN
  • Gérard Forestier
  • Université Joseph Fourier
  • Gerard.Forestier_at_imag.fr

2
PLAN
  • 3.1.5 Architecture logicielle
  • 3.1.6 Notion de connecteurs
  • 3.1.6.1  Formats déchanges
  • 3.1.6.2  Fonctions des connecteurs 
    alimentations extraction
  • 3.1.6.3 Les différents connecteurs
  • Connecteur alimentation annuaire bootstrap
    Apogée
  • Connecteur temps réel Apogée-annuaire LDAP
  • Connecteur changement de mot de passe
  •    Editeur administration et éditeur
    utilisateur
  • Connecteur authentification Unix
  • Connecteur authentification Active Directory
  • Connecteur Apache, Samba, IMAP
  • Connecteur Portail
  • Connecteur Harpège

3
ARCHITECTURE LOGICIELLE
4
OBJECTIFS
  • Mettre en place une architecture logicielle
    implémentant les spécifications du cahier des
    charges AGALAN.
  • Contraintes
  • Assurer la cohérence de lannuaire LDAP
  • Sécurité
  • Robustesse, disponibilité
  • Utilisation des standards

5
IMPLEMENTATION
  • Architecture 3-tiers permettant davoir un
    serveur dapplications pour réaliser la logique
    métier du projet AGALAN.
  • Annuaire LDAP V3
  • Technologie JAVA.
  • Choix dun serveur RMI pour assurer la cohérence
    de lannuaire LDAP.
  • Servlets pour laccès via le web.
  • Serveur application serveur RMI conteneur WEB
  • Objectif à moyen terme utilisation des EJB
    (Enterprise Java Beans)
  • Utilisation des protocoles normalisés de cryptage
    (SSL)

6
ARCHITECTURE LOGICIELLE
7
SERVEUR APPLICATION
8
FORMAT D ECHANGES
9
OBJECTIFS
  • Trouver un format standard d échange de données
    entre les différentes sources d informations
    (bases de données, annuaires ou applications
    diverses), et exploitables par différents
    connecteurs.

10
IMPLEMENTATION FONCTIONNALITES
  • Format de fichier plat (spécifiant une suite
    ordonnée d attributs).
  • Format pivot personnes et groupes.
  • Alimentation de l annuaire
  • Création modification de personnes
  • Création et peuplement des groupes
  • Génération à partir de n importe quelle base
  • Extraction de l annuaire
  • Vers d autres bases
  • Pour préparer des alimentations

11
FORMAT DE FICHIER
  • Format texte  Codage ISO8859-15 
  • Séparateur de champs   
  • Informations multivaluées séparées par des  , 
  • Les informations non renseignées sont restituées
    par une valeur vide.
  • Pas de    à l intérieur des champs.
  • Les commentaires sont précédés par un   .
  • Les attributs sont spécifiés obligatoire,
    facultatif ou non.

12
DESCRIPTION COMPLETE
  • La description complète du format de fichier
     format de fichier pour connecteur
    d alimentation v09  d Eric Simoens, se trouve
    sur le site http//www.agalan.org
  • Objectif à terme définition d une DTD XML.

13
CONNECTEURS
14
NOTION DE CONNECTEUR
  • Connecteur interface logicielle permettant à un
    service dutiliser lannuaire LDAP
    (authentification, récupération dinformations,
    mises à jour des entrées).
  • Connecteur se trouve coté service (client)

15
CONCEPT DE CONNECTEUR
  • Une idée forte du projet AGALAN cohérence des
    informations dans lannuaire.
  • Choix dun schéma de données avec un nombre
    minimal dattributs et pas de redondance
    dinformations.
  • Les connecteurs permettent dinterfacer le
    service et lannuaire en utilisant le schéma de
    données AGALAN.
  • Les services  sadaptent  à lannuaire et pas
    le contraire (philosophie des Systèmes
    dInformations) par le biais des connecteurs.

16
SPECIFICATIONS DES CONNECTEURS
  • Chaque connecteur est spécifié lors des réunions
    de travail du groupe AGALAN en tenant compte de
    lensemble des contraintes spécifiques aux
    différents établissements.
  • Spécifications de chaque connecteur disponible
    sur www.agalan.org
  • Modélisation en cours des connecteurs en
    utilisant la notation UML (Unified Modeling
    Language) pour illustrer les spécifications des
    connecteurs ainsi que pour faciliter leurs
    développements et leurs implémentations
  • Limplémentation des différents connecteurs devra
    respecter les spécifications et être implémentés
    avec des outils et langages standards et
    compatibles avec larchitecture logicielle AGALAN
  • Chaque connecteur fera lobjet dune
    documentation

17
METHODES DAUTHENTIFICATION
  • Authentification synchrone requête sur
    lannuaire LDAP (bind) pour authentifier la
    personne.
  • PAM LDAP
  • Authentification asynchrone génération de bases
    locales dauthentification à partir de lannuaire
    LDAP pour contrôler laccès au service. Il faut
    définir une fréquence de mise à jour de ces
    bases.
  • Amélioration des performances.
  • Plus adapté au schéma AGALAN (sémantique des
    groupes).

18
CHOIX DU DEVELOPPEMENT DUN CONNECTEUR SPECIFIQUE
AGALAN
  • Certains produits du marché (ex SAMBA) imposent
    des Object Class avec des attributs spécifiques
    -gtmodification du schéma AGALAN pour chaque
    nouvelle application.
  • Dans ce cas, la méthode dauthentification
    (synchrone) ou de récupération de linformation
    (asynchrone) devra être réécrite (si possible)
    sous forme dun connecteur.
  • Tendance actuelle des produits utilisant LDAP
    permettre lécriture dune requête LDAP sans
    imposer dObject Class (ex SYMPA).

19
DIFFERENTS TYPES DE CONNECTEURS AGALAN
  • Des connecteurs gestionnaires des informations
  • Connecteur APOGEE, HARPEGE, G2I(IUFM)
  • Connecteur EDITEUR-GESTIONNAIRE
  • Des connecteurs exploitants ces informations
  • Connecteur serveur Unix, serveur 2000 Active
    Directory
  • Connecteur serveur Web

20
DEVELOPPEMENT DES CONNECTEURS
  • Langages Java,Php4,Perl5 pour les développements
    effectués par le groupe de travail, ce qui assure
    portabilité dun même code sur plusieurs
    établissements.
  • Pour les connecteurs dits  en lecture seule
    sur lannuaire on utilisera Perl ou PHP.
  • Pour les connecteurs dits  en lecture/écriture 
    sur lannuaire on utilisera impérativement Java
    car accès via serveur RMI (technologie uniquement
    Java).

21
LISTE DES CONNECTEURS
  • Connecteur Alimentation annuaire-bootstrap Apogée
  • Connecteur APOGEE-AGALAN temps réel
  • Connecteur changement de mot de passe
  • Connecteur Editeur (administration et
    utilisateur)
  • Connecteur authentification unix
  • Connecteur authentification Active Directory
  • Connecteur Apache
  • Connecteur SAMBA
  • Connecteur IMAP Boite à lettres
  • Connecteur PORTAIL (ENCORA)
  • Connecteur HARPEGE

22
ARCHITECTURE DEVELOPPEMENT
  • Linterrogation de lannuaire par les connecteurs
    dexploitation seffectue en protocole LDAP.
  • La mise à jour des informations (par les
    connecteurs gestionnaires) est centralisée sur un
    serveur RMI (Remote Invocation Method) qui assure
    la cohérence, laspect transaction, les traces
    système...

23
LES INFORMATIONS  Connecteurs 
  • Nom du connecteur (DN)
  • Machine (machines offrant le service-multivalué)
  • Groupes gestionnaire (groupes de machine et de
    personnes groupes gérant le service-multivalué)
  • Groupes utilisateur (groupes dutilisateurs
    bénéficiant du service-multivalué)
  • Type de connecteur (identification du service au
    niveau AGALAN validé par groupe AGALAN)
  • Paramètres (Paramètres spécifiques de chacun des
    services multivalué- nom spécifiquevaleur 

24
ARCHITECTURE DES CONNECTEURS
Script dinitialisation Bootstrap 0 Apogée
Personnes groupes
SGBD APOGEE
Impression carte étudiant Apogée
Connecteur /etc/passwd
SSL
carte étudiant
LDAP ujf.agalan.org
LDAP agalan.org
TABLE  LOCALE 
Connecteur Active Directory 2000
REPLICATS
SSL
CLAIR
Serveur RMI
Trigger Inscription Apogée au fil de leau
CLAIR
SSL
Connecteur IMAP
SSL
Connecteur Changement de mot de passe
CLAIR
SSL
SSL
Connecteur Apogée Cohérence personnes et Groupes
API
Connecteur Sympa Liste mails
Connecteur Editeur
Connecteur Restitution login et password à
partir des nom, prénom, INE, date de naissance
25
CONNECTEUR ALIMENTATION ANNUAIREBOOTSTRAP-APOGEE
26
OBJECTIFS
  • Flux d alimentation
  • Alimentation de l annuaire avec annuaires
    officiels (Apogée, Harpège, G2I)
  • mais alimentation nécessaire en amont ou en
    parallèle des annuaires officiels.
  • Création d un connecteur générique utilisant le
    format de données AGALAN, pour remplir
    l annuaire à partir de différentes sources
    d informations (officiels ou non), et permettant
    le chargement initial de l annuaire AGALAN.

27
SPECIFICATIONS
  • Chargement initial dans l annuaire des étudiants
    déjà inscrits (minitel, internet, report année
    précédente).
  • Création du login et du mot de passe lors de la
    création de la fiche étudiant dans l annuaire
    LDAP à partir des informations fournies par
    APOGEE.
  • Vérification de l unicité du login dans
    l annuaire.
  • Création de l adresse mail unique.
  • Retour des informations vers APOGEE.

28
Connecteur BOOTSTRAP-APOGEE
Fichier texte formaté

Connecteur Bootstrap- Apogée
Annuaire LDAP AGALAN
Fichier texte retour
BD ORACLE APOGEE
29
ALGORITHME
  • Export d un fichier texte formaté par APOGEE
    (format AGALAN).
  • Dépôt de ce fichier sur un espace commun.
  • Lecture de ce fichier par Connecteur
    Bootstrap-Apogée.
  • Création d un login à partir du nom et du
    prénom.
  • Vérification de l unicité de ce login dans
    l annuaire.
  • Si non unicité, calcul d un nouveau login
    suivant l algo AGALAN.
  • Création de l adresse mail.

30
ALGORITHME (suite)
  • Attribution d un UID et GID (type UNIX).
  • Création de la fiche étudiant suivant le DIT
    AGALAN.
  • Export d un fichier contenant les logins, mots
    de passe et adresses mail ainsi créés pour retour
    vers APOGEE, pour communication de ces
    informations aux étudiants (via la carte
    d étudiant).

31
JOINTURE ENTREE PERSONNE
  • Pour tester lexistence dune personne dans
    lannuaire il faut pouvoir lidentifier
  • (NOM,PRENOM,INE)
  • (NOM,PRENOM,DATE DE NAISSANCE)
  • Si jointure OK on ne rajoute pas dentrée mais
    mise à jour si nécessaire des différents champs,
    en particulier date de validation, date
    dexpiration et statut.
  • Document  Connecteur AGALAN APOGEE  sur
    http//www.agalan.org

32
TRAITEMENT BATCH
  • Ce connecteur permet aussi de vérifier la
    cohérence de lannuaire en fonction des
    changements des informations des personnes sur
    Apogée.
  • Définir une fréquence de synchronisation
  • Extractions des informations des personnes ayant
    été modifiés dans Apogée et mise à jour dans
    lannuaire.
  • Synchronisation complète.

33
GESTION DES GROUPES
  • La gestion des groupes (chargement-extraction) se
    fait à travers un connecteur aux spécifications
    identiques mais gérant le format pivot des
    groupes.
  • Pour la synchronisation des groupes entre APOGEE
    et lannuaire il y a destruction/création des
    groupes APOGEE (donc institutionnels) dans
    lannuaire avec mise à jour date de validation
    (traitement batch).

34
CONNECTEUR APOGEE-ANNUAIRE LDAPTEMPS REEL
35
SPECIFICATIONS
  • Création du login au moment de linscription de
    létudiant.
  • Le login apparaît sur la carte détudiant
  • Transaction Apogée-annuaire AGALAN pendant
    lédition de la carte.
  • Time out paramétrable de fin de transaction 30
    et 60s
  • Connecteur développé en JAVA en utilisant les
    Java Stored Procedures (JSP) pour intégrer des
    fonctions Java dans les triggers.
  • Version Oracle 8i uniquement, Apogée 2.8 ou 3.0

36
(No Transcript)
37
ALGORITHME
  • Déclenchement du trigger dans lédition de la
    carte détudiants (Oracle report).
  • Récupération du nom , prénom ,date de naissance,
    INE de létudiant. 
  •  A partir du nom, prénom, INE, date de naissance
    de létudiant ,recherche dans les différentes
    tables APOGEE des informations (si manquante dans
    lédition)
  • FicheEtudiantlt-Nom, Prenom, INE, Composante, Nom
    patronymique, Diplôme/étape, Centre de gestion,
    NEtudiant 
  • Appel classe java MAJEtudiantApogeeLDAP dans le
    trigger, avec FicheEtudiant date expiration en
    paramètres.

38
ALGORITHME (suite)
  • Test jointure sur (nom, prenom, INE)
  • Si correspondance -gt lentrée existe déjà
    -gtmodification de lentrée (MAJ champs date,
    statut, composantes,groupes gestionnaires) et on
    renvoie le login
  • Si non correspondance
  • TestJointure (nom, prenom, date de naissance)
    alors entrée provisoire à valider, mise à jour
    des champs de lentrée (date, groupes
    gestionnaires) et on renvoie le login.
  • SINON
  • on ajoute lentrée de la personne dans
    lannuaire avec les infos passées en paramètres,
    calcul du login. Mise à jour des groupes
    gestionnaires en fonction de la composante.
    Retour dans le trigger et écriture du login sur
    la carte détudiant.

39
SECURITE ORACLE 8I et JAVA
  • JVM Aurora basé sur java 1.2
  • Sécurité modèle java 1.2 avec contrôle daccès
    aux ressources et aux objets
  • Les classes java sont chargées (commande
    loadjava, idem classpath) dans un schéma de la
    base.
  • Security policy définit dans une table sécurisée.
  • Mise à jour de la table policy à travers les
    procédures DBMS_JAVA.
  • Rôle JAVA_ADMIN pour modifier cette table
  • Installation de Jserver par initijvm.sql

40
CONNECTEUR CHANGEMENT MOT DE PASSE ET RESTITUTION
DINFORMATIONS
41
SPECIFICATIONS
  • Connecteur permettant à lutilisateur de
    récupérer les informations de son entrée dans
    lannuaire et dy changer certains attributs
    (pour linstant changement de mot de passe
    uniquement).
  • A lorigine deux connecteurs distincts
  • Un connecteur pour le changement de mot de passe.
  • Un connecteur récupération du login en fonction
    du nom, prénom, INE, date de naissance.
  • Convergence de ces 2 connecteurs vers un seul
    pour permettre à lutilisateur de gérer son
    compte en une seule interface.

42
TECHNOLOGIES et LANGAGES UTILISES
  • Connecteur écrit en Java avec la technologie des
    servlets qui permet dutiliser une interface
    standard (Web) pour modifier des informations
    dans lannuaire via le serveur RMI.
  • Les servlets Java permettent dincorporer la
    logique applicative dans le processus
    requête/réponse HTTP.
  • Modèle de programmation 3-tiers avec serveur
    applicatif permettant de mettre en uvre une
    logique métier.
  • Serveur dapplications AGALAN Serveur RMI
    servlets

43
ARCHITECTURE
44
CLIENT WEB
https//parana.ujf-grenoble.fr
45
OUTILS UTILISES
  • Conteneur web (moteur de servlets)
  • JakartaTomcat (http//jakarta.apache.org)
  • Version utilisée
  • 4.1.18 pour Linux et Solaris
  • Serveur web
  • Tomcat intègre un serveur web minimal.
  • Apache httpd 1.3.27 (http//www.apache.org) si on
    a besoin de certaines fonctionnalités (ex
    nécessaire pour PHP et SSL)
  • Langage Java JDK 1.4.1 (http//java.sun.com)

46
MISE EN UVRE DU CONNECTEUR
  • Mise en place de Apache si ce dernier est retenu
    comme serveur httpd.
  • Installation de Tomcat.
  • Si utilisation de Apache mise en place de la
    librairie mod_jk.so pour faire linterface entre
    le serveur Apache et Tomcat.
  • Configuration de Tomcat.
  • Configuration de Apache (httpd.conf).
  • Mise en place du code des servlets.

47
SECURITE
  • Utilisation de https http SSL
  • SSL Secure Socket Layer
  • Pour applications en mode client-serveur sur TCP
  • Authentification des extrémités, confidentialité
    et intégrité des échanges
  • Utilisation de certificats et de clés de session
  • Flot de données découpé en paquets signés et
    chiffrés
  • Utilisation courante seul le serveur possède un
    certificat
  • Serveur Web sécurisé
  • Authentification du serveur
  • Chiffrement des échanges

Source http//www.urec.fr/igc/Doc/Certificats_Gre
noble_fichiers/frame.htm
48
CONFIGURATION APACHE SECURISE
  • Pre-requis
  • OpenSSL (Open Source toolkit pour SSL/TLS)
  • Apache httpd
  • Génération du module SSL mod_ssl pour apache
    (mode DSO) http//www.modssl.org
  • Mod_ssl.so
  • Génération dun certificat (make certificate)
  • Configuration dapache
  • Port 443
  • Versions
  • httpd apache 1.3.27
  • openSSL 0.9.6h
  • Mod_ssl 2.8.12

49
CONNECTEUR EDITEUR
50
OBJECTIFS
  • Réalisation dun outil permettant la création et
    la gestion des personnes, des groupes, des
    machines dans lannuaire.
  • Cet outil se déclinera en 2 versions 
  • Une version administration recouvrant lensemble
    des possibilités pour la gestion des entrées de
    lannuaire. Ce module dadministration sera
    utilisé par les responsables informatiques des
    différentes composantes de létablissement.
  • Une version client qui permettra à certains types
    dutilisateurs de consulter, de créer ou de
    modifier des entrées de lannuaire (en
    particulier pour la gestion des groupes
    collaboratifs). Cet outil aura des droits limités
    sur lannuaire.

51
SPECIFICATIONS
  • Gestion des entrées Personne
  • Gestion des entrées groupes 
  • Gestion des entrées machines et connecteurs
  • Gestion des entrées provisoires
  • Gestion des logs

52
CONNECTEUR EDITEURVERSION ADMINISTRATION
53
ASPECT FONCTIONNEL
  • Mettre en place une organisation pour la gestion
    de lannuaire.
  • Délégation des droits.
  • Certains droits devront être centralisés (groupes)

54
GESTION DES ENTREES PERSONNES
  • Visualisation de toutes les informations sur les
    entrées Personne pour le groupe gestionnaire de
    ces entrées.
  • Statut, modifications autorisées
  • Officiel -gt provisoire, suspendue
  • Suspendue -gt provisoire, obsolète
  • Provisoire -gt suspendue, obsolète

55
ATTRIBUTS MODIFIABLES
  • Si le statut de lentrée est provisoire tous
    les attributs sont modifiables directement sauf
    les attributs à contrainte particulière (unicité,
    ou autre). Ces derniers seront  modifiables indir
    ectement au sens regénérables par
    léditeur/Serveur LDAP.
  • Si le statut de lentrée est officiel  tous les
    attributs ne provenant pas dun annuaire officiel
    sont modifiables directement sauf les attributs à
    contrainte particulière (unicité, ou autre). Ces
    derniers seront  modifiables indirectement au
    sens regénérables par léditeur/Serveur LDAP.
  • Si le statut de lentrée est obsolète  Le seul
    attribut modifiable est celui de la date
    dexpiration.
  • Si le statut de lentrée est suspendue  tous les
    attributs sont modifiables directement sauf les
    attributs à contrainte particulière (unicité, ou
    autre). Ces derniers seront  modifiables indirect
    ement au sens regénérables par
    léditeur/Serveur LDAP.

56
GESTION DES ENTREES GROUPES
  • Si le groupe est de type institutionnel  les
    seuls attributs modifiables sont  statut, type,
    date expiration, commentaires.
  • Si le groupe est de type collaboratif  Edition
    directe complète sauf pour lattribut GID
    (contrainte dunicité/ algorithme de validation)
    et common name.
  • Remarques Si groupe de groupes (DN de personnes
    ou de groupes) - Edition totale

57
GESTION DES ENTREES MACHINES
  • Tout est modifiable. Le DN est le nom DNS
    qualifié complet, vérification de la validité du
    nom DNS par algorithme de validation.
  • Si modification du nom de machine attention à la
    mise à jour des attributs référençant cette
    entrée.
  • Nom machine et DN doivent être modifiés ensemble.

58
GESTION DES ENTREES CONNECTEUR
  • Type de connecteur  identification du type de
    connecteur au niveau AGALAN. Il devra appartenir
    à un référentiel, préalablement créé par le
    groupe AGALAN, contenant lensemble des types de
    connecteur.
  • Modification du nom de connecteur implique la
    modification du DN correspondant.
  • Tout est modifiable par les administrateurs
    informatiques. (groupes gestionnaires)

59
IMPLEMENTATION
  • Choix du langage Java pour implémenter léditeur
    version administration
  • Accès au serveur RMI pour les mises à jour dans
    lannuaire.
  • Java permet de réaliser facilement des interfaces
    graphiques (SWING).

60
INTERFACE
61
CONNECTEUR EDITEURVERSION UTILISATEUR
62
OBJECTIFS
  • Permettre aux utilisateurs autorisés de créer des
    groupes.
  • Autorisations gérées par le serveur RMI
  • Lutilisateur peut créer n groupes (n limité) sur
    lequel il a tous les droits.
  • L utilisateur peut rentrer les entrées LDAP
    (personnes et groupes) qu il veut.

63
IMPLEMENTATION
  • Utilisation de linterface standard web.
  • Technologie des servlets pour accéder à
    lannuaire LDAP via un serveur RMI.
  • Accès au même conteneur Web et même serveur Web
    que le connecteur de changement de mot de passe
    et restitution de linformation.

64
CONNECTEUR AUTHENTIFICATION UNIX
65
SPECIFICATIONS
  • Idée générale développer un connecteur
    générique permettant de récupérer les bases
    d'authentification pour les différents serveurs
    Unix (Solaris, HP-UX, linux) à partir des groupes
    autorisés à se connecter sur ces machines
  • passwd
  • shadow
  • group
  • Aliases (peut être généré par le service
    méssagerie)
  • OS supporté
  • Solaris
  • HP UX
  • Linux

66
ARCHITECTURE
67
ARCHITECTURE LOGICIELLE
  • Architecture en 3 modules -Permet de minimiser
    les développements en fonction des différentes
    architectures-Permet de séparer les différentes
    phases de construction des bases
    d'authentifications.
  • Modules
  • 1 module de récupération de l'info (indépendant
    OS) -gt FetchLDAP
  • 1 module de construction de l'info (indépendant
    OS) -gt BuildSystem
  • 1 module d'exécution (OS dépendant) -gt
    BuildSystemOS

68
MODULE DE RECUPERATION DE LINFORMATION
  • architecture
  • choix pour les dossiers partagées (share)
  • Liste des groupes à inclure
  • choix du shell
  • choix du cryptage (MD5 - Triple DES)
  • exécution d'un script pour "customiser" un home
    en passant toutes les infos qui sont dans
    l'annuaire.

69
FetchLDAP(1)
  • Récupère les informations nécessaires à la
    création de comptes depuis lannuaire LDAP.
  • Nécessite 4 fichiers de config
  • Employeetype.config
  • Permet de définir quels employeetype doivent
    être intégrés (E,I,P,R).
  • Meta-groupes.config
  • Permet de définir les groupes de groupe à
    inclure.
  • Groupes.config
  • Permet de définir les groupes simples à
    inclure.
  • Universite.config
  • Permet de définir quelle(s) université(s) à
    inclure.

70
FetchLDAP(2)
  • A cela, il faut ajouter tous les fichiers
    systèmes nécessaires
  • Dans /etc/AGALAN/ORG
  • PASSWD.ORG (copie des comptes de base passwd)
  • SHADOW.ORG (copie des comptes de base shadow)
  • GROUP.ORG (copie des groupes de base)
  • ALIASES.ORG (copie des aliases de base)
  • AUTH.ORG (copie du dossier auth de base) HP-UX

71
FetchLDAP(3)
  • FetchLDAP ne récupère que les infos nécessaires à
    son bon fonctionnement
  • Il est capable de récupérer 20000 comptes et 2000
    groupes
  • En moins de 4 minutes, sur un E250
  • En moins de 8 minutes sur une Ultra1-140
  • Il ne nécessite que peu de mémoire

72
BuildSystem
  • OS dependant
  • Génère les fichiers et scripts spécifiques à
    chaque OS
  •  Naffecte  pas lOS (i.e. ne modifie rien)
  • Actuellement, disponible pour
  • SOLARIS
  • HP-UX
  • LINUX

73
BuildSystem SOLARIS
  • Génère les fichiers suivants (/etc/AGALAN/Backup)
  • /etc/passwd
  • /etc/shadow
  • /etc/group (modifié via ConstructGroup.pl, afin
    de parer à la limite de 1024 caractères par
    ligne)
  • /etc/aliases
  • LocalFileSystem.sh
  • Script sh auto généré permettant la
    création/déplacement/destruction des homes, des
    shares, la fixation des droits Unix

74
BuildSystem HP-UX
  • Reprend la même mécanique que le BuildSystem de
    Solaris, mais
  • /etc/shadow nexiste pas sur HP-UX, il est donc à
    modifier via ConstructAuthFiles, pour générer les
    fichiers /tcb/files/auth)
  • HP-UX ne semble pas tenir compte des problèmes de
    longueur dans /etc/group

75
BuildSystem LINUX
  • Identique en tout point à BuildSystem pour
    Solaris
  • Toutefois, vérifier la crypto dans le shadow, il
    semble que certains systèmes ne supportent pas le
    crypt 3DES de Perl, mais veulent du HashMD5

76
LANGAGES UTILISES
  • Perl 5.8
  • Librairie Perl-Ldap 0.27

77
CONNECTEUR DEXPLOITATIONACTIVE DIRECTORY
Connecteur écrit par Eric Payan et David Jouve
Université Lyon1
78
OBJECTIFS
  • Permettre à un contrôleur de domaine Windows 2000
    de récupérer dans Active Directory, pour la
    création de comptes, les entrées personnes de
    lannuaire AGALAN.
  • Gestion asynchrone.
  • Création des comptes dans AD et création des
    homes dir sur un serveur de fichier du même
    domaine.

79
ARCHITECTURE
ADSI
Contrôleur de domaineA.D.
PC hébergeantle connecteur
LDAP
CIFS
AGALAN
DomaineWindows 2000
Serveur de fichiersCIFS
80
PRE-REQUIS
  • Un domaine Windows 2000 avec Active Directory
  • Une machine membre du domaine sur laquelle
    installer les scripts
  • Sur cette machine
  • Active perl (5.6) Perl standard sous Windows,
    avec interface ADSI incluse.
  • Librairie perl Perl-Ldap pour laccès LDAP.
  • Librairie perl perms qui permet de manipuler
    les permissions sur les fichiers Windows.
  • Librairie crypt quand password sera crypté.
  • Un compte (type robot ou machine) avec des
    autorisations en lecture dans AGALAN
  • Un compte avec des privilèges suffisants pour
    créer des comptes dans lActive Directory

81
ARCHITECTURE DE DEVELOPPEMENT
  • 3 parties
  • Sélection et récupération de linformation dans
    AGALAN -gt un fichier de conf
  • Transformation de linformation (Programme
    Perl) -gt programme Perl
  • Ecriture de linformation dans le domaine Windows
    2000
  • Création des entrées dans lannuaire Active
    Directory
  • Création des homes dirs et attribution des
    droits
  • -gt un fichier de conf

82
LECTURE DANS LANNUAIRE AGALAN
  • Paramètres (fichier de configuration)
  • Identification du serveur LDAP
  • Identification de l'utilisateur (effectuant les
    lectures dans AGALAN)
  • ou de base pour lensemble des recherches
  • Liste des ou à récupérer (récupération
    complète)
  • Liste des groupes à récupérer (DN des groupes)

83
TRANSFORMATION DE LINFORMATION
  • Problématique
  • Les noms des attributs sont différents dun
    annuaire à lautre
  • On peut vouloir modifier linformation venant
    dun autre établissement (Ex préfixage par le
    nom de létablissement du login)
  • Ecriture des règles
  • En perl !
  • On doit générer le tableau associatif dattribut
    ecrire à partir dun tableau associatif
    dattribut lu
  • ecrire et u tableaux associatifs à 3 dimensions
    ( DN de la personne,attribut,boolen multivalué)
  • Une (petite pour linstant !) boite à outil
  • decrypte_aglnPassword décryptage du mot de
    passe

84
TRANSFORMATION DE LINFORMATIONSCRIPT
  • Ex
  • le nouveau dn compsé par le nom un
    espace le prénom un espace le numéro
    détudiant lou de base
  • newdn"cn".ludn"sn"0."
    ".ludn"givenName"0." ".ludn"aglnOrgan
    izationUid"0.",ouTEST,oucrip-sciences,dcuniv
    -lyon1,dcfr"
  • Les nouveaux attributs
  • ecrirenewdn"samAccountName"0"ujf-".lu
    dn"uid"0
  • ecrirenewdn"sn"0ludn"sn"0
  • ecrirenewdn"givenName"0ludn"givenNa
    me"0
  • ecrirenewdn"displayName"0ludn"sn"
    0." ".ludn"givenName"0."
    ".ludn"aglnOrganizationUid"0
  • ecrirenewdn"description"0"Creation
    connecteur AGALAN V0.1"
  • ecrirenewdn"profilePath"0"\\\\univ-lyon1
    \\enseignement\\profiles\\".ecrirenewdn"samAc
    countName"0
  • ecrirenewdn"homeDrive"0"w"
  • ecrirenewdn"homedirectory"0"\\\\univ-lyo
    n1\\enseignement\\home\\ujf\\".ecrirenewdn"sa
    mAccountName"0
  • ecrirenewdn"userAccountControl"016
  • ecrirenewdn"password"0decrypte_aglnPassw
    ord("ujf",ludn"aglnPassword"0)

85
ECRITURE DE LINFORMATIONDANS LE DOMAINE WINDOWS
2000
  • Fichier de configuration très simple !
  • Le nom dun des contrôleurs de domaine w2k
  • Le script connecteur sera mis dans les tâches
    planifiées de lutilisateur devant créer les
    comptes.
  • Ordre didée des performances
  • 4000 personnes à lheure avec conf classique
    (bi-pro) et serveur de fichier distinct du
    contrôleur de domaine.

86
CONNECTEUR APACHE
87
OBJECTIFS
  • Permettre dautoriser les clients http en
    fonction des personnes référencées dans
    lannuaire AGALAN et mis dans des groupes.

88
IMPLEMENTATION
  • Mode synchrone module auth_ldap
  • Permet dintégrer la sémantique des groupes
    AGALAN en permettant de sauthentifier avec un DN
    plutôt quun login
  • require group cngroupe,ougroupes,ouujf,dcagala
    n,dcorg
  • AuthLDAPGroupAttributeIsDN yes
  • Mode asynchrone génération avec un script Perl
    depuis lannuaire LDAP vers la base
    dauthentification dapache (.htaccess-gt
    directive AuthUserFile-gtfichier au format
    htpasswd)

89
CONNECTEUR SAMBA
90
SPECIFICATIONS
  • SAMBA en PDC
  • environnement HP-UX, Linux, SOLARIS
  • connecteur en perl
  • Récupération des groupes/étudiants
  • lancement de la commande smbpasswd avec option de
    création ou mise à jour

91
CONNECTEUR IMAP
92
SPECIFICATIONS
  • 2 types de connecteurs en exploitation
    synchrone et asynchrone.
  • Synchrone Authentification directement sur
    lannuaire LDAP AGALAN , bind pour
    lauthentification, configuration de Cyrus avec
    des scripts pour la création et destruction des
    boites.
  • Asynchrone sur Cyrus pas de prise en comptes de
    lauthentification de l OS, génération de la
    base (sasldb) dauthentification à partir dun
    script externe (pour récupérer les comptes de
    lannuaire) en utilisant la librairie sasl
    (Simple Authentication and Security Layer).
  • Pour imap de Washington, utilise la base de
    comptes de lOS -gt connecteur unix

93
CONNECTEUR PORTAILPROJET ENCORA
94
OBJECTIFS
  • AGALAN est un des sous-projets du projet régional
    de portail numérique (ENCORA).
  • Lobjectif est de fournir un point dentrée
    unique et authentifié pour lensemble des acteurs
    impliqués dans la formation enseignement
    supérieur au sein de lAcadémie de Grenoble et
    de Lyon.
  • Connecteur à définir.

95
ARCHITECTURE
96
CONNECTEUR HARPEGE
97
CONNECTEUR HARPEGE
  • En cours de spécification.
  • Même principe que le connecteur alimentation
    Apogée.
  • Utilisation des scripts existants.

98
QUESTIONS
Write a Comment
User Comments (0)
About PowerShow.com