La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal."— Transcription de la présentation:

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

2 SSO open source avec CAS Introduction –Pourquoi le Single Sign-On ? –Principes du SSO sur le web –Le choix de CAS Le mécanisme CAS Lauthentification sous CAS CAS-ification dune application –applications web –applications non web CAS aujourdhui et demain Démonstration

3 Pourquoi le Single Sign-On ? Single Sign-On = Authentification unique et unifiée Authentifications multiples Sécurité –Le vol dun mot de passe unique est critique Protéger le mot de passe Ne pas le transmettre aux applications (simplification des applications et non délégation de la sécurité) Différents mécanismes dauthentification –Abstraction du mode dauthentification LDAP, NIS, BDD, certificats X509, …

4 Pourquoi le Single Sign-On ? navigateur web appli n°1appli n°2appli n°3 sans le SSO service navigateur web appli n°1appli n°2appli n°3 avec le SSO service

5 Principes du SSO web Centralisation de lauthentification –Sur un serveur (dauthentification) Redirections HTTP transparentes –Des applications vers le serveur dauthentification –Du serveur dauthentification vers les applications Passage dinformations lors de ces redirections –Cookies –Paramètres CGI

6 Le choix de CAS par ESUP-Portail (1) Sécurité –Le mot de passe nest transmis quau serveur dauthentification –Utilisation de tickets « opaques » et à usage unique (à la Kerberos) Mécanisme n-tiers –Utilisation de services sans transmission du mot de passe Portabilité (librairies clientes) –Java, Perl, JSP, ASP, PHP, PL/SQL, modules apache et PAM –Adaptation aisée des applications

7 Le choix de CAS par ESUP-Portail (2) Pérennité –Développé par lUniversité de Yale –En production dans les universités (américaines notamment) Plateforme J2EE –Code léger (un millier de lignes de code) Open source Intégration uPortal

8 navigateur web appli n°1appli n°2appli n°3 avec CAS service Le choix de CAS navigateur web appli n°1appli n°2appli n°3 serveur dauthentification sans le SSO référentiel utilisateurs service identifiant, mot de passe, certificat, … Mais comment ça marche ?

9 1 ère authentification dun utilisateur serveur CAS formulaire dauthentification : HTTPS navigateur web

10 1 ère authentification dun utilisateur TGC : Ticket Granting Cookie –Passeport du navigateur auprès du serveur CAS –Cookie privé et protégé (le seul cookie utilisé dans CAS ; il nest pas obligatoire) –Ticket opaque rejouable serveur CAS identifiant mot de passe HTTPS référentiel utilisateurs navigateur web TGC

11 Accès à une application (après authentification) navigateur web serveur CAS TGC HTTPS application TGC ST ST : Service Ticket –Passeport du navigateur auprès du client CAS –Ticket opaque non rejouable –Limité dans le temps ID

12 Accès à une application (après authentification) serveur CAS HTTPS TGC ST ST : Service Ticket –Passeport du navigateur auprès du client CAS –Ticket opaque non rejouable –Limité dans le temps ID navigateur web TGC Toutes les redirections sont transparentes pour lutilisateur application Dans la pratique…

13 Accès à une application (avant authentification) navigateur web serveur CAS HTTPS formulaire dauthentification application

14 Accès à une application (avant authentification) navigateur web serveur CAS TGC HTTPS ST ID identifiant mot de passe ST TGC Il nest pas nécessaire de sêtre préalablement authentifié auprès du serveur CAS pour accéder à une application application Quelques remarques…

15 Remarques Une fois le TGC acquis, lauthentification devient transparente pour laccès à toutes les autres applications CAS-ifiées Une fois authentifié pour une application, une session applicative est mise en place

16 Fonctionnement n-tiers PGT : Proxy Granting Ticket –Passeport d'un utilisateur pour une application auprès du serveur CAS –Ticket opaque rejouable navigateur web serveur CAS TGC application (mandataire CAS) ST service ID PGT

17 application (mandataire CAS) Fonctionnement n-tiers navigateur web serveur CAS TGC ST service PGT PT ID PGT PGT : Proxy Granting Ticket –Passeport d'un utilisateur pour une application auprès du serveur CAS –Ticket opaque rejouable PT : Proxy Ticket –Passeport d'un utilisateur auprès d'un service tiers –Ticket opaque non rejouable –Limité dans le temps PT Lauthentification…

18 Lauthentification sous CAS Laissée à linitiative de ladministrateur Développement genericHandler par ESUP-Portail –Possibilité dutiliser plusieurs modes dauthentification –Configuration au format XML annuaire LDAP base de données domaine NIS certificats X509 domaine Kerberos domaine Windows NT fichiers dutilisateurs serveur CAS

19 CAS-ification dune application web Utilisation des librairies fournies Quelques lignes de code Cas-ification des applications proxy –HTTPS nécessaire pour certaines URL –Complexité masquée par les librairies Dans tous les cas, gérer des sessions applicatives Possibilité de mod_cas avec Apache –Protection de documents statiques et/ou dynamiques

20 CAS-ification dune application web Exemple dutilisation de phpCAS (ESUP-Portail) Successfull Authentication! User's login:.

21 CAS-ification dune application non WEB Un des point forts de CAS Grâce au module pam_cas Exemple de configuration PAM auth sufficient /lib/security/pam_ldap auth sufficient /lib/security/pam_pwdb.so shadow nullok auth required /lib/security/pam_cas.so \ -simap://mail.univ.fr \ -phttps://ent.univ.fr/uPortal/CasProxyServlet

22 pam_cas Le module pam_cas Pam_cas permet dauthentifier à partir dun ticket CAS pam_pwdb application cliente pam_ldap Annuaire LDAP login/password /etc/passwd login/password application cliente serveur CAS ticket application serveur login/ticket

23 CAS-ification dun serveur IMAP Problématique –Accéder à un serveur IMAP depuis une application web alors que lon ne connaît pas le mot de passe de lutilisateur connecté –Laisser la possibilité aux clients de messagerie traditionnels de sauthentifier « normalement » (avec un mot de passe) –Ne pas modifier le serveur IMAP La solution : pam_cas :-)

24 pam_cas CAS-ification dun serveur IMAP pam_pwdb client de messagerie traditionnel pam_ldap serveur IMAP Annuaire LDAP login / password /etc/passwd login / password webmail CAS-ifié (mandataire CAS) login / PT serveur CAS PT navigateur web ST

25 La problématique particulière dIMAP Les ouvertures de connexion vers un serveur IMAP sont très nombreuses –Les clients Web ne gardent pas les connexions IMAP ouvertes (IMP) –Valider un ticket à chaque connexion est pénalisant pour le serveur CAS Nécessité dun cache Cyrus-IMAP propose un cache en standard (sasl_authd)

26 pam_cas pam_pwdb pam_ldap La problématique particulière dIMAP client de messagerie traditionnel Annuaire LDAP login / password /etc/passwd webmail CAS-ifié (mandataire CAS) serveur CAS PT navigateur web ST sasl Cyrus imapd login / PT

27 pam_cas pam_pwdb pam_ldap sasl La problématique particulière dIMAP client de messagerie traditionnel Cyrus imapd Annuaire LDAP login / password /etc/passwd webmail CAS-ifié (IMP + phpCAS) login / PT serveur CAS PT navigateur web ST sasl_authd cache socket unix démon Cyrus IMAP démon sasl_authd

28 La problématique particulière dIMAP Le webmail est intégré dans le SSO de ESUP-Portail En production à lUniversité de Nancy 2 –Efficacité du cache : 95%

29 CAS aujourdhui et demain CAS aujourdhui –Au sein du projet Esup-portail –Dune manière générale Limitations et perspectives –CAS traite lauthentification, pas les autorisations –Partage de charge et tolérances aux pannes

30 Démonstration rapide cru.fr nancy2.fr navigateur web jres.org

31 Liens utiles Home page de CAS : Archive liste CAS : Archive uportal : Documentations esup-portail :


Télécharger ppt "Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal."

Présentations similaires


Annonces Google