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

Slides:



Advertisements
Présentations similaires
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.
Advertisements

Le mécanisme de Single Sign-On CAS (Central Authentication Service)
Single Sign-On open source avec CAS (Central Authentication Service)
Copyright 2008 © Consortium ESUP-Portail Formation CAS, mars 2009 Formation CAS Julien Marchal.
Messagerie collaborative Mobilité et Fonctions avancées du Webmail.
INTRODUCTION. INTRODUCTION PLAN DE SOUTENANCE PREMIER PARTIE: GÉNÉRALITÉS Chapitre 1: Présentation de la structure d’accueil Chapitre 2 : généralité.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Single Sign On et Web SSO Page 1 Nicolas Dewaele Single Sign On.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Guide Share France Web Single Sign On Panorama des solutions SSO.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
Étude de cas: Implantation de Zimbra chez Remax Québec Hugues Clouâtre Gestion-Ressources Inc.
Créer un site Web avec Eva Spip Première approche B. Gugger – Mars 2006 – Département RTC.
Windows NT/2000/XP Enjeux et contraintes techniques Douzième partie La sécurité C. Casteyde Document diffusé sous licence GNU FDL.
Séminaire Novembre 2006 Serveur pédagogique : Scribe.
Cetiad - Sicep Mars Généralités ➢ Organisation de l'assistance dans l'académie de Dijon ➢ Architecture réseau des établissements ➢ Présentation.
SSO : Single Sign ON Authentification unique Il y a 10 ans : Un luxe Il y a 3 ans : Un composant à part entiere Aujourd'hui : Incontournable Demain : Le.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
L'utilisation des logiciels libres dans les Services de documentation de l'Institut d'Etudes Politiques de Lyon Journées du logiciel libre à Lyon – 13.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Josy "Outils collaboratifs" 1er octobre Le couplage Sympa - ferme de (doku)wikis pour les organisations virtuelles O. Lumineau, D. Verdin, O. Salaün,
Kolab La solution de groupware libre Benoit Mortier OpenSides Bruxelles,
République algérienne démocratique et populaire Ministère de la Formation Et de l’Enseignement Professionnel Institut National Spécialisé en Formation.
1 Rapport PFE Gestion de Stock M LLE Nouhaila Touzani Ouazli.
Procédures Framework LDAP
Master II BioInfo - Galaxy – Session Décembre 2016
Framework EHop/Ecenvir
Eric b, emmanuel l, damien t
Le réseau pédagogique de l’établissement
Le CMS Joomla La mise en place du CMS est inscrite dans le dossier d’homologation Attente : avoir une plateforme commune de travail et de publication.
Roland Dirlewanger CNRS Délégation Aquitaine et Poitou-Charentes
Livret scolaire unique du CP à la 3ème
Présentation Scribe NG Serveur pédagogique.
Marchés Exterieurs Des Industries Agroalimentaires
INSIA SRT 3 PAM !.
Sécurisation de l’accès Internet
L'utilisation des certificats à la DR15
Les Tests de performances
Séminaire EOLE Dijon Octobre 2010
Installation et Configuration Internet Information Server (IIS 5)
Sécurité - Configuration de
Sécurité - Configuration de -
fonctionnalités iiS iis
Comment fonctionne RADIUS?
Produire, collaborer, partager avec un blog d’école
Windows Apache MySQL PHP
Configuration de groupes l'autorisation via ASDM
Cyril Bras Journée « Sécu »
Séminaire EOLE Beaune Septembre 2007
Chapitre 7 Configuration de l'environnement du bureau
PRESENTATION DE Cahier de charges 1. Mise en place d’un système de portail captif au sein de l’IGA PROJET : 2.
Bureau distant sur Windows Vista /2008 Server
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
EPREUVE E4: PPE Mise en place d’un portail captif
Expose : Web Application Firewall.
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
La gestion des habilitations par le partenaire
EsupDay /02/2009 Points généraux.
Exposé de système / réseaux IR3
L’architecture du gestionnaire de profils
Remote Authentication Dial In User Service RADIUS GAUTHIER Julien.
Single Sign-On open source avec CAS (Central Authentication Service)
Réalisation d'un point d'accès afin d'échanger des sockets en utilisant une carte raspberry
Bases de données Singleton pour la connexion
Présentation PISTE pour les partenaires raccordés en API
Qu’est ce qu’une page web? Comment fonctionne un site web?
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Internet Stage – Semaine 5.
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/