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



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

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

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

Tour d horizon des différents SSO disponibles

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)

Introduction. aux architectures web. de Single Sign-On

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

Cédric Ouvry Bibliothèque nationale de France Liberty Alliance Deployment Workshop Paris December 7, 2005

JOSY. Paris - 4 février 2010

REAUMUR-ACO-PRES. Wifi : Point et perspectives

ENVOLE 1.5. Calendrier Envole

SAML et services hors web

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

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

Introduction aux architectures web de Single Sign-on

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

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Formation fédération d identités Jour 1

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

La gestion des identités au CNRS Le projet Janus

Sécurisation des architectures traditionnelles et des SOA

Formation SSO / Fédération

Séminaire EOLE Dijon 23/24 novembre Architecture Envole/EoleSSO

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

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

Support de sources d'authentification multiples dans un portail de travail collaboratif

Explications sur l évolution de la maquette. Version : 1.0 Nombre de pages : 9. Projet cplm-admin

Gestion d identités PSL Installation IdP Authentic

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

Mémoire de fin d'études

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

Emmanuel Dreyfus, janvier 2011 Emmanuel Dreyfus, janvier 2011

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

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

Sun Java System Access Manager Notes de version pour Microsoft Windows

Architectures de fédération d'identités et interopérabilité

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

Gestion des accès, fédération d identités. Olivier Salaün - RENATER

Oauth : un protocole d'autorisation qui authentifie?

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

st etienne.fr

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Contrôle d accès basé sur les rôles et négociation dans un environnement multi cercles de confiance

La gestion des identités dans l'éducation Nationale, état des lieux et perspectives

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

Responsable du cours : Héla Hachicha. Année Universitaire :

Implémentation libre de Liberty Alliance. Frédéric Péters

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

RECOMMANDATIONS POUR LA GESTION DE

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

PortWise Access Management Suite

educa.id Gestion d'identité et d'accès

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

Groupe Eyrolles, 2004 ISBN :

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

Programmation Web. Introduction

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

4. SERVICES WEB REST 46

MEMOIRE DE FIN DE CYCLE. fédération d identité pour l Université Virtuelle du Sénégal

Rapport de certification

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

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

L authentification distribuée à l aide de Shibboleth

Convention d adhésion à la fédération d identités marocaine pour l éducation et la recherche (EduIDM)

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Table des matières. Préface Mathieu JEANDRON

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Tests de montée en charge & Haute disponibilité

Linux Expo Gestion des Identités et des Accès. Le 16 mars Arismore

! " # $%& )* + ) %*,%* $-.* %% / *6- % 3445 ) + ) % %7* * )+ %) % # * 7 % ). " %%+ 7 ) 2 * ) 879%: 0!'* *';< $: ();<

Authentification EoleSSO

Sommaire: 1. Introduction 2. Objectif 3. Les applications 4. Installation _Java _Applications lourdes _Applications légères _Remarques générales

Solutions technologiques d authentification électronique Architecture et spécifications de l interface Version 2.0 : Profil de mise en place

Formation en Logiciels Libres. Fiche d inscription

Evolutions du guichet de la fédération et gestion des métadonnées SAML

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

IDENTITÉ DIGITALE FÉDÉRÉE

SP5 Sécurité Lot 5.1 Analyse des besoins et de l existant

Développement des Systèmes d Information

Direction de la Sécurité Sociale

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Gestion des identités

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

<Insert Picture Here> La GRC en temps de crise, difficile équilibre entre sentiment de sécurité et réduction des coûts

«Ré-inventer le browser d'entreprise pour assurer sa sécurité au coeur du Cloud Computing»

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Gestion des autorisations / habilitations dans le SI:

EoleSSO EOLE 2.3. Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr) révisé : Septembre 2014

ACCÈS AUX RESSOURCES NUMÉRIQUES

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

Les technologies de gestion de l identité

et Groupe Eyrolles, 2006, ISBN :

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Public Key Infrastructure (PKI)

Transcription:

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

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 2

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 3

Ressource 1 Université 1 Université 2 Ressource 2 Ressource 3 Université 3 Ressource 4 Université 4 Ressource 5 5 mai 2010 4

Ressource 1 Université 1 Université 2 Ressource 2 Ressource 3 Université 3 Ressource 4 Université 4 Ressource 5 5 mai 2010 5

Ressource 1 Université 1 Université 2 userid 1 password 1 Ressource 2 Université 3 Ressource 3 Ressource 4 Université 4 Ressource 5 5 mai 2010 6

Ressource 1 Université 1 Université 2 userid 1 password 1 userid 2 password 2 Ressource 2 Université 3 userid 3 password 3 userid 4 password 4 userid 5 password 5 Ressource 3 Ressource 4 Université 4 Ressource 5 5 mai 2010 7

Délégation de l'authentification userid password 5 mai 2010 8

Délégation de l'authentification userid password Propagation d' 5 mai 2010 9

SAML Security assertion markup language Langage XML formalisant les échanges entre membres d'une fédération d'identité Standard Oasis depuis 2001 Communication entre membres d'une fédération sous forme d'assertions SAML : fragments XML diffusés via HTTP. Haut niveau d'abstraction : plusieurs profils dérivés Implémentations : Liberty Alliance SimpleSAMLPHP Shibboleth 5 mai 2010 10

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 11

Délégation de l'authentification userid password Propagation d' 5 mai 2010 12

Délégation de l'authentification userid password Propagation d' 5 mai 2010 13

Délégation de l'authentification userid password Propagation d' 5 mai 2010 14

et : qu'est-ce que c'est? Service provider () = brique côté ressource module Apache + démon shibd Interfacé avec une application web Identity provider () = brique côté authentification servlet java (Tomcat) Interfacé avec le SI Pour les installer : Voir les TP de la fédération Éducation recherche : https://services-federation.renater.fr/doc/support-tp-idp.odt https://services-federation.renater.fr/doc/support-tp-sp.odt 5 mai 2010 15

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Lien direct Lien direct + SSO Utilisation d'un WAYF Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 16

Navigateur Référentiel utilisateurs Ressource 5 mai 2010 17

Navigateur Référentiel utilisateurs Ressource 5 mai 2010 18

password userid Navigateur nameid Référentiel utilisateurs Ressource 5 mai 2010 19

Du point de vue de l'utilisateur, ça donne : password userid 2 Navigateur 1 3 Référentiel utilisateurs Ressource 5 mai 2010 20

Requêtes suivantes vers le même : Navigateur Une session existe déjà auprès du... Référentiel utilisateurs Ressource 5 mai 2010 21

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Lien direct Lien direct + SSO Utilisation d'un WAYF Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 22

Serveur SSO ticket password userid Navigateur userid ticket ticket nameid Référentiel utilisateurs Ressource 5 mai 2010 23

Du point de vue de l'utilisateur, ça donne maintenant : Serveur SSO userid password 2 Navigateur 1 3 Référentiel utilisateurs Ressource 5 mai 2010 24

Requêtes suivantes vers un autre Serveur SSO ticket ssoid Navigateur userid ticket ticket nameid Référentiel utilisateurs Ressource 5 mai 2010 25

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Lien direct Lien direct + SSO Utilisation d'un WAYF Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 26

WAYF = Where are you from? Brique supplémentaire : permet de choisir son Optionnel, mais indispensable quand le nombre de membres de la fédération augmente. 5 mai 2010 27

Serveur SSO Navigateur WAYF Référentiel utilisateurs Ressource 5 mai 2010 28

Serveur SSO Navigateur WAYF Référentiel utilisateurs Ressource 5 mai 2010 29

Serveur SSO ticket password userid Navigateur userid ticket ticket nameid WAYF Référentiel utilisateurs Ressource 5 mai 2010 30

WAYF et ergonomie Une étape de plus Rend l'infrastructure de la fédération apparente Problème des personnes hors fédération Diverses solutions à l'étude : Une «marque fédération» : un nouveau point de repère Intégrer le WAYF à l'application WAYF centralisé : plutôt pour aider les fournisseurs de ressources. 5 mai 2010 31

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 32

Do it yourself : shibboliser une application Ampleur de la tache variable Mettre en place une session applicative Intégrer un WAYF dans l'application Architecture proxy Désactiver l'usage des mots de passe Utiliser un mot de passe «statique» Nommage Supann des Des messages d'erreur précis Un plugin Shibboleth paramétrable 5 mai 2010 33

Do it yourself... sauf si a déjà été fait! Internet2 référence les applications et services shibbolisés : https://spaces.internet2.edu/display/shib2/shibenabled On peut citer notamment : Sympa Dokuwiki, Mediawiki Drupal uportal In progress au CRU : Foodle, Limesurvey, Big file sharing... 5 mai 2010 34

Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth en action Do it yourself : shibboliser une application Sécurité Conclusion 5 mai 2010 35

Sécurité : le contrôle des ARP (): Attributes release policy Un fichier XML : attribute-filter.xml Contrôler, au niveau de l', les qui seront envoyés à chaque. Exemple : tous les n'ont pas à savoir si un utilisateur est étudiant, professeur ou chercheur... AAP (): Attributes acceptance policy : contrôler les valeurs des renvoyés par les 5 mai 2010 36

Sécurité : le contrôle des <?xml version="1.0" encoding="utf 8"?> <AttributeReleasePolicy xmlns:xsi="http://www.w3.org/2001/xmlschema instance" xmlns="urn:mace:shibboleth:arp:1.0" xsi:schemalocation="urn:mace:shibboleth:arp:1.0 shibboleth arp 1.0.xsd"> <Description>Simplest possible ARP.</Description> <Rule> <Target> <AnyTarget/> </Target> <Attribute name="urn:mace:dir:attribute def:edupersonaffiliation"> <AnyValue release="permit"/> </Attribute> </Rule> </AttributeReleasePolicy> Exemple de fichier attribute filter.xml : donner «edupersonaffiliation» À tous les 5 mai 2010 37

Sécurité : le contrôle des <AttributeFilterPolicy id="releasetospexampleorg"> <! Policy requirement rule that indicates this policy is only used for requests from http://sp.example.org > <PolicyRequirementRule xsi:type="basic:attributerequesterstring" value="http://sp.example.org"/> <! Attribute rule for the email attribute > <AttributeRule attributeid="email"> <! Permit value rule that releases any value. > <PermitValueRule xsi:type="basic:any" /> </AttributeRule> </AttributeFilterPolicy> Autre exemple de fichier attribute filter.xml : Accepter de donner tout attribut à un seul 5 mai 2010 38

Sécurité : la protection des échanges De préférence des connexions HTTPS sur tout le cheminement. Toutes les assertions SAML sont autosignées Les clés publiques de chaque et sont diffusées dans les métadonnées. Elles peuvent également être chiffrées 5 mai 2010 39

Métadonnées : Un <EntityDescriptor entityid="https://virtualhost2.cru.fr"> <SSODescriptor protocolsupportenumeration="urn:oasis:names:tc:saml:1.1:protocol urn:oasis:names:tc:saml:1.0:protocol urn:oasis:names:tc:saml:2.0:protocol"> <KeyDescriptor use="signing"> <ds:keyinfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:x509data> <ds:x509certificate> [Certificat] </ds:x509certificate> </ds:x509data> </ds:keyinfo> </KeyDescriptor> <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat> <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser post" Location="https://virtualhost2.cru.fr/Shibboleth.sso/SAML/POST" index="1" isdefault="true"></assertionconsumerservice> </SSODescriptor> <ContactPerson contacttype="technical"> <SurName>Olivier Salaün</SurName> <EmailAddress>olivier.salaun@cru.fr</EmailAddress> </ContactPerson> </EntityDescriptor> 5 mai 2010 40

Conclusion... un mot sur la confiance Comment ça «autosignées»? Les et signent leurs assertions avec leur propre certificat. Les clés publiques sont diffusées dans les métadonnées : donc on sait qui est qui. Les métadonnées sont distribuées dans un fichier central, lui-même signé. => La confiance repose avant tout sur un organisme, garant de la validité des métadonnées. 5 mai 2010 41

Université 2 Université 1 Ressource 1 Ressource 2 Université 3 Fédération Éducation recherche : Cercle de confiance Métadonnées centralisées Ressource 3 Université 4 Ressource 4 Ressource 5 5 mai 2010 42

Université 2 Université 1 Ressource 1 Ressource 2 Université 3 Merci de votre Attention Ressource 3 Ressource 4 Université 4 Ressource 5 5 mai 2010 43