Single Sign-On open source avec CAS (Central Authentication Service)

Slides:



Advertisements
Présentations similaires
Informations sur la liste de messagerie « imbe.fr »
Advertisements

La sécurité dans Sharepoint
ASP.NET 2.0 et la sécurité Nicolas CLERC
Laccès distant aux bases bibliographiques J. Gutierrez / B.Nominé – Université Nancy 2.
13/04/05 - RB1 Montpellier 24/03/2005 Les interactions entre le SSO ESUP et le mécanisme de propagation d'identité
Pascal AUBRY François DAGORN IFSIC / Université de Rennes 1
[12 septembre 2005 ] CRI UHP – NANCY2 1 Base de lien BALI Université Henri Poincaré et Université Nancy 2 UNIRE.
Authentification Interne Authentification de base proposée par uPortal L'identifiant et le mot de passe sont stockés dans la base de données interne du.
Tomcat et son fonctionnement XML
Université Nancy 2 - CRI Propositions de mécanisme de SSO dans un environnement d’applications web.
Environnement Numérique de Travail Université Montpellier I
Copyright 2008 © Consortium ESUP-Portail EsupDay /02/2009 Atelier stockage Raymond Bourges, Université de Rennes 1.
Université Rennes 2 Haute Bretagne
05/07/07ESUP-Days IV Bravin - Jouin - Monclin Celcat à lUniversité de Reims Champagne - Ardenne.
Outils de communication. 17/11/2005Raymond Bourges2 Outils de communication Site Web Documentation (Bientôt gérée avec inJAC) Espace de téléchargement.
ESUP-FWA Connexion simplifiée à Apogée & Harpège via l'ENT
Le consortium et la mutualisation entre les universités
Copyright 2013 © Consortium ESUP-Portail Chainage de serveur CAS ESUP-Days 16, Paris 02 juillet 2013 Julien Marchal – Université de Lorraine.
Les outils Web - ENT Authentification – Sécurité
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
Remote Authentication Dial In User Service
Cours d'administration Web - juin Copyright© Pascal AUBRY - IFSIC - Université de Rennes 1 Mandataires, caches et filtres Pascal AUBRY IFSIC - Université
Le mécanisme de Single Sign-On CAS (Central Authentication Service)
en INFORMATIQUE et COMMUNICATION
Commission Web de l'Université de Rennes 1 9 mai Copyright© 2000 Pascal AUBRY - IFSIC - Université de Rennes 1 Le serveur web de lIFSIC Pascal AUBRY.
Copyright 2010 © Consortium ESUP-Portail TOC ESUP-Days 10, Paris, 2 juillet 2010 De LDAP à Kerberos à lUniversité de Rennes 1 Pascal Aubry François Dagorn.
Copyright © – ESUP-Portail esup-commons : où en est-on ? Pascal Aubry IFSIC / Université de Rennes 1
Atelier Portail SAP Durée : 2h.
Plan de formation Chapitre 1 : Présentation de SAP
S. CAGNI, S. PICARD et A. CORDIER Vous avez dit :.
Sécurité Informatique
SECURITE DU SYSTEME D’INFORMATION (SSI)
Passer à la première page SYMPA Un nouveau service pour la diffusion et léchange d informations, sécurisé et adapté aux besoins de lacadémie.
26 juin 2009LEFEVRE Christophe1 Module raw et connexions distantes.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Développement Rapide dApplications Web avec.NET « Mon premier site »
INTRANET au service du système d’information
Saisie de l’Offre de Formation (SOF)
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
Formation Environnement Numérique de Travail
Virtual Private Network
Développement dapplications web Authentification, session.
SSO : Single Sign On.
Un portail éducatif (1) Les fonctions d'un portail –Point d'entrée vers une palette de services existants (intégration). –Gestion de l' identité et des.
Installation d’un fournisseur d’identités Shibboleth
Java Authentication And Authorization Service API
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
Lyda tourisme Process en PHP. Objectif Il s’agit de construire un segment de process dans un système d’information touristique.
 SHIBBOLET Vitthagna BARNIER Paul CLEMENT M2 MIAGE Nancy 2009/2010.
Module 3 : Création d'un domaine Windows 2000
La technologie Shibboleth
Modules d'authentification enfichables (P.A.M.)
Présentation ESTRABOX
L’authentification Kerberos
Copyright 2008 © Consortium ESUP-Portail Formation CAS, mars 2009 Formation CAS Julien Marchal.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Site LMD-J2EE Présentation générale Sécurité Web.
LE SERVEUR PROXY Un serveur proxy (traduction française de «proxy server», appelé aussi «serveur mandataire») est à l'origine une machine faisant fonction.
Cette session avec la démo disponible prochainement sur le site « interop » :
AGIMUS NG pour une remontée automatique des indicateurs de l’utilisation des services numériques Khadija Dib - DGESIP/MiPNES,
TWP Toolkit Formation 21/10/2009.
Les identités numériques dans un monde connecté Digicloud 2016 – Marrakech Ouadie TALHANI Consultant Senior Sécurité Tél.: +336.
Rencontres LCG-France 01/12/2014. Agenda La Fédération Education-Recherche –Pourquoi, pour qui, comment ? L’inter-fédération eduGAIN Autres travaux et.
Développement d’applications Web
Accès distant aux ressources documentaires Carole Letrouit SCD Paris Descartes Couperin.
Single Sign-On open source avec CAS (Central Authentication Service)
Single Sign-On open source avec CAS (Central Authentication Service)
Transcription de la présentation:

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal UNIVERSITE DE RENNES 1 UNIVERSITATIS SIGILUM REDONENSIS Cette présentation est le fruit du groupe de travail qui traite du Single Sign-On et des autorisations au sein du projet ESUP-Portail (ce groupe associe des développeurs des universités de Nancy 1, Nancy 2, Rennes 1, Toulouse 3 et Valenciennes). Le single Sign-On, dont on a déjà largement parlé au cours de ces JRES (présentation des ENT + Olivier Salaun), a été une des premières préoccupations du projet ESUP-Portail. Il y a environ un an, le projet a évalué les solutions de Single Sign-On existantes dans le monde libre. L’objectif de cette présentation est de vous faire comprendre ce qu’est CAS (comment il marche). Si nous y réussissons, vous comprendrez alors certainement pourquoi CAS a été choisi comme le SSO du projet ESUP-Portail.

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 L’authentification sous CAS CAS-ification d’une application applications web applications non web CAS aujourd’hui et demain Démonstration

Pourquoi le Single Sign-On ? Single Sign-On = Authentification unique et unifiée Authentifications multiples Sécurité Le vol d’un 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 d’authentification Abstraction du mode d’authentification LDAP, NIS, BDD, certificats X509, …

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

Principes du SSO web Centralisation de l’authentification Sur un serveur (d’authentification) Redirections HTTP transparentes Des applications vers le serveur d’authentification Du serveur d’authentification vers les applications Passage d’informations lors de ces redirections Cookies Paramètres CGI

Le choix de CAS par ESUP-Portail (1) Sécurité Le mot de passe n’est transmis qu’au serveur d’authentification 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

Le choix de CAS par ESUP-Portail (2) Pérennité Développé par l’Université 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

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

1ère authentification d’un utilisateur serveur CAS HTTPS formulaire d’authentification : navigateur web

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

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

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

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

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

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

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

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

L’authentification sous CAS Laissée à l’initiative de l’administrateur Développement ‘genericHandler’ par ESUP-Portail Possibilité d’utiliser plusieurs modes d’authentification Configuration au format XML serveur CAS annuaire LDAP base de données domaine NIS certificats X509 domaine Kerberos domaine Windows NT fichiers d’utilisateurs

CAS-ification d’une 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

CAS-ification d’une application web Exemple d’utilisation de phpCAS (ESUP-Portail) <?php // include phpCAS library include_once('CAS/CAS.php'); // declare our script as a CAS client phpCAS::client(CAS_VERSION_2_0,'auth.univ.fr',443,''); // redirect to the CAS server if needed phpCAS::authenticateIfNeeded(); // at this point, the user is authenticated ?> <h1>Successfull Authentication!</h1> <p>User's login: <?php echo phpCAS::getUser(); ?>.</p>

CAS-ification d’une 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

Le module pam_cas login/password login/ticket application cliente application cliente application serveur login/password pam_ldap login/password pam_pwdb Annuaire LDAP pam_cas ticket /etc/passwd serveur CAS Pam_cas permet d’authentifier à partir d’un ticket CAS

CAS-ification d’un serveur IMAP Problématique Accéder à un serveur IMAP depuis une application web alors que l’on ne connaît pas le mot de passe de l’utilisateur connecté Laisser la possibilité aux clients de messagerie traditionnels de s’authentifier « normalement » (avec un mot de passe) Ne pas modifier le serveur IMAP La solution : pam_cas :-)

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

La problématique particulière d’IMAP 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é d’un cache Cyrus-IMAP propose un cache en standard (sasl_authd)

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

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

La problématique particulière d’IMAP Le webmail est intégré dans le SSO de ESUP-Portail En production à l’Université de Nancy 2 Efficacité du cache : 95%

CAS aujourd’hui et demain Au sein du projet Esup-portail D’une manière générale Limitations et perspectives CAS traite l’authentification, pas les autorisations Partage de charge et tolérances aux pannes

Démonstration rapide Computing services Cyrus IMAP CAS IMP nancy2.fr cru.fr CAS nancy2.fr IMP nancy2.fr nancy2.fr navigateur web jres.org

Liens utiles Home page de CAS : http://www.yale.edu/tp/cas/ Archive liste CAS : http://tp.its.yale.edu/pipermail/cas/ Archive uportal : http://list.unm.edu/archives/jasig-portal.html Documentations esup-portail : http://www.esup-portail.org/consortium/espace/SSO_1B/ http://www.esup-portail.org/consortium/espace/SSO_1B/cas/