LemonLDAP::NG et le support SAML2

download LemonLDAP::NG et le support SAML2

If you can't read please download the document

Transcript of LemonLDAP::NG et le support SAML2



16, 17 et 18 MARS 2010

LemonLDAP::NG / SAML2

Xavier GUIMARD(Gendarmerie Nationale)

Clment OUDOT(Groupe LINAGORA)

SOMMAIRE

Dfinition du WebSSO

Prsentation de LemonLDAP::NG

SAML2 et la fdration d'identits

Support SAML2 dans LemonLDAP::NG

Dmonstration

Le WebSSO

SSO signifie Single Sign On, qui peut se traduire en franais par authentification unique

Le WebSSO se consacre l'authentification unique pour les applications Web, c'est--dire des applications client-serveur dont le client est un navigateur Web (IE, Firefox, etc.)

Le principe de base est d'intercepter les requtes entre le client et le serveur, et indiquer au serveur que le client est bien authentifi

Techniquement, cela repose essentiellement sur la gestion d'une session SSO stocke au niveau du serveur WebSSO et lie un cookie dans le navigateur de l'utilisateur

Deux architectures complmentaires existent :WebSSO par dlgation

WebSSO par mandataire inverse

SSO par dlgation

SSO par mandataire inverse

Autres fonctionnalits

Le rle standard du WebSSO est de propager l'authentification sur des applications Web

En supplment, ces fonctionnalits sont souvent prsentes dans les produits de WebSSO :Contrle d'accs aux applications (qui a accs quoi)

Transfert d'informations complmentaires l'identifiant de l'utilisateur (nom, mails, etc.)

Gestion du mot de passe (interface de changement de mot de passe, rinitialisation, etc.)

Prsentation de LemonLDAP::NG

LemonLDAP::NG est un logiciel libre (licence GPL) hberg chez OW2 : http://lemonldap.ow2.org

Dvelopp l'origine par Xavier GUIMARD pour les besoins de la Gendarmerie Nationale

Produit bas sur Apache et mod_perl, entirement crit en Perl (moteur et interfaces)

Fournit un portail d'accs dynamique et une interface d'administration

Architecture

Principe

L'implmentation par dfaut utilise un annuaire LDAP pour :authentifier l'utilisateur (vrification du mot de passe)

effectuer un contrle d'accs (selon les attributs LDAP de l'utilisateur)

approvisionner les applications (par transmission des attributs LDAP dans les en-ttes HTTP)

permettre l'utilisateur de changer son mot de passe

Fonctionnement gnral

Gestion des sessions

Utilisation de n'importe quel module Apache::Session pour le stockage (File, DBI, LDAP, ...)

Inscription du numro de session dans un cookie temporaire (non crit sur disque) avec le choix :Cookie non-scuris

Cookie scuris (HTTPS uniquement)

Double cookie

Dure de vie des sessions configurable

Rgles d'accs

Les rgles d'accs sont des expressions Perl

Elles peuvent tre appliques sur tout ou partie d'une application protge (utilisation d'expressions rgulires sur les URL)

Tous les attributs exports lors de l'authentification sont disponibles dans les rgles

Un systme de macros permet de stocker des valeurs calcules en session

Rgles d'accs

Accs pour tous les utilisateurs authentifis :Default => accept

Accs pour le groupe admin :Default => $groups =~ /admin/

Interception du logout de l'application :^/logout.php => logout_sso

Htes virtuels

La distinction des applications est base sur la notion d'htes virtuels

Les htes virtuels peuvent tre rpartis sur plusieurs serveurs Apache

Chaque hte virtuel possde :Des rgles d'accs

Des en-ttes HTTP

Les en-ttes HTTP contiennent galement des expressions Perl :Auth-User => $uid

Auth-Name => uc($sn).", ".ucfirst($gn)

Applications nativement compatibles

Autres applications compatibles

Applications reposant sur la scurit Apache (.htaccess) : Nagios, ...

Applications reposant sur la scurit Tomcat (users.xml) : Lutece, Probe, ...

Applications utilisant HTTP Basic : Domino Web Access, Outlook Web Access, ...

Applications compatibles SiteMinder

Quelques captures d'cran

Fdration d'identit

La fdration d'identit permet de crer des cercles de confiance entre fournisseurs de service et fournisseurs d'identits

Les comptes des diffrents fournisseurs de services peuvent tre fdrs avec le compte du fournisseur d'identit (ce compte est appel principal)

Chaque fournisseur de service dialogue alors avec le fournisseur d'identit pour s'assurer que l'utilisateur est bien reconnu sur le cercle de confiance

Les standards d'origine SAML1, Liberty Alliance et Shibboleth convergent aujourd'hui vers SAML2

Cercle de confiance

Service Provider

Identity Provider

Service Provider

Attributes Provider

User interactionWeb service

Cinmatique d'authentification

SAML2 et LemonLDAP::NG

Utilisation de la bibliothque GPL Lasso

Modules :LemonLDAP::NG en tant que fournisseur de service (SP) : l'authentification et la rcupration d'attributs sont faites sur un fournisseur d'identit SAML2

LemonLDAP::NG en tant que fournisseur d'identit (IDP) : l'ouverture d'une session locale WebSSO ouvre galement une session SAML2

Planning :Module SP : 1er trimestre 2010 (version de dveloppement)

Module IDP : 2e trimestre 2010 (version de dveloppement)

Sortie de la version stable incluant SAML2 et OpenID : 2 semestre 2010

Dmonstration



16, 17 et 18 MARS 2010

Merci de votre attention

WWW.LINAGORA.COM