CAS, la théorie. R. Ferrere, S. Layrisse



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

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

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

Tour d horizon des différents SSO disponibles

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Introduction. aux architectures web. de Single Sign-On

CAS, un SSO web open source. 14h35-15h25 - La Seine A

ENVOLE 1.5. Calendrier Envole

Annuaire LDAP, SSO-CAS, ESUP Portail...

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Authentification et contrôle d'accès dans les applications web

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

d authentification SSO et Shibboleth

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

La fédération d identités, pourquoi et comment? Olivier Salaün, RENATER ANF Mathrice 2014

Authentification unifiée Unix/Windows

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Documentation CAS à destination des éditeurs

Fédération d'identités et propagation d'attributs avec Shibboleth

Introduction à Sign&go Guide d architecture

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Hébergement de sites Web

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

Introduction aux architectures web de Single Sign-on

REAUMUR-ACO-PRES. Wifi : Point et perspectives

Aspects techniques : guide d interfaçage SSO

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Samson BISARO Christian MAILLARD

Les services de la PLM Mathrice. Et quelques outils de web-conférence

La gestion des identités au CNRS Le projet Janus

JOSY. Paris - 4 février 2010

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Description de la maquette fonctionnelle. Nombre de pages :

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

Matrice snapshot Jacquelin Charbonnel ANF RNBM - Marseille, 23 mai 2013

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Guide Share France. Web Single Sign On. Panorama des solutions SSO

DMZ... as Architecture des Systèmes d Information

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Espace Numérique de Travail

SAML et services hors web

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Présentation de la solution Open Source «Vulture» Version 2.0

Emmanuel Dreyfus, janvier 2011 Emmanuel Dreyfus, janvier 2011

Service d'authentification LDAP et SSO avec CAS

Formation en Logiciels Libres. Fiche d inscription

CAHIER DES CHARGES D IMPLANTATION

Architecture et infrastructure Web

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

Groupe Eyrolles, 2004 ISBN :

Quel ENT pour Paris 5?

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

les techniques d'extraction, les formulaires et intégration dans un site WEB

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Polux Développement d'une maquette pour implémenter des tests de sécurité

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

Devenez un véritable développeur web en 3 mois!

ADF Reverse Proxy. Thierry DOSTES

1 LE L S S ERV R EURS Si 5

LemonLDAP::NG. LemonLDAP::NG 1.2. Clément OUDOT RMLL 9 juillet 2012

Catalogue des formations 2015

Manuel d installation UCOPIA Advance

Présentation du logiciel Free-EOS Server

UCOPIA SOLUTION EXPRESS

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

DESCRIPTION DU PLUGIN D AUTHENTIFICATION AVEC CAS POUR SPIP

Ingénieur Généraliste Spécialité Informatique

UCOPIA EXPRESS SOLUTION

WebSSO, synchronisation et contrôle des accès via LDAP

L3 informatique TP n o 2 : Les applications réseau

Environnements de Développement

Authentification sur réseau sans-fil Utilisation d un serveur radius Expérience du CENBG

Retour sur les déploiements eduroam et Fédération Éducation/Recherche

IPS-Firewalls NETASQ SPNEGO

Simplifier l authentification avec Kerberos

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

GLPI (Gestion Libre de Parc Informatique) Installation et configuration d'une solution de gestion de parc et de helpdesk (2ième édition)

Tour des Unités du C.I.A.M. Tour des Unités du C.I.A.M. Maurice Baudry Laboratoire Statistique & Génome, Évry.

Digital DNA Server. Serveur d authentification multi-facteurs par ADN du Numérique. L authentification de confiance

Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Contrôle d accès Centralisé Multi-sites

CRI-IUT 2004 Le Creusot. Introduction aux Espaces Numériques de Travail d après Alain Mayeur JRES 2003 de Lille

Mise en place d annuaires LDAP et utilisation dans plusieurs applications

Mise en place d'un serveur d'application SIG au Conseil général de Seine-et-Marne

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Kerberos : Linux, Windows et le SSO

Etude de l ENT de l Université de Paris 5. Recommandations des experts suite à la journée du 29 octobre 2009

Les 7 méthodes d authentification. les plus utilisées. Sommaire. Un livre blanc Evidian

ContactOffice. Le Bureau Virtuel des ENT

Transcription:

CAS, la théorie R. Ferrere, S. Layrisse ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire de Mathématique Angers, 22-26 septembre 2014

Plan 1 2 3 4 5 6

Progression 1 2 3 4 5 6

Quésaco le CAS? CAS (Central Authentication Service) - Université de Yale (Etats-Unis), projet ESUP-Portail, Fondation Apero Développé en Java (servlets), service et protocole Version 4.0 depuis mai 2014, Open Source Système d authentification SSO libre gérant des identités numériques Destiné à de nombreux services et 1 compte unique utilisateur > N s/services

Pourquoi SSO avec CAS? Généralisation des ENT Authentifier les utilisateurs (,Kerberos) Accéder à des s tierces et en multi-tiers(proxy) Sécurité : fin des mots passe en clair, réauthentification Certifier des identités (transmission de cookies privés - identifiants de session) Protéger des pages Web : librairies clientes (phpcas) et module Apache (mod_cas) Authentifier par service Unix avec PAM (pam_cas)

Progression 1 2 3 4 5 6

Basé sur le navigateur internet Navigateur = Utilisateur Navigateur récent et à jour Redirections HTTP Interprétation javascript Stockage de cookies Moteur de chiffrement > HTTPS =

Basé sur un client CAS Agent d authentification ( web avec libraire CAS, serveur web avec mod_cas) Agent de protection Nombreux clients CAS phpcas.net Cas client CAS client pour java Module auth_cas Framework Spring java (JavaBeans et MVC) Module shiro-cas

Basé sur des tickets Requêtes HTTP (navigateur-client CAS) Redirection HTTPS + passage d informations par cookies (serveur CAS) Modes de : standard et proxy Authentification base : TGC (Ticket Granting Ticket) envoyé proxy : PGT (Proxy Granting Ticket) Accès aux ressources/s base : ST (Service Ticket) proxy : PT (Proxy Ticket)

Mécanisme de base - CAS

Principe - authentification réussie 1) Requête utilisateur non authentifiée vers 2i,j,k) Renvoi au navigateur redirection vers CAS avec URL de service 3i,j,k) Saisie du login/mot de passe, validation 4) Dépôt cookie de session sécurisé (TGC) avec un ticket de service (ST), association de l identifiant utilisateur, contrôle de validité du service demandé, redirection de l utilisateur vers l URL du service en lui attribuant le ST 5) Récupération du ST par l pour CAS 6) Contrôle CAS de l URL < > ST, envoi de l identifiant utilisateur Si échec validation du ST, redirection vers CAS en 2...

Cinématique CAS (présentée par Philippe Depouilly au RNBM - octobre 2010)

Principe en multi-tiers proxy Via mandataire (proxy) CAS : portail ENT ou de messagerie Redirection différente du mécanisme de base Déroulement Demande d un ticket proxy ne passe plus par le navigateur Validation du ST + Récupération PGT Validation d un PT Et ainsi de suite...si d autres serveurs mandataires CAS

Avantages - efficacité Authentification, transmission et certification de l identité des utilisateurs (tiers de confiance) Activation d un SSO natif et de bout en bout Plus de circulation de mot de passe mais plutôt un ticket Plus de réauthentification (une seule fois) Délégation de gestion de l authentification pour les différents services web Annuaires > référentiel commun Support API Memcache Dépendance - fichier pom.xml cas-server-integration-memcache

Progression 1 2 3 4 5 6

/ sarcasmes! CASifier : rendre compatible avec CAS pour ajouter de l authentification Plusieurs techniques ou modules pour adapter et intégrer par des librairies ou bibliothèques (client java, client CAS) par des modules type PAM (pam_cas) codé en C

Exemples d s casifiables SquirreMail, Webmail HORDE (Cyrus et IMAP) Client Webmail Roundcube GLPI, GRR WIKI (MediaWiki...) PhpGroupware CMS comme SPIP, DRUPAL Tomcat/Apache RADIUS (portail captif web FreeRADIUS)

Casifier avec module Apache - mod_auth_cas Authentification apache via CAS (au lieu de htpassword) Protection de pages Web (.htaccess) directives apache AuthType CAS Require valide-user (Require all granted)

Casifier avec librairie phpcas Repris et développé par ESUP-Portail, maintenu par P.AUBRY/J.MARCHAL Applications PHP, Version actuelle CAS-1.3.3 https ://wiki.jasig.org/display/casc/phpcas pré-requis : serveur web/apache,iis..., PHP supportant curl, OpenSSL, DOM(xml), Zlib Avec ou sans PEAR pour la portabilité du composant phpcas

Fonctionnement schématique de la librairie phpcas

phpcas et flux 1 Requête utilisateur exige une authentification 2 Redirection vers la page de connexion CAS (phpcas : :forceauthentication) 3 Authentification, redirection du navigateur avec ticket de service (ST) dans l URL 4 Obtention du ST pour validation CAS 5 Ticket valide, réponse par un message de validation avec ID et attributs utilisateur

phpcas : méthodes et fonctions phpcas : :client(cas_version...), initialisation phpcas phpcas : :forceauthentication, authentification obligatoire phpcas : :getuser(), utilisation connecté phpcas : :setdebug(), cause d erreur phpcas : :getserviceurl(), URL d accès au service phpcas : :logout...(), URL de déconnexion

Casifier avec librairie client JAVA Ajouter filtres fichier web.xml Ajouter listener SSO Indiquer URL fichier seraph-config.xml Configurer CAS Logout fichier xwork.xml

Casifier avec module PAM et Apache Module pam_cas avec le client CAS (codé en C) Authentification par un service de base Unix Réception Proxy Ticket par le service Unix, validé par pam_cas auprès de CAS Fonctionnement multi-tiers : accès mandataire client CAS fournisseur de Ticket

Casifier serveur Cyrus-IMAP Librairie cyrus-sasl autonome Possibilité d utiliser un démon Unix : salsauthd Pour les différents mécanismes d authentification (PAM,, Kerberos...) Cache pour les mots de passe utilisateurs : Proxy Ticket est stocké et rejoué (serveur CAS moins sollicité)

Mise en oeuvre Activation du module pam_cas pour le service IMAP Compilation de cyrus-sasl avec saslauthd Méthode saslauthd dans /etc/imapd.conf Cache : saslauthd avec l option -c (gain de performance)

Progression 1 2 3 4 5 6

Configuration authentification Mode d accès fonction structure 2 modes d accès - GenericHandler FASTBIND (accès direct) > connexion réussie CAS > avec DN utilisateur Classe : FastBindLdapAuthenticationHandler Filtre %u et jeton BIND (simple recherche anonyme) Classe : BindLdapAuthenticationHandler Plusieurs attributs de filtre Autorisation de comptes multiples Redondance Liste URLs vue comme réplicas

- serveur CAS Installer et compiler le bundle Configurer le bundle Ajouts - deployerconfigcontext.xml (webapps/cas/web-inf/deployerconfigcontext.xml) 1 Attributs 2 Authentification 3 ContextSource (contexte ) Modification de ldap-auth.xml (bean attribrepository)

Configuration AuthenticationHandler via SSL (ldaps) Propriétés et dépendance > fichier pom.xml Propriétés du bean (filter, searchbase, ContextSource,... ) 1 filter (mail utilisateur) 2 searchbase (ou=people ou cn=users) 3 searchcontextsource 4 ContextSource (url en ldaps, userdn, password) 5 pooledcontextsource Pooling ContextSource (performance réseau et HA)

Progression 1 2 3 4 5 6

En résumé CAS Un grand intérêt 1 Solution libre de SSO relativement simple - et Kerberos 2 Indispensable pour protéger les s Web et non Web 3 Beaucoup de possiblités côté clients CAS 4 Sécurité et conformité (tickets) Des limitations... 1 Disponibilité du serveur CAS exigée - élément central du réseau 2 Propre à un réseau local d établissement (ENT Université) 3 Connexions inter-établissement > Shibboleth 4 Pas de propagation d attributs et d authentification entre établissements 5 Tolérance aux pannes!

Progression 1 2 3 4 5 6

liens internet et articles Documentation CAS - Wiki installation CAS Protocole CAS - Clients CAS SSO avec CAS - JRES 2003 Pascal Aubry Fondation Apero Authentification avec CAS - GenericHandler Memcache Tuto Authentication SSO-CAS

liens internet et articles Librairie phpcas et exemples Authentification avec CAS et GenericHandler item Casification du serveur Cyrus-IMAP "Mise en oeuvre de phpcas", GNU/Linux Magazine numéro 114 Gestionnaire d Authentication RADIUS - Handler "Ecriture d un module RAIDIUS : validation de tickets CAS", GNU/Linux Magazine numéro 123 Plugin CAS Roundcube

Merci pour votre attention. Avez-vous des questions?