LemonLDAP::NGLemonLDAP::NGUn WebSSO libre Clément OUDOTLemonLDAP::NG leader Consultant LINAGORA
Questions du jour●   Qui est ce conférencier devant moi ?●   Pourquoi faire du SSO ?●   Quest-ce que le SSO ?●   Comment f...
LemonLDAP::NG    Bas les masques                                    10/03/113                     http://lemonldap-ng.org
Clément OUDOT●   Contributeur LemonLDAP::NG depuis 2007,    Leader depuis 2011, en relai de Xavier    GUIMARD●   Leader du...
LemonLDAP::NG    Pourquoi moi ?                                    10/03/115                     http://lemonldap-ng.org
Mon application gère ses utilisateurs●   Mon application possède sa propre base    dutilisateurs avec les mots de passe●  ...
Mon application utilise une base centrale●   Les utilisateurs existent déjà dans une base, du    coup je ne stocke pas les...
La sécurité nest pas mon métier●   Quest-ce que la complexité dun mot de    passe ?●   Quest quune attaque par force brute...
La gestion didentité nest pas mon métier●   Comment créer le compte dun utilisateur    existant dans un autre référentiel ...
LemonLDAP::NG     Le WebSSO ?                                   10/03/1110                   http://lemonldap-ng.org
Quest-ce que le WebSSO ?●   SSO signifie « Single Sign On », qui peut se    traduire en français par « authentification   ...
Architectures●   Deux architectures complémentaires existent :    ●    WebSSO par délégation    ●    WebSSO par mandataire...
Délégation                     10/03/1113     http://lemonldap-ng.org
Mandataire inverse (reverse proxy)                                             10/03/1114                             http...
LemonLDAP::NG     LemonLDAP::NG       se présente                                    10/03/1115                    http://...
Historique●   LemonLDAP a été créé en 2003 par Eric GERMAN    (Ministère des Finances, France) pour remplace Novell    iCh...
Parlons technique●   LemonLDAP::NG repose sur trois composants :    ●    Le portail (Portal) : interface dauthentification...
Vue macroscopique                             10/03/1118             http://lemonldap-ng.org
Cinématique principale                                 10/03/1119                 http://lemonldap-ng.org
Les phases dauthentification●   LemonLDAP::NG découpe lauthentification en    plusieurs phases :    ●    Vérification des ...
Les différentes bases●   Plusieurs « bases » sont utilisées :    ●    Authentification : comment vérifier les données     ...
Méthodes dauthentification●   LemonLDAP::NG supporte de nombreuses méthodes    dauthentification :    ●    LDAP    ●    Da...
Rendre mon application compatible●   LemonLDAP::NG est très peu intrusif :    ●    Pas de module à importer dans le code  ...
LemonLDAP::NG     Et les autres ?                                      10/03/1124                      http://lemonldap-ng...
CAS●   Central Authentication Service●   Documentation du protocole pour 1.0 et 2.0●   Utilisation de tickets de service d...
Cinématique CAS                           10/03/1126           http://lemonldap-ng.org
OpenID●   Lidentifiant de lutilisateur contient ladresse du    service dauthentification●   Aussi basé sur les redirection...
Cinématique OpenID                              10/03/1128              http://lemonldap-ng.org
SAML●   Cercle de confiance : enregistrement préalable    des fournisseurs de services et des    fournisseurs didentités● ...
Cinématique SAML                            10/03/1130            http://lemonldap-ng.org
LemonLDAP::NG et les autres●   LemonLDAP::NG peut déléguer son    authentification à CAS, OpenID et SAML (avec    récupéra...
LemonLDAP::NG     Questions ?                                    10/03/1132                    http://lemonldap-ng.org
LemonLDAP::NG     Merci de votre attention                                              10/03/1133                        ...
Prochain SlideShare
Chargement dans…5
×

LemonLDAP::NG, un WebSSO libre (ConFoo 2011)

3 124 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 124
Sur SlideShare
0
Issues des intégrations
0
Intégrations
94
Actions
Partages
0
Téléchargements
39
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LemonLDAP::NG, un WebSSO libre (ConFoo 2011)

  1. 1. LemonLDAP::NGLemonLDAP::NGUn WebSSO libre Clément OUDOTLemonLDAP::NG leader Consultant LINAGORA
  2. 2. Questions du jour● Qui est ce conférencier devant moi ?● Pourquoi faire du SSO ?● Quest-ce que le SSO ?● Comment fonctionne LemonLDAP::NG ?● Et les autres dans tout ça : CAS, OpenID, Shibboleth, SAML, ...● Ai-je bien tout compris à cette conférence ? 10/03/11 2 http://lemonldap-ng.org
  3. 3. LemonLDAP::NG Bas les masques 10/03/113 http://lemonldap-ng.org
  4. 4. Clément OUDOT● Contributeur LemonLDAP::NG depuis 2007, Leader depuis 2011, en relai de Xavier GUIMARD● Leader du projet LDAP Tool Box● Actif dans les communautés OpenLDAP et LDAP Synchronization Connector● Membre de la cellule Identité / Sécurité du Groupe LINAGORA depuis 2003● Collabore au produit LINAGORA LinID 10/03/11 4 http://lemonldap-ng.org
  5. 5. LemonLDAP::NG Pourquoi moi ? 10/03/115 http://lemonldap-ng.org
  6. 6. Mon application gère ses utilisateurs● Mon application possède sa propre base dutilisateurs avec les mots de passe● Les utilisateurs sauthentifient chez moi 10/03/11 6 http://lemonldap-ng.org
  7. 7. Mon application utilise une base centrale● Les utilisateurs existent déjà dans une base, du coup je ne stocke pas les mots de passe● Par contre les utilisateurs doivent toujours menvoyer leur mot de passe 10/03/11 7 http://lemonldap-ng.org
  8. 8. La sécurité nest pas mon métier● Quest-ce que la complexité dun mot de passe ?● Quest quune attaque par force brute ?● Injection SQL, faille XSS ?● Expiration dun mot de passe, conservation dun historique, formulaire de changement de mot de passe ?● Comment changer mon mode dauthentification (biométrie, carte à puce, Kerberos, etc.) ? 10/03/11 8 http://lemonldap-ng.org
  9. 9. La gestion didentité nest pas mon métier● Comment créer le compte dun utilisateur existant dans un autre référentiel ?● Comment savoir que les informations de lutilisateur ont changé ?● Comment savoir que lutilisateur nexiste plus ?● Qui doit avoir accès à mon application, qui ne doit pas y accéder ?● Que faire quand lutilisateur a perdu son mot de passe ? 10/03/11 9 http://lemonldap-ng.org
  10. 10. LemonLDAP::NG Le WebSSO ? 10/03/1110 http://lemonldap-ng.org
  11. 11. Quest-ce que le WebSSO ?● SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique »● Le WebSSO se consacre à lauthentification unique pour les applications Web, cest-à-dire des applications client-serveur dont le client est un navigateur Web (IE, Firefox, etc.)● Le principe de base est dintercepter les requêtes entre le client et le serveur, et indiquer au serveur que le client est bien authentifié 10/03/11 11 http://lemonldap-ng.org
  12. 12. Architectures● Deux architectures complémentaires existent : ● WebSSO par délégation ● WebSSO par mandataire inverse 10/03/11 12 http://lemonldap-ng.org
  13. 13. Délégation 10/03/1113 http://lemonldap-ng.org
  14. 14. Mandataire inverse (reverse proxy) 10/03/1114 http://lemonldap-ng.org
  15. 15. LemonLDAP::NG LemonLDAP::NG se présente 10/03/1115 http://lemonldap-ng.org
  16. 16. Historique● LemonLDAP a été créé en 2003 par Eric GERMAN (Ministère des Finances, France) pour remplace Novell iChain (Novell → llevon → Lemon)● Comme Novell ou SiteMinder, LemonLDAP utilise des en- têtes HTTP pour propager lidentité de lutilisateur● LemonLDAP::NG est une réécriture complète de LemonLDAP par Xavier GUIMARD (Gendarmerie Nationale, France) en 2005● Thomas CHEMINEAU et Clément OUDOT complètent léquipe de développement 10/03/11 16 http://lemonldap-ng.org
  17. 17. Parlons technique● LemonLDAP::NG repose sur trois composants : ● Le portail (Portal) : interface dauthentification, menu des applications, changement de mot de passe ● Le handler (Handler) : agent réalisant le contrôle des accès aux applications Web ● Le manager (Manager) : interface de configuration, explorateur de sessions● Tous les composants sont écrits en Perl● Nécessite Apache et mod_perl 10/03/11 17 http://lemonldap-ng.org
  18. 18. Vue macroscopique 10/03/1118 http://lemonldap-ng.org
  19. 19. Cinématique principale 10/03/1119 http://lemonldap-ng.org
  20. 20. Les phases dauthentification● LemonLDAP::NG découpe lauthentification en plusieurs phases : ● Vérification des sessions existantes ● Récupération des données dauthentification ● Recherche de lutilisateur ● Authentification ● Stockage des données dans la session ● Écriture du cookie ● Redirection (menu ou application demandée) 10/03/11 20 http://lemonldap-ng.org
  21. 21. Les différentes bases● Plusieurs « bases » sont utilisées : ● Authentification : comment vérifier les données dauthentification ● Utilisateurs : où trouver les données de lutilisateur ● Mots de passe : où changer le mot de passe de lutilisateur● Exemple dutilisation : authentification par Kerberos, données de lutilisateur dans un annuaire LDAP 10/03/11 21 http://lemonldap-ng.org
  22. 22. Méthodes dauthentification● LemonLDAP::NG supporte de nombreuses méthodes dauthentification : ● LDAP ● Database ● SSL X509 ● Apache built-in modules (Kerberos, OTP, ...) ● SAML 2.0 ● OpenID ● Twitter ● CAS● 10/03/11 22 http://lemonldap-ng.org
  23. 23. Rendre mon application compatible● LemonLDAP::NG est très peu intrusif : ● Pas de module à importer dans le code ● Pas de WebService à appeler ● Simplement lire une en-tête HTTP !● Une application qui utilise lauthentification Apache (REMOTE_USER) est compatible !● Adaptations possibles de lapplication : ● Auto-création du compte local de lutilisateur ● Suppression du formulaire dauthentification 10/03/11 23 http://lemonldap-ng.org
  24. 24. LemonLDAP::NG Et les autres ? 10/03/1124 http://lemonldap-ng.org
  25. 25. CAS● Central Authentication Service● Documentation du protocole pour 1.0 et 2.0● Utilisation de tickets de service dans lURL, avec validation par un lien dorsal● Possibilité de tickets proxy● Pas de partage dattributs 10/03/11 25 http://lemonldap-ng.org
  26. 26. Cinématique CAS 10/03/1126 http://lemonldap-ng.org
  27. 27. OpenID● Lidentifiant de lutilisateur contient ladresse du service dauthentification● Aussi basé sur les redirections HTTP● Permet le partage dattributs (mais plusieurs normes possibles...)● Pas de notion de cercle de confiance 10/03/11 27 http://lemonldap-ng.org
  28. 28. Cinématique OpenID 10/03/1128 http://lemonldap-ng.org
  29. 29. SAML● Cercle de confiance : enregistrement préalable des fournisseurs de services et des fournisseurs didentités● Plusieurs méthodes : GET / POST / Artefact GET / Artefact POST 10/03/11 29 http://lemonldap-ng.org
  30. 30. Cinématique SAML 10/03/1130 http://lemonldap-ng.org
  31. 31. LemonLDAP::NG et les autres● LemonLDAP::NG peut déléguer son authentification à CAS, OpenID et SAML (avec récupération dattributs en OpenID et SAML)● LemonLDAP::NG peut fournir lidentité par CAS, OpenID et SAML (avec fourniture dattributs pour OpenID et SAML)● LemonLDAP::NG peut agir comme un pont entre tous ces protocoles 10/03/11 31 http://lemonldap-ng.org
  32. 32. LemonLDAP::NG Questions ? 10/03/1132 http://lemonldap-ng.org
  33. 33. LemonLDAP::NG Merci de votre attention 10/03/1133 http://lemonldap-ng.org

×