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

30
31 mars, 1er et 2 avril 2009 www.linagora.com WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot – Thomas Chemineau
  • date post

    20-Oct-2014
  • Category

    Technology

  • view

    4.658
  • download

    2

description

Présentation donnée lors de la conférence officielle au salon Solution Linux 2009.Intervenant : Clément OUDOT et Thomas CHEMINEAU

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

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

31 mars, 1er et 2 avril 2009

www.linagora.com

WebSSO, synchronisation etcontrôle des accès via LDAP

Clément Oudot –Thomas Chemineau

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

2

www.linagora.com

Sommaire général

● Synchronisation d'identités● WebSSO et contrôle des accès● Démonstration

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

3

www.linagora.com

Sommaire

● Synchronisation d'identités– Présentation du projet LSC– Principes d'une synchronisation d'identités– Fonctionnalités de synchronisation de LSC

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

4

www.linagora.com

● Qu'est ce que LSC ?– Projet Open Source, licence BSD

– Signifie LDAP Synchronisation Connector

– Anciennement issu du projet InterLDAP

– Couche applicative qui permet de synchroniser des référentiels de données divers vers un annuaire LDAP

– Technologie : JAVA● Projet communautaire : http://lsc-project.org

Présentation du projet LSC

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

5

www.linagora.com

● Automatise les importations/exportations de données entre des référentiels de données et des annuaires LDAP

● Alimentation d'annuaire supportant une base de données, un annuaire ou un fichier CSV comme source d'alimentation

● Transformations spécifiques pour la gestion d'identités

● Optimisé pour la rapidité d'exécution pour permettre une synchronisation continue

Synchronisation d'identités

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

6

www.linagora.com

● Deux niveaux d'information sur une identité :– L'existance d'une identité elle même

– Les données spécifiques à chaque identité● Opérations de synchronisation :

– Création : report des nouvelles identités

– Suppression : retrait des identités supprimées

– Mise à jour : pour une identité existant de part et d'autre, recopie des données spécifiques

Principe de synchronisation d'identités

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

7

www.linagora.com

● Des critères de synchronisation– Type de la source (LDAP / base de données / CSV)

– Identification de la population ciblée

– Mapping et transformation des attributs sources – destination

– Actions différentes selon les opérations(création / mise à jour / suppression)

Principe de synchronisation d'identités

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

8

www.linagora.com

● 3 niveaux de synchronisation :– Base de données vers annuaire LDAP

– Fichier plat au format CSV vers annuaire LDAP

– Annuaire vers annuaire (ex : LDAP vers AD)

Fonctionnement général de LSC

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

9

www.linagora.com

Fonctionnement général de LSC

Interface (IBATIS)

Objet JDBC Sérialisation (XML)

Objets LDAP

Ab

str

ac

tio

n S

QL

BEAN

Traitement LSC

Objet JNDI Objet LDAPMo

teu

r

Annuaire

Importation (HSQLDB)

Fichiers CSV Structuration SQL

BD

Be

mb

arq

e

Base de données

Processus d'extraction au format CSV

Base de données

Annuaire

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

10

www.linagora.com

● Les sources de synchronisation peuvent être de différentes natures (SGBD, LDAP)

● Différents formats d'entrées :– CSV : données injectées dans une base

embarquée (HSQLDB)

– LDIF : données injectées dans un annuaire embarqué (OpenDS)

Différents formats d'entrées

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

11

www.linagora.com

● Les synchronisations génèrent des rapports détaillés, sous différents formats :– CSV : les modifications apportées sur l'annuaire

sont journalisées au format CSV

– LDIF : les modifications apportées sur l'annuaire sont journalisées au format LDIF

● Différents niveaux de traçabilités et choix des opérations LDAP à tracer

Différents formats de sorties

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

12

www.linagora.com

● Des traitements simples, comme :– Concaténation de plusieurs attributs sources

– Séparation des valeurs multiples d'un champ source vers un attribut LDAP multivalué cible

– Suppression des caractères diacritiques● Des traitements avancés, comme :

– Tests d'existence des DN

– Peuplement avancé des attributs

– Prise en charge d'Active Directory

Traitements des données

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

13

www.linagora.com

● Indispensable pour peupler les utilisateurs d'AD● UserAccountControl permet de spécifier l'état

d'un compte utilisateur, par exemple :– ACCOUNTDISABLE

– PASSWD_CANT_CHANGE

– PASSWORD_EXPIRED● Prise en charge de la synchronisation du mot de

passe sur un flux SSL

Prise en charge d'Active Directory

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

14

www.linagora.com

Cas d'utilisation général

Active Directory

Interface degestion de

contenu

Population d'administrateurs

Application A

Application BSource dedonnées

Annuaire LDAP central

Traitement automatisé de synchronisation de données

Légende :

Traitement manuel de manipulation de données

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

15

www.linagora.com

Sommaire

● WebSSO et gestion des accès– Concepts et définition du WebSSO– Présentation de LemonLDAP::NG– X-domain et Liberty Alliance

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

16

www.linagora.com

Définition du WebSSO

● SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique ».

● Le SSO regroupe plusieurs fonctionnalités :– Couple identifiant/mot de passe unique

– Transmission transparente des informations de session aux applications

– Gestion des profils applicatifs, c'est-à-dire qui accède à quoi

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

17

www.linagora.com

SSO par agent

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

18

www.linagora.com

SSO par délégation

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

19

www.linagora.com

SSO par mandataire inverse

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

20

www.linagora.com

Le protocole HTTP

GET http://www.linagora.com HTTP/1.1Accept: text/htmlUser-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6)

HTTP/1.1 200 OKDate: Thu, 13 Mar 2008 15:05:29 GMTServer: ApacheContent-Length: 264Content-Type: text/html; charset=iso-8859-1

<?xml version="1.0" encoding="iso-8859-1" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr" dir="ltr"><head><title>Linagora, integrateur de reference sur le marche des logiciels libres</title>

....</html>

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

21

www.linagora.com

Présentation de LemonLDAP::NG

● LemonLDAP est un ensemble de scripts et de modules Perl utilisés à travers mod_perl et le serveur HTTP Apache

● LemonLDAP et LemonLDAP::NG sont des logiciels libres, les projets sont hébergés chez OW2 : http://lemonldap.objectweb.org

● LemonLDAP a été créé par Eric German, du Ministère des Finances

● La version ::NG a été écrite par Xavier Guimard, de la Gendarmerie Nationale

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

22

www.linagora.com

Principes

● Le principe général est d'utiliser un annuaire LDAP pour :– authentifier l'utilisateur (vérification du mot de

passe)

– effectuer un contrôle d'accès (selon les attributs LDAP de l'utilisateur)

– approvisionner les applications (par transmissions des attributs LDAP dans les en-têtes HTTP)

● LemonLDAP::NG a été choisi pour le projet FederID (http://www.federid.org)

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

23

www.linagora.com

Fonctionnement général

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

24

www.linagora.com

Intégration d'une application

● Pré-requis :– Accès au code source et possibilité de le modifier

– disposer d'un langage permettant la lecture des en-têtes HTTP

● Désactiver le formulaire d'authentification local● Lire les en-têtes HTTP, en particulier celle

fournissant l'identité de l'utilisateur

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

25

www.linagora.com

Ajout d'une application dans le WebSSO

● Utilisation du Manager pour créer un nouvel hôte virtuel dans la configuration LemonLDAP::NG :– Nom de l'hôte virtuel

– Règles d'accès

– Informations transmises● Configuration du serveur Apache2 :

– Ajout d'un hôte virtuel ou reprise de l'existant

– Ajout des paramètres d'appel du Handler

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

26

www.linagora.com

Présentation du X-domain

● Un domaine est constitué d'un nom (linagora, yahoo, google, ...) et d'une extension, appelée aussi suffixe (fr, de, com, net, ...).

● La spécification des cookies précise qu'un cookie doit être déclaré sur un domaine et envoyé à aucun autre. Les navigateurs refusent d'ailleurs de transmettre un cookie à un domaine différent de celui qui l'a émis.

● Certaines applications sont parfois réparties sur plusieurs domaines, elles utilisent alors des mécanismes dits de « cross-domain ».

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

27

www.linagora.com

X-domain

● Plusieurs solutions techniques permettent de faire du cross-domain, la plus répandue consiste à faire transiter le numéro de session dans l'URL.

● L'architecture cross-domain suppose généralement l'existence d'un serveur maître unique, réalisant l'authentification et la mise en session des informations, et de un ou plusieurs esclaves, utilisant le numéro de session transmis pour retrouver les informations.

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

28

www.linagora.com

Liberty Alliance

Applicationprotégée

Agent (Handler)Agent (Handler)

PortailWebSSO

SessionsLDAP

Fournisseurd'identités

Identifiant

Mot de passeA

sser

tio

n C

on

sum

erA

sser

tio

n C

on

sum

er

1

2

3

4

5

6

7

8

9

10 11

12

13

1415

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

29

www.linagora.com

Démonstration

Passons à la pratique !

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

30

www.linagora.com

Merci de votre attention

Retrouvez-nous sur notre stand B25 !