SlideShare uma empresa Scribd logo
1 de 21
Rencontres Mondiales du Logiciel Libre 2009



       Présentation du WebSSO
           LemonLDAP::NG

           Clément OUDOT
Menu du jour

Concepts du WebSSO
Le logiciel LemonLDAP::NG
Nouveautés de la version 0.9.4
Démonstration




                                               10 juillet 2009
  2                                  http://lemonldap.ow2.org
Définition du WebSSO

SSO signifie « Single Sign On », qui peut se
traduire en français par « authentification unique »
Le SSO est souvent accompagné de certaines
fonctionnalités :
Politique de mot de passe centralisée
Transmission transparente des informations de session
aux applications
Gestion des profils applicatifs, c'est-à-dire qui accède à
quoi

                                                           10 juillet 2009
   3                                             http://lemonldap.ow2.org
SSO par agent




                   10 juillet 2009
4        http://lemonldap.ow2.org
SSO par délégation




                        10 juillet 2009
5             http://lemonldap.ow2.org
SSO par mandataire inverse




                                10 juillet 2009
6                     http://lemonldap.ow2.org
Le protocole HTTP



              GET http://lemonldap.ow2.org HTTP/1.1
              Accept: text/html
              User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6)




    HTTP/1.1 200 OK
    Date: Thu, 13 Mar 2008 15:05:29 GMT
    Server: Apache
    Content-Length: 264
    Content-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>LemonLDAP::NG Homepage</title>

    ....
    </html>

                                                                                              10 juillet 2009
7                                                                                   http://lemonldap.ow2.org
Présentation de LemonLDAP::NG

LemonLDAP::NG est un logiciel libre (licence
GPL) hébergé chez OW2 :
http://lemonldap.ow2.org
Développé à l'origine par Xavier GUIMARD pour
les besoins de la Gendarmerie Nationale
Produit basé sur Apache et mod_perl,
entièrement écrit en Perl (moteur et interfaces)
Fournit un portail d'accès dynamique et une
interface d'administration
                                                    10 juillet 2009
  8                                       http://lemonldap.ow2.org
Architecture




                 10 juillet 2009
9      http://lemonldap.ow2.org
Principe

L'implémentation par défaut utilise 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 transmission des
attributs LDAP dans les en-têtes HTTP)
permettre à l'utilisateur de changer son mot de passe



                                                             10 juillet 2009
  10                                               http://lemonldap.ow2.org
Fonctionnement général




                             10 juillet 2009
11                 http://lemonldap.ow2.org
Gestion des sessions

Utilisation de n'importe quel module
 Apache::Session pour le stockage (File, DBI,
 LDAP, Memcached, ...)
Inscription du numéro de session dans un cookie
  temporaire (non écrit sur disque) avec le choix :
  Cookie non-sécurisé
  Cookie sécurisé (HTTPS uniquement)
  Double cookie
Durée de vie des sessions configurable
                                                    10 juillet 2009
 12                                       http://lemonldap.ow2.org
Règles d'accès

Les règles d'accès sont des expressions Perl
Elles peuvent être appliquées sur tout ou partie
  d'une application protégée (utilisation
  d'expressions régulières sur les URL)
Tous les attributs exportés lors de
  l'authentification sont disponibles dans les
  règles
Un système de macros permet de stocker des
 valeurs calculées en session
                                                     10 juillet 2009
 13                                        http://lemonldap.ow2.org
Règles d'accès

Accès pour tous les utilisateurs authentifiés :
  Default => accept
Accès pour le groupe « admin » :
  Default => $groups =~ /admin/
Accès aux mp3 pour l'utilisateur HADOPI :
  ^/*.mp3 => $uid eq "HADOPI"
Interception du logout de l'application
  ^/logout.php => logout_sso

                                                     10 juillet 2009
 14                                        http://lemonldap.ow2.org
Hôtes virtuels

La distinction des applications est basée sur la
 notion d'hôtes virtuels
Les hôtes virtuels peuvent être répartis sur
 plusieurs serveurs Apache
Chaque hôte virtuel possède :
  Des règles d'accès
  Des en-têtes HTTP
Les en-têtes HTTP contiennent également des
 expressions Perl
                                                    10 juillet 2009
 15                                       http://lemonldap.ow2.org
Applications nativement compatibles




                                         10 juillet 2009
16                             http://lemonldap.ow2.org
Autres applications compatibles

Applications reposant sur la sécurité Apache
 (.htaccess) : Nagios, ...
Applications reposant sur la sécurité Tomcat
 (users.xml) : Lutece, Probe, ...
Applications utilisant HTTP Basic : Domino Web
 Access, Outlook Web Access, ...
Applications compatibles SiteMinder



                                                  10 juillet 2009
 17                                     http://lemonldap.ow2.org
Nouveautés de la version 0.9.4

Utilisation de LDAP possible pour le stockage de
 la configuration et des sessions
Réécriture complète des fonctions SOAP : le
 portail est directement un point d'accès SOAP
Système de notifications
Nouvelles fonctions disponibles dans les règles
 d'accès pour vérifier les dates, les jours et les
 heures de connexion autorisés
L'adresse du portail peut être dynamique
                                                     10 juillet 2009
 18                                        http://lemonldap.ow2.org
Nouveautés de la 0.9.4

Séparation des modules d'authentification, de
 données utilisateur et de mots de passe
Gestion complète de la politique des mots de
 passe LDAP
Configuration simplifiée du cross-domain




                                                     10 juillet 2009
 19                                        http://lemonldap.ow2.org
Feuille de route

Refonte de l'interface d'administration
Validation du formulaire d'authentification pour
 les applications fermées
Portefeuille de comptes pour les applications
 fermées
Support SAML2 complet (fournisseur d'identités
 et fournisseur de service)



                                                    10 juillet 2009
 20                                       http://lemonldap.ow2.org
Démonstration




                               10 juillet 2009
21                   http://lemonldap.ow2.org

Mais conteúdo relacionado

Mais procurados

Mais procurados (10)

Installation joomla15
Installation joomla15Installation joomla15
Installation joomla15
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
Installation open erp-sous-windows1
Installation open erp-sous-windows1Installation open erp-sous-windows1
Installation open erp-sous-windows1
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcat
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)
 
Installation joomla 1-7
Installation joomla 1-7Installation joomla 1-7
Installation joomla 1-7
 
7 rest
7 rest7 rest
7 rest
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Joomla distant
Joomla distantJoomla distant
Joomla distant
 

Destaque

LemonLDAP::NG, un WebSSO libre
LemonLDAP::NG, un WebSSO libreLemonLDAP::NG, un WebSSO libre
LemonLDAP::NG, un WebSSO libreClément OUDOT
 
CAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemplesCAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemplesClément OUDOT
 
Vue d'ensemble du SSO
Vue d'ensemble du SSOVue d'ensemble du SSO
Vue d'ensemble du SSOBruno Bonfils
 
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NG
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NGSAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NG
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NGClément OUDOT
 
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemplesCAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemplesClément OUDOT
 

Destaque (6)

LemonLDAP::NG, un WebSSO libre
LemonLDAP::NG, un WebSSO libreLemonLDAP::NG, un WebSSO libre
LemonLDAP::NG, un WebSSO libre
 
CAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemplesCAS, OpenID, SAML : concepts, différences et exemples
CAS, OpenID, SAML : concepts, différences et exemples
 
Vue d'ensemble du SSO
Vue d'ensemble du SSOVue d'ensemble du SSO
Vue d'ensemble du SSO
 
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NG
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NGSAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NG
SAML, Open ID et CAS dans un seul WebSSO : LemonLDAP::NG
 
Sso fédération
Sso fédérationSso fédération
Sso fédération
 
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemplesCAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
CAS, OpenID, Shibboleth, SAML : concepts, différences et exemples
 

Semelhante a RMLL 2009 - Présentation du WebSSO LemonLDAP::NG

LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2Clément OUDOT
 
La syndication pour documentalistes
La syndication pour documentalistesLa syndication pour documentalistes
La syndication pour documentalistesSamuel Piret
 
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSOSL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSOClément OUDOT
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyHugo Hamon
 
LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !Clément OUDOT
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
WebSSO et gestion des accès
WebSSO et gestion des accèsWebSSO et gestion des accès
WebSSO et gestion des accèsLINAGORA
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.pptadiouf2
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxHamzaElgari
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009LINAGORA
 
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...LINAGORA
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflineDNG Consulting
 

Semelhante a RMLL 2009 - Présentation du WebSSO LemonLDAP::NG (20)

LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2
 
La syndication pour documentalistes
La syndication pour documentalistesLa syndication pour documentalistes
La syndication pour documentalistes
 
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSOSL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
 
LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !LemonLDAP::NG, un WebSSO libre‎ en Perl !
LemonLDAP::NG, un WebSSO libre‎ en Perl !
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
WebSSO et gestion des accès
WebSSO et gestion des accèsWebSSO et gestion des accès
WebSSO et gestion des accès
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptx
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
12-Factor
12-Factor12-Factor
12-Factor
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009
 
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
Séminaire septembre 2010 - LinID et LinPKI, Les solutions Open Source d'ident...
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Plici - PréSentation V2
Plici - PréSentation V2Plici - PréSentation V2
Plici - PréSentation V2
 
OpenERP/Odoo: Fiche Technique
OpenERP/Odoo: Fiche TechniqueOpenERP/Odoo: Fiche Technique
OpenERP/Odoo: Fiche Technique
 

Mais de Clément OUDOT

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0Clément OUDOT
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...Clément OUDOT
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM projectClément OUDOT
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...Clément OUDOT
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libreClément OUDOT
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...Clément OUDOT
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libreClément OUDOT
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017Clément OUDOT
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NGClément OUDOT
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel LibreClément OUDOT
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideClément OUDOT
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGClément OUDOT
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security JerkClément OUDOT
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnClément OUDOT
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Clément OUDOT
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnectClément OUDOT
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect ProtocolClément OUDOT
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overviewClément OUDOT
 

Mais de Clément OUDOT (20)

[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0[FOSDEM 2019] LemonLDAP::NG 2.0
[FOSDEM 2019] LemonLDAP::NG 2.0
 
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
[FLOSSCON 2019] Gestion des authentifications et des accès avec LemonLDAP::NG...
 
[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project[OW2Con 2018] The FusionIAM project
[OW2Con 2018] The FusionIAM project
 
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
[JDLL 2018] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir l...
 
[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre[OSSPARIS17] Le guide du connard du logiciel libre
[OSSPARIS17] Le guide du connard du logiciel libre
 
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités ![OSSPARIS17] Des logiciels libres pour la gestion des identités !
[OSSPARIS17] Des logiciels libres pour la gestion des identités !
 
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
 
[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre[RMLL2017] le guide du connard du logiciel libre
[RMLL2017] le guide du connard du logiciel libre
 
[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017[RMLL2017] LDAPCon 2017
[RMLL2017] LDAPCon 2017
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !
 
[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG[OW2Con 2017] News from LemonLDAP::NG
[OW2Con 2017] News from LemonLDAP::NG
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre
 
KR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard GuideKR2016 The Free Software Bastard Guide
KR2016 The Free Software Bastard Guide
 
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NGS2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
S2LQ - Authentification unique sur le Web avec le logiciel libre LemonLDAP::NG
 
The guide of Security Jerk
The guide of Security JerkThe guide of Security Jerk
The guide of Security Jerk
 
The wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign OnThe wonderful story of Web Authentication and Single-Sign On
The wonderful story of Web Authentication and Single-Sign On
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016
 
[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect[JDLL 2016] OpenID Connect et FranceConnect
[JDLL 2016] OpenID Connect et FranceConnect
 
[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol[OSSParis 2015] The OpenID Connect Protocol
[OSSParis 2015] The OpenID Connect Protocol
 
[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview[OW2Con 2015] LemonLDAP::NG 2.0 overview
[OW2Con 2015] LemonLDAP::NG 2.0 overview
 

RMLL 2009 - Présentation du WebSSO LemonLDAP::NG

  • 1. Rencontres Mondiales du Logiciel Libre 2009 Présentation du WebSSO LemonLDAP::NG Clément OUDOT
  • 2. Menu du jour Concepts du WebSSO Le logiciel LemonLDAP::NG Nouveautés de la version 0.9.4 Démonstration 10 juillet 2009 2 http://lemonldap.ow2.org
  • 3. Définition du WebSSO SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique » Le SSO est souvent accompagné de certaines fonctionnalités : Politique de mot de passe centralisée Transmission transparente des informations de session aux applications Gestion des profils applicatifs, c'est-à-dire qui accède à quoi 10 juillet 2009 3 http://lemonldap.ow2.org
  • 4. SSO par agent 10 juillet 2009 4 http://lemonldap.ow2.org
  • 5. SSO par délégation 10 juillet 2009 5 http://lemonldap.ow2.org
  • 6. SSO par mandataire inverse 10 juillet 2009 6 http://lemonldap.ow2.org
  • 7. Le protocole HTTP GET http://lemonldap.ow2.org HTTP/1.1 Accept: text/html User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6) HTTP/1.1 200 OK Date: Thu, 13 Mar 2008 15:05:29 GMT Server: Apache Content-Length: 264 Content-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>LemonLDAP::NG Homepage</title> .... </html> 10 juillet 2009 7 http://lemonldap.ow2.org
  • 8. Présentation de LemonLDAP::NG LemonLDAP::NG est un logiciel libre (licence GPL) hébergé chez OW2 : http://lemonldap.ow2.org Développé à l'origine par Xavier GUIMARD pour les besoins de la Gendarmerie Nationale Produit basé sur Apache et mod_perl, entièrement écrit en Perl (moteur et interfaces) Fournit un portail d'accès dynamique et une interface d'administration 10 juillet 2009 8 http://lemonldap.ow2.org
  • 9. Architecture 10 juillet 2009 9 http://lemonldap.ow2.org
  • 10. Principe L'implémentation par défaut utilise 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 transmission des attributs LDAP dans les en-têtes HTTP) permettre à l'utilisateur de changer son mot de passe 10 juillet 2009 10 http://lemonldap.ow2.org
  • 11. Fonctionnement général 10 juillet 2009 11 http://lemonldap.ow2.org
  • 12. Gestion des sessions Utilisation de n'importe quel module Apache::Session pour le stockage (File, DBI, LDAP, Memcached, ...) Inscription du numéro de session dans un cookie temporaire (non écrit sur disque) avec le choix : Cookie non-sécurisé Cookie sécurisé (HTTPS uniquement) Double cookie Durée de vie des sessions configurable 10 juillet 2009 12 http://lemonldap.ow2.org
  • 13. Règles d'accès Les règles d'accès sont des expressions Perl Elles peuvent être appliquées sur tout ou partie d'une application protégée (utilisation d'expressions régulières sur les URL) Tous les attributs exportés lors de l'authentification sont disponibles dans les règles Un système de macros permet de stocker des valeurs calculées en session 10 juillet 2009 13 http://lemonldap.ow2.org
  • 14. Règles d'accès Accès pour tous les utilisateurs authentifiés : Default => accept Accès pour le groupe « admin » : Default => $groups =~ /admin/ Accès aux mp3 pour l'utilisateur HADOPI : ^/*.mp3 => $uid eq "HADOPI" Interception du logout de l'application ^/logout.php => logout_sso 10 juillet 2009 14 http://lemonldap.ow2.org
  • 15. Hôtes virtuels La distinction des applications est basée sur la notion d'hôtes virtuels Les hôtes virtuels peuvent être répartis sur plusieurs serveurs Apache Chaque hôte virtuel possède : Des règles d'accès Des en-têtes HTTP Les en-têtes HTTP contiennent également des expressions Perl 10 juillet 2009 15 http://lemonldap.ow2.org
  • 16. Applications nativement compatibles 10 juillet 2009 16 http://lemonldap.ow2.org
  • 17. Autres applications compatibles Applications reposant sur la sécurité Apache (.htaccess) : Nagios, ... Applications reposant sur la sécurité Tomcat (users.xml) : Lutece, Probe, ... Applications utilisant HTTP Basic : Domino Web Access, Outlook Web Access, ... Applications compatibles SiteMinder 10 juillet 2009 17 http://lemonldap.ow2.org
  • 18. Nouveautés de la version 0.9.4 Utilisation de LDAP possible pour le stockage de la configuration et des sessions Réécriture complète des fonctions SOAP : le portail est directement un point d'accès SOAP Système de notifications Nouvelles fonctions disponibles dans les règles d'accès pour vérifier les dates, les jours et les heures de connexion autorisés L'adresse du portail peut être dynamique 10 juillet 2009 18 http://lemonldap.ow2.org
  • 19. Nouveautés de la 0.9.4 Séparation des modules d'authentification, de données utilisateur et de mots de passe Gestion complète de la politique des mots de passe LDAP Configuration simplifiée du cross-domain 10 juillet 2009 19 http://lemonldap.ow2.org
  • 20. Feuille de route Refonte de l'interface d'administration Validation du formulaire d'authentification pour les applications fermées Portefeuille de comptes pour les applications fermées Support SAML2 complet (fournisseur d'identités et fournisseur de service) 10 juillet 2009 20 http://lemonldap.ow2.org
  • 21. Démonstration 10 juillet 2009 21 http://lemonldap.ow2.org