Utiliser Améliorer Prêcher. Introduction à LDAP

Documents pareils
Description de la maquette fonctionnelle. Nombre de pages :

Authentification unifiée Unix/Windows

Groupe Eyrolles, 2004 ISBN :

Active Directory. Structure et usage

DUT. Vacataire : Alain Vidal - avidal_vac@outlook.fr

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Déploiement de (Open)LDAP

Evidian IAM Suite 8.0 Identity Management

OpenLDAP. Astuces pour en faire l'annuaire d'entreprise idéal THÈME TECHNIQUE - ADMINISTRATION SYSTÈME. Jonathan CLARKE - jcl@normation.


INSTALLATION ET CONFIGURATION DE OPENLDAP

Samson BISARO Christian MAILLARD

Gestion des identités Christian-Pierre Belin

Le protocole LDAP. Formation. Administration et sécurité. Auteurs : Clément OUDOT, Raphaël OUAZANA et Sébastien BAHLOUL

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

A. À propos des annuaires

LDAP : pour quels besoins?

Gestion des identités

Service d'authentification LDAP et SSO avec CAS

OpenLDAP, un outil d administration réseau. (Implémentation d openldap à l INRA de Rennes)

Mise en place d annuaires LDAP et utilisation dans plusieurs applications

Authentification des utilisateurs avec OpenLDAP

Serveurs de noms Protocoles HTTP et FTP

Introduction aux annuaires d entreprise LDAP

Couplage openldap-samba

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

OpenLDAP au quotidien: trucs et astuces

Guillaume Garbey (Consultant sécurité) Contributeurs: Gilles Morieux, Ismaël Cisse, Victor Joatton

NFS Maestro 8.0. Nouvelles fonctionnalités

Sun Java System Access Manager Notes de version pour Microsoft Windows

Annuaires LDAP et méta-annuaires

Gestion des autorisations / habilitations dans le SI:

LDAP : concepts, déploiement

Introduction aux services de domaine Active Directory

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Configuration d'un annuaire LDAP

Les différentes méthodes pour se connecter

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Spécialiste Systèmes et Réseaux

DMZ... as Architecture des Systèmes d Information

Introduction aux services Active Directory

Méta-annuaire LDAP-NIS-Active Directory

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Solutions Microsoft Identity and Access

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Présentation de la solution Open Source «Vulture» Version 2.0

M2-ESECURE Rezo TP3: LDAP - Mail

Mise en place Active Directory / DHCP / DNS

Outils Logiciels Libres

EJBCA PKI. Yannick Quenec'hdu Reponsable BU sécurité

Conférence technique sur Samba (samedi 6 avril 2006)

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

GOUVERNANCE DES ACCÈS,

Single Sign-On open source avec CAS (Central Authentication Service)

LDAP : concepts, déploiement

Annuaire LDAP, SSO-CAS, ESUP Portail...

Groupe Eyrolles, 2004 ISBN :

Java Naming and Directory Interface

1 Introduction à l infrastructure Active Directory et réseau

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Tour d horizon des différents SSO disponibles

Open Source et gestion des identités (Annuaire Ldap, SSO et Provisionning) 11 Octobre 2011 TopTIC Pascal Flamand

NU-PH Portail http.

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Architecture et infrastructure Web

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Utilisation des services de noms et d'annuaire Oracle Solaris 11.2 : LDAP

Single Sign On (l apport déterminant du SSO dans un projet d IAM ) Yves RAISIN - biomérieux

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)


Windows 2000 Server Active Directory

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Authentification et contrôle d'accès dans les applications web

Architecture PKI en Java

Service d'annuaire Active Directory

Didier Donsez

Installation et configuration de Vulture Lundi 2 février 2009

Présentation de Active Directory

L annuaire et le Service DNS

Utilisation de KoXo Computers V2.1

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Présentation d Epicard

L3 informatique TP n o 2 : Les applications réseau

SSH, le shell sécurisé

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Windows serveur 2012 : Active Directory

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

Authentification des utilisateurs avec OpenLDAP et Samba 3.0

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

Le projet d'annuaire LDAP à Rennes 1. - Raymond Bourges - Gérard Delpeuch

SAML et services hors web

Sécurité des réseaux sans fil

WebSSO, synchronisation et contrôle des accès via LDAP

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Transcription:

Introduction à LDAP

Introduction à LDAP

Sommaire 2

Sommaire Historique rapide Les concepts LDAP et la gestion d identité Démonstration Autre ressources 2

Historique

Historique

Historique rapide 4

Historique rapide Découle des annuaires X.500 L ensemble du protocole LDAP est aujourd hui disponible via les RFC Certains objets sont définis via une RFC c est le cas par exemple de inetorgperson (RFC 2798) LDAP est une simplification de X.500 Dernière version : LDAPv3 (depuis 1998) 4

Les concepts LDAP

Les concepts LDAP

LDAP c est quoi? 6

LDAP c est quoi? LDAP signifie Lightweight Directory Access Protocol, c est donc avant tout un protocole de communication, au même titre que HTTP 6

LDAP c est quoi? LDAP signifie Lightweight Directory Access Protocol, c est donc avant tout un protocole de communication, au même titre que HTTP On peut donc utiliser le même protocole pour dialoguer avec un annuaire, quelque soit son origine (et même avec des pseudo annuaires) 6

LDAP c est quoi? LDAP signifie Lightweight Directory Access Protocol, c est donc avant tout un protocole de communication, au même titre que HTTP On peut donc utiliser le même protocole pour dialoguer avec un annuaire, quelque soit son origine (et même avec des pseudo annuaires) Défini des opérations (search, add, modify, delete) une nomenclature (objets, attributs) la sécurité (authentification, chiffrement) 6

Les différences avec un SGBD 7

Les différences avec un SGBD Protocole de communication unique 7

Les différences avec un SGBD Protocole de communication unique Base de données hiérarchiques Plutôt une vision fonctionnelle que technique Une entrée du même niveau ne possède pas forcément les mêmes informations qu une autre Représentation sous forme d un arbre 7

Les différences avec un SGBD Protocole de communication unique Base de données hiérarchiques Plutôt une vision fonctionnelle que technique Une entrée du même niveau ne possède pas forcément les mêmes informations qu une autre Représentation sous forme d un arbre Orientée lecture plutôt qu écriture 7

Les différences avec un SGBD Protocole de communication unique Base de données hiérarchiques Plutôt une vision fonctionnelle que technique Une entrée du même niveau ne possède pas forcément les mêmes informations qu une autre Représentation sous forme d un arbre Orientée lecture plutôt qu écriture Administration relativement plus facile 7

Les différences avec un SGBD Protocole de communication unique Base de données hiérarchiques Plutôt une vision fonctionnelle que technique Une entrée du même niveau ne possède pas forcément les mêmes informations qu une autre Représentation sous forme d un arbre Orientée lecture plutôt qu écriture Administration relativement plus facile Réplication multi-maîtres plus courante 7

Exemple d objet LDAP 8

Exemple d objet LDAP 8

Les schémas LDAP 9

Les schémas LDAP Un schéma défini un ou plusieurs objectclass (types d objets) ainsi que des attributs 9

Les schémas LDAP Un schéma défini un ou plusieurs objectclass (types d objets) ainsi que des attributs Un objectclass défini des attributs obligatoires, optionnels une éventuelle relation avec d autres types d objets 9

Les schémas LDAP Un schéma défini un ou plusieurs objectclass (types d objets) ainsi que des attributs Un objectclass défini des attributs obligatoires, optionnels une éventuelle relation avec d autres types d objets Un attribut défini une syntaxe (contenu) une méthode de recherche 9

Les schémas LDAP Un schéma défini un ou plusieurs objectclass (types d objets) ainsi que des attributs Un objectclass défini des attributs obligatoires, optionnels une éventuelle relation avec d autres types d objets Un attribut défini une syntaxe (contenu) une méthode de recherche Chaque objet d un schéma est identifié par un OID 9

Les objectclass 10

Les objectclass Il en existe trois types abstract classe abstraite structural classe concrète (instances) auxiliary extensions de classes, permet de définir un objectclass qui pourra être utilisé par plusieurs objets avec des objectclass structural différent 10

Les objectclass Il en existe trois types abstract classe abstraite structural classe concrète (instances) auxiliary extensions de classes, permet de définir un objectclass qui pourra être utilisé par plusieurs objets avec des objectclass structural différent est défini par un nom 10

Les objectclass Il en existe trois types abstract classe abstraite structural classe concrète (instances) auxiliary extensions de classes, permet de définir un objectclass qui pourra être utilisé par plusieurs objets avec des objectclass structural différent est défini par un nom défini une liste d attributs obligatoires, une autre d optionnels 10

Un attribut syntaxe: dn, boolean, directory string (utf8), ia5string (ascii), integer Utiliser Améliorer Prêcher equality = recherche egalite sur la valeur ordering = entree possedant cet attribut substr = sous chaine 11

Un attribut syntaxe: dn, boolean, directory string (utf8), ia5string (ascii), integer Utiliser Améliorer Prêcher Défini par un nom equality = recherche egalite sur la valeur ordering = entree possedant cet attribut substr = sous chaine 11

Un attribut syntaxe: dn, boolean, directory string (utf8), ia5string (ascii), integer Utiliser Améliorer Prêcher Défini par un nom Une syntaxe (défini le type de contenu, par exemple un entier, une chaîne de caractères, etc.) equality = recherche egalite sur la valeur ordering = entree possedant cet attribut substr = sous chaine 11

Un attribut syntaxe: dn, boolean, directory string (utf8), ia5string (ascii), integer Utiliser Améliorer Prêcher Défini par un nom Une syntaxe (défini le type de contenu, par exemple un entier, une chaîne de caractères, etc.) equality = recherche egalite sur la valeur Une règle de comparaison (EQUALITY, ordering = entree possedant cet ORDERING, SUBSTR) attribut substr = sous chaine Par exemple, pour les chaînes de caractères il est possible de définir une recherche sensible ou non à la casse 11

Un attribut syntaxe: dn, boolean, directory string (utf8), ia5string (ascii), integer Utiliser Améliorer Prêcher Défini par un nom Une syntaxe (défini le type de contenu, par exemple un entier, une chaîne de caractères, etc.) Une règle de comparaison (EQUALITY, ordering = entree possedant cet ORDERING, SUBSTR) attribut Par exemple, pour les chaînes de caractères il est possible de définir une recherche sensible ou non à la casse Un indicateur de multi-valuation equality = recherche egalite sur la valeur substr = sous chaine 11

Le DIT : Directory Information Tree 12

Le DIT : Directory Information Tree Structure logique d une hiérarchie, représenté sous forme d un arbre 12

Le DIT : Directory Information Tree Structure logique d une hiérarchie, représenté sous forme d un arbre Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position 12

Le DIT : Directory Information Tree Structure logique d une hiérarchie, représenté sous forme d un arbre Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position Ce nom est unique est nommé DN quand il est complet uid=asyd,ou=people,dc=asyd,dc=net RDN quand il est relatif uid=asyd 12

Le DIT : Directory Information Tree Structure logique d une hiérarchie, représenté sous forme d un arbre Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position Ce nom est unique est nommé DN quand il est complet uid=asyd,ou=people,dc=asyd,dc=net RDN quand il est relatif uid=asyd La racine est nommée suffixdn par exemple, dc=asyd,dc=net 12

Le DIT : Directory Information Tree 13

Le DIT : Directory Information Tree Sa conception est probablement la phase la plus délicate de la conception d un annuaire Une mauvaise conception est lourde de conséquences Difficile d effectuer des modifications sur le DIT une fois mis en place Plusieurs approches possibles (par exemple, pour une grande société, une hiérarchie par ville, puis par position RH, mais pour une PME, une représentation à plat) 13

Le DIT : Directory Information Tree 14

Le DIT : Directory Information Tree Quelques conventions un objet de type ou (organizationalunit) pour représenter un noeud un noeud (ou=people) à la racine de l arbre pour y stocker les comptes utilisateurs (chez certains (mauvais) éditeurs d application cette valeur est codée en dur) aujourd hui, utilisation de la forme dc=domain,dc=tld en tant que suffixdn (plutôt que o=organization) 14

Le DIT : Directory Information Tree Quelques conventions un objet de type ou (organizationalunit) pour représenter un noeud un noeud (ou=people) à la racine de l arbre pour y stocker les comptes utilisateurs (chez certains (mauvais) éditeurs d application cette valeur est codée en dur) aujourd hui, utilisation de la forme dc=domain,dc=tld en tant que suffixdn (plutôt que o=organization) Rien n obliges à suivre ces conventions rajout de contacts privés sous une entrée utilisateur (ce qui donnerais cn=mlle X,cn=Bruno Bonfils,ou=People,dc=guses,dc=org) utilisation de o=organization en tant que suffixdn 14

Le DIT : Directory Information Tree Exemple d arbre simple dc=guses,dc=org ou=people ou=special users ou=contacts ou=members ou=group 15

LDAP et la gestion d identité

LDAP et la gestion d identité

IAM : Pourquoi LDAP? 17

IAM : Pourquoi LDAP? Représentation hiérarchique Un noeud pour les employés d une société, un autre pour les fournisseurs, un pour les prestataires, etc. Au sein d un même noeud, des utilisateurs peuvent posséder des informations différentes Typiquement, les administrateurs Unix posséderont l objectclass posixaccount 17

IAM : Pourquoi LDAP? Représentation hiérarchique Un noeud pour les employés d une société, un autre pour les fournisseurs, un pour les prestataires, etc. Au sein d un même noeud, des utilisateurs peuvent posséder des informations différentes Typiquement, les administrateurs Unix posséderont l objectclass posixaccount Gestion des groupes Au moins trois manières de gérer les groupes Un objet group avec un attribut multivaleur uniquemember Certains annuaires proposent des groupes dynamiques, leur liste est calculée à partir d une requête LDAP 17

IAM : Pourquoi LDAP? 18

IAM : Pourquoi LDAP? Une gestion des droits fine ACL ou ACI en fonction des annuaires Permet de limiter les accès sur les objets, les attributs (lecture, écriture) Interdire la consultation de l annuaire par un prestataire Modifications sur le noeud Prestataire par les membres d un groupe Manager 18

Un petit mot sur le provisionning 19

Un petit mot sur le provisionning Disposer d outils permettant d alimenter un annuaire, mais orienté fonctionnel 19

Un petit mot sur le provisionning Disposer d outils permettant d alimenter un annuaire, mais orienté fonctionnel Des outils spécifiques Sun Identity Manager (IDM), Novell Identity Manager, Microsoft Identity Lifecycle Manager Permet de rajouter des workflows, des rapports, une conformité légale (Sarbanes Oxley) 19

Un petit mot sur le provisionning Disposer d outils permettant d alimenter un annuaire, mais orienté fonctionnel Des outils spécifiques Sun Identity Manager (IDM), Novell Identity Manager, Microsoft Identity Lifecycle Manager Permet de rajouter des workflows, des rapports, une conformité légale (Sarbanes Oxley) Des éditeurs fonctionnels Calendra (Directory Management) Sun Directory Editor 19

Les raisons techniques 20

Les raisons techniques protocole d accès unifié, en résulte une adoption quasi systématique par les éditeurs d applications 20

Les raisons techniques protocole d accès unifié, en résulte une adoption quasi systématique par les éditeurs d applications sécurisation SSL/STARTTLS 20

Les raisons techniques protocole d accès unifié, en résulte une adoption quasi systématique par les éditeurs d applications sécurisation SSL/STARTTLS réplication multi-maîtres haute disponibilité 20

La pratique DSEE, NSS/PAM, Démo

La pratique DSEE, NSS/PAM, Démo

Directory Server Enterprise Edition 22

Directory Server Enterprise Edition Composante de JES5 22

Directory Server Enterprise Edition Composante de JES5 Est composé de un serveur LDAP, un proxy une instance de configuration un composant de la webconsole un agent cacao 22

Directory Server Enterprise Edition Composante de JES5 Est composé de un serveur LDAP, un proxy une instance de configuration un composant de la webconsole un agent cacao Attention, pas de version 6.2 en production! 22

Directory Server Enterprise Edition Composante de JES5 Est composé de un serveur LDAP, un proxy une instance de configuration un composant de la webconsole un agent cacao Attention, pas de version 6.2 en production! et même pas de 6.2 tout court... 22

Utilisation de LDAP pour les NSS 23

Utilisation de LDAP pour les NSS NameServiceSwitch 23

Utilisation de LDAP pour les NSS NameServiceSwitch Permet de résoudre l ensemble des tables de correspondance (nom <-> valeur) du système résolution de nom d hôte en adresse IP (DNS) translation de nom d utilisateurs, groupes en UID/GID d autres tables plus OS spécifiques comme celle utilisée par autofs 23

Utilisation de LDAP pour les NSS NameServiceSwitch Permet de résoudre l ensemble des tables de correspondance (nom <-> valeur) du système résolution de nom d hôte en adresse IP (DNS) translation de nom d utilisateurs, groupes en UID/GID d autres tables plus OS spécifiques comme celle utilisée par autofs Permet d utiliser une autre source de données (réseau) pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc. 23

Utilisation de LDAP pour les NSS NameServiceSwitch Permet de résoudre l ensemble des tables de correspondance (nom <-> valeur) du système résolution de nom d hôte en adresse IP (DNS) translation de nom d utilisateurs, groupes en UID/GID d autres tables plus OS spécifiques comme celle utilisée par autofs Permet d utiliser une autre source de données (réseau) pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc. Les interfaces (API) exposées sont les mêmes, quelque soit la source de données 23

Utilisation de LDAP pour les NSS NameServiceSwitch Permet de résoudre l ensemble des tables de correspondance (nom <-> valeur) du système résolution de nom d hôte en adresse IP (DNS) translation de nom d utilisateurs, groupes en UID/GID d autres tables plus OS spécifiques comme celle utilisée par autofs Permet d utiliser une autre source de données (réseau) pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc. Les interfaces (API) exposées sont les mêmes, quelque soit la source de données Attention, le service NSS n est pas lié à l authentification 23

à propos de PAM auth: id/pass OK account: user s account is valid (validité du mot de passe, expiration) session: set up and terminate login session passwd: modification du mot de passe 24

à propos de PAM Pour rappel, PAM est une couche d abstraction pour gérer l authentification auth: id/pass OK account: user s account is valid (validité du mot de passe, expiration) Plus précisément, pour gérer quatre étapes liées à session: set up and terminate login session l authentification (auth, passwd: account, modification session, du mot de passe password) 24

à propos de PAM Pour rappel, PAM est une couche d abstraction pour gérer l authentification auth: id/pass OK account: user s account is valid (validité du mot de passe, expiration) Plus précisément, pour gérer quatre étapes liées à session: set up and terminate login session l authentification (auth, passwd: account, modification session, du mot de passe password) Au même titre que les NSS, PAM permet d utiliser différents modules 24

à propos de PAM Pour rappel, PAM est une couche d abstraction pour gérer l authentification auth: id/pass OK account: user s account is valid (validité du mot de passe, expiration) Plus précisément, pour gérer quatre étapes liées à session: set up and terminate login session l authentification (auth, passwd: account, modification session, du mot de passe password) Au même titre que les NSS, PAM permet d utiliser différents modules Permet d empiler les modules 24

à propos de PAM Pour rappel, PAM est une couche d abstraction pour gérer l authentification Plus précisément, pour gérer quatre étapes liées à session: set up and terminate login session l authentification (auth, passwd: account, modification session, du mot de passe password) Au même titre que les NSS, PAM permet d utiliser différents modules Permet d empiler les modules auth: id/pass OK account: user s account is valid (validité du mot de passe, expiration) Attention, PAM ne gère que l authentification! (répond OK ou KO à une demande de vérification d un couple login / mot de passe) 24

Les différences entre NSS et PAM 25

Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent s utiliser indépendamment l un de l autre 25

Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent s utiliser indépendamment l un de l autre PAM peut s utiliser dans le cadre d une authentification apache aucun UID/GID n est nécessaire vérification du login/mot de passe suffisant 25

Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent s utiliser indépendamment l un de l autre PAM peut s utiliser dans le cadre d une authentification apache aucun UID/GID n est nécessaire vérification du login/mot de passe suffisant Une session système (login local, ssh) nécessite un UID/GID (entre autre) l utilisateur doit donc être présent dans la table NSS passwd 25

Au cas où 26

Au cas où 26

Au cas où 27

Au cas où 27

Démonstration : DSEE, Solaris

Démonstration : DSEE, Solaris

Autres ressources

Autres ressources

Les autres outils 30

Les autres outils OpenLDAP 30

Les autres outils OpenLDAP Apache Directory Studio 30

Les autres outils OpenLDAP Apache Directory Studio Apache Directory Server 30

Les autres outils OpenLDAP Apache Directory Studio Apache Directory Server Penrose 30

Liens http://docs.sun.com/ http://linagora.org/ pour des supports de formation LDAP, OpenLDAP http://google.com/ etc. 31