Gestion des utilisateurs dans un environnement hétérogène HINDERCHIETTE Aymeric - KILFIGER Estelle - SIMONET Charles - SIVADON Florian LP ASRALL March 24, 2015 1
Sommaire Introduction au projet tutoré Notre solution Déroulement du projet Mise en place Phase de test Sécurité Évolution Problèmes Avis Questions 2
Introduction au projet tutore Notre solution De roulement du projet Mise en place Phase de test Se curite E volution Proble mes Contexte Contexte I Sujet propose par MM. Yohan PARENT et Je re mie CEINTREY, de l entreprise Pharmagest. I Pharmagest De veloppement et commercialisation de SI pour les pharmacies. I FAI, he bergeur multiplicite des outils. 3 Gestion des utilisateurs dans un environnement he te roge ne
Introduction au projet tutore Notre solution De roulement du projet Mise en place Phase de test Se curite E volution Proble mes Contexte Contexte I Sujet propose par MM. Yohan PARENT et Je re mie CEINTREY, de l entreprise Pharmagest. I Pharmagest De veloppement et commercialisation de SI pour les pharmacies. I FAI, he bergeur multiplicite des outils. 3 Gestion des utilisateurs dans un environnement he te roge ne
Introduction au projet tutore Notre solution De roulement du projet Mise en place Phase de test Se curite E volution Proble mes Contexte Contexte I Sujet propose par MM. Yohan PARENT et Je re mie CEINTREY, de l entreprise Pharmagest. I Pharmagest De veloppement et commercialisation de SI pour les pharmacies. I FAI, he bergeur multiplicite des outils. 3 Gestion des utilisateurs dans un environnement he te roge ne
Problématique Problématique Gestion complexe des utilisateurs Systèmes d exploitations diversifiés 4
Objectifs Objectifs Simplifier la gestion des utilisateurs. Diminuer la probabilité d erreurs. Une solution évolutive. 5
Objectifs Objectifs Simplifier la gestion des utilisateurs. Diminuer la probabilité d erreurs. Une solution évolutive. 5
Objectifs Objectifs Simplifier la gestion des utilisateurs. Diminuer la probabilité d erreurs. Une solution évolutive. 5
Objectifs Visuel 6
Déroulement du projet 7
Étude du sujet Étude du sujet et re-formulation: Rencontre dans les locaux de Pharmagest 8
Recherche Recherche d une solution: Recherche sur internet Prise de contact professionnel 9
Notre solution LDAP Synchronisation Connector PhpLDAPAdmin 10
LSC couplé à PhpLDAPAdmin Étude de notre solution: Correspond elle réellement à nos besoins? Comment fonctionne exactement le logiciel? Prise de contact avec les développeurs de LSC 11
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fiche technique de LSC LDAP Synchronisation Connector OpenSource, Licence BSD v3, Bases de données, dossiers LDAP, fichiers à plat, LDAP Synchronisation Active Directory, Fichiers de configuration XML, Codé en JAVA. 12
Fonctionnalités 13
Fonctionnalités: Entièrement configurable via un fichier de configuration XML. Écrit en Java, tirant parti de l écosystème des outils disponibles. Manipulation avancée des attributs via des scripts JavaScript. 14
Fonctionnalités: Entièrement configurable via un fichier de configuration XML. Écrit en Java, tirant parti de l écosystème des outils disponibles. Manipulation avancée des attributs via des scripts JavaScript. 14
Fonctionnalités: Entièrement configurable via un fichier de configuration XML. Écrit en Java, tirant parti de l écosystème des outils disponibles. Manipulation avancée des attributs via des scripts JavaScript. 14
Fonctionnalités: Entièrement configurable via un fichier de configuration XML. Écrit en Java, tirant parti de l écosystème des outils disponibles. Manipulation avancée des attributs via des scripts JavaScript. 14
Support des outils compatibles LDAPv3 : StartTLS, pagination des résultats, etc Outils de sécurité: hachage de mot de passe, chiffrement bidirectionnel Journalisation détaillée et configurable en LDIF ou CSV Support des plugins pour Nagios (monitoring) 15
Support des outils compatibles LDAPv3 : StartTLS, pagination des résultats, etc Outils de sécurité: hachage de mot de passe, chiffrement bidirectionnel Journalisation détaillée et configurable en LDIF ou CSV Support des plugins pour Nagios (monitoring) 15
Support des outils compatibles LDAPv3 : StartTLS, pagination des résultats, etc Outils de sécurité: hachage de mot de passe, chiffrement bidirectionnel Journalisation détaillée et configurable en LDIF ou CSV Support des plugins pour Nagios (monitoring) 15
Support des outils compatibles LDAPv3 : StartTLS, pagination des résultats, etc Outils de sécurité: hachage de mot de passe, chiffrement bidirectionnel Journalisation détaillée et configurable en LDIF ou CSV Support des plugins pour Nagios (monitoring) 15
Fonctionnement 16
Fonctionnement Figure : Phase de Synchronisation 17
Fonctionnement Figure : Phase de Clean 18
Les modes de lancement Une synchronisation normale avec LSC se déroule en 2 parties: Une phase en mode Synchrone (ajout, modification) Une phase en mode Clean (suppression) 19
Les modes de lancement Cependant nous pouvons lancer LSC en mode asynchrone Attention: Le clean mode n est pas compatible avec le mode asynchrone (suppression). 20
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
Les répertoires /usr/bin/lsc: exécutable LSC /etc/lsc/: configuration /var/log/lsc/: logs /etc/cron.d/lsc: cron configuration /usr/lib/lsc/: Librairie LSC /var/lib/lsc/nagios/: Scripts de monitoring 21
lsc.xml Structure du fichier lsc.xml: Connections Tasks Audits Security 22
lsc.xml Structure du fichier lsc.xml: Connections Tasks Audits Security 22
lsc.xml Structure du fichier lsc.xml: Connections Tasks Audits Security 22
lsc.xml Structure du fichier lsc.xml: Connections Tasks Audits Security 22
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Fiche technique de PhpLdapAdmin PhpLdapAdmin OpenSource, Licence GNU GPL v2, Gestion de OpenLDAP par interface web, Création / Suppression / Modification d utilisateurs, Peut gérer : AD Microsoft, IBM Tivoli, Apache DS, RHDS,... Fichiers de configuration PHP, Codé en PHP. 23
Configuration avant notre projet Configuration avant notre projet Figure : Configuration avant 24
Configuration après notre projet Configuration après notre projet Figure : Configuration après 25
Mise en place de la solution Mise en place de notre solution 26
Mise en place Mise en place de notre solution en local. Installation des systèmes d exploitations Installation des pré-requis Installation et configuration de notre solution 27
Configuration lsc.xml Sections 28
Tests Les phases de test 29
Environnement de test 2 machines virtuelles en local Dans le domaine pharma.local 30
Pourquoi? Vérification théorie / pratique Prototypage (local) 31
Les tests Quels tests? Tests de synchronisation (ajout, modification, suppression) OpenLDAP Active Directory Tests de synchronisation (ajout, modification, suppression) Active Directory OpenLDAP 32
Ajout Figure : Ajout d un utilisateur 33
Ajout Figure : Ajout d un utilisateur 34
Modification Figure : Modification d un utilisateur 35
Suppression Figure : Suppression d un utilisateur 36
Sécurité Connexion sécurisée à PhpLdapAdmin (HTTPS) Authentification SSO (kerberos) Synchronisation chiffrée Criticité du serveur OpenLDAP 37
Sécurité Connexion sécurisée à PhpLdapAdmin (HTTPS) Authentification SSO (kerberos) Synchronisation chiffrée Criticité du serveur OpenLDAP 37
Sécurité Connexion sécurisée à PhpLdapAdmin (HTTPS) Authentification SSO (kerberos) Synchronisation chiffrée Criticité du serveur OpenLDAP 37
Sécurité Connexion sécurisée à PhpLdapAdmin (HTTPS) Authentification SSO (kerberos) Synchronisation chiffrée Criticité du serveur OpenLDAP 37
Évolution Possibilités d évolution: Interface graphique / scripts de création Intégration de nouveaux outils Création de scripts 38
Problèmes rencontrés Délimitation du périmètre Recherche de la solution Compréhension du fonctionnement / tache de LSC 39
Notre avis sur le projet Intéressant Enrichissant Gestion de projet 40
Questions? 41