Formation fédération d identités Jour 1 Formateurs : Sébastien Médard Olivier Salaün Forma&on fédéra&on Mars 2015 - Strasbourg 1
RENATER Opérateur réseau enseignement et recherche Sécurité Le CERT RENATER Animation réseau des RSSI Certificats TCS Fédération Education-Recherche Services applicatifs Eduroam, eduspot RENAvisio, Rendez-vous Universalistes, FileSender, Partage, Antispam Sympa, Sourcesup 2
RENATER Autres activités Formations (Fédération, IPv6, Sympa) Organisation des JRES Relations internationales (GEANT, TERENA) En savoir plus http://www.renater.fr Contact support@renater.fr 3
Déroulement de la formation Forma&on fédéra&on Mars 2015 - Strasbourg 4
La formule 2 jours Jour 1 : installer un fournisseur d identités Jour 2 : installer un fournisseur de services Fonctionnement TP par binômes Entrecoupé par des présentations Objectif Comprendre les principes, la technologie Prenez votre temps! Aboutir à une installation fonctionnelle Pour reproduire chez vous 5
Timing Lundi 23 mars 2015 : 14h-17h30 mardi 24 mars 2015 : 9h30-12h ; 14h-17h30 mercredi 25 mars 2015 : 9h-12h 6
Les postes de travail Postes form-shibxx.renater.fr XX = 01->12 Environnement CentOS 6.x Comptes stagiaire root 7
Le support de formation https://services.renater.fr/federation/docs/installation Utilisable aussi pour de l auto-formation Très détaillé et progressif Mis à jour lors de chaque formation La forme Wiki avec une variable (monposte.fr) Permet le copier/coller Si rechargement de la page => ressaisir le nom du serveur 8
Jour 1 : installer un fournisseur d identités 1. Installation des pré-requis Java, Tomcat, certificats, NTP 2. Installation de l'idp Shibboleth 3. Configuration Shibboleth 4. Tests 5. Connexion LDAP, CAS 6. Configuration avancée 7. uapprove 9
Le tour de table 10
La fédération d identités Forma&on fédéra&on Mars 2015 - Strasbourg 11
Fédération d identités Principes de fonctionnement un client SAML délègue l authentification à un serveur SAML autoritatif pour l utilisateur le client SAML connait la liste des serveurs SAML l utilisateur ne divulgue pas ses éléments d authentification au client SAML serveur SAML client SAML Etablissement A serveur SAML Etablissement B 25/03/2015 12
Terminologie SAML Fournisseur d identités ou IdP Fournisseur de service ou SP Service de découverte ou DS/WAYF IdP serveur SAML Etablissement A DS SP client SAML IdP serveur SAML Etablissement B 25/03/2015 13
Principe de fonctionnement le fournisseur d identités (IdP) Authentification de l'utilisateur Peut être un client CAS Preuve d'authentification = assertion SAML Session utilisateur Transmet le profil de l'utilisateur Via le protocole SAML2 Données issues des référentiels (LDAP ou SQL) Richesse du profil utilisateur paramétrable 25/03/2015 14
Principe de fonctionnement le fournisseur de service (SP) en amont d une application API varie selon implémentation SP renvoie l utilisateur vers son IdP passage par le service de découverte (DS/WAYF) retour de l IdP avec un profil utilisateur Session utilisateur gestion du contrôle d accès dans l application à partir des attributs utilisateur reçus 25/03/2015 15
Demonstration https://filesender.renater.fr/ https://antispam.renater.fr/ http://www.sciencedirect.com/ https://neugrid4you.eu/ 25/03/2015 16
Le workflow d authentification IdP Etablissement A SP DS Applica&on IdP Etablissement B 25/03/2015 17
L envers du décor le service de découverte (DS/WAYF) fonction d orientation de l utilisateur vers son IdP fonctionnement menu déroulant search as you type pré-sélection qui l opère? RENATER ou l établissement gérant l application cible 25/03/2015 18
L envers du décor le protocole SAML Protocole d authentification normalisé par le consortium OASIS basé sur XML Fonctionnalités Assertions d'authentification Assertions d'échange d'attributs Signature et chiffrement Version 2.0 publié en 2005 Interopérabilité possible avec les produits SAML 2 25/03/2015 19
Les implémentations SAML un large choix Shibboleth, SimpleSAMLPhp, EZProxy, modmellon, OIOSaml, OpenSSO spécifications SAML2 complexes interopérabilité pas toujours garantie sauf à définir un cadre technique Ex : http://saml2int.org/ 25/03/2015 20
Les implémentations SAML Shibboleth Une implémentation du protocole SAML logiciel open source http://shibboleth.net issu de la communauté E/R d abord aux USA aujourd hui un consortium Trois logiciels Shibboleth IdP Shibboleth SP Shibboleth DS (pas utilisé par RENATER) 25/03/2015 21
Les implémentations SAML atouts très configurables éprouvé (depuis 2003) Shibboleth bien adaptés au contexte E/R implémentation de référence pour RENATER supports de formation pour Shibboleth modèles de configuration pour Shibboleth assistance via liste federation-utilisateurs RENATER contribue financièrement au consortium 25/03/2015 22
L envers du décor les méta-données SAML fichier descriptif d une entité SAML un SP, un IdP un ensemble de SPs et d IdPs permet les échanges entre entités SAML délégation de l authentification signature/chiffrement des assertions contenu d un fichier de méta-données Identifiant de l entité, URL, certificat, profils SAML supportés, contacts, description,... Exemple https://federation.renater.fr/test/renater-test-metadata.xml 25/03/2015 23
Le cercle de confiance terminologie fédération = cercle de confiance ex : fédération Education-Recherche constitution des SPs des IdPs résout la problématique des relations bilatérales les membres du cercle de confiance partagent un niveau de confiance un cadre technique des méta-données SAML 25/03/2015 24
La fédération Education-Recherche https://federation.renater.fr/ un cercle de confiance pour la communauté E/R française opéré par le RENATER Concrètement c est : les chartes membre/partenaire, articulation avec SAGA le cadre technique, SAML2, Supann 2009 les méta-données SAML + filtres d attributs le guichet de la fédération 25/03/2015 25
Qui utilise la fédération? https://federation.renater.fr/registry?action=view_all&federation=renater 234 fournisseurs d identités uniquement des établissement E/R français 580 services fédérés incluant des services commerciaux typologie ressources documentaires e-learning outils collaboratifs accès Wi-Fi applications métier mutalisées distribution de logiciel 25/03/2015 26
D autres cercles de confiance D autres fédérations E/R dans 46 pays https://refeds.org/resources/resources_list.html edugain inter-fédération une inter-connexion de fédérations E/R http://edugain.org/ inscription depuis le guichet RENATER par défaut pour les IdP optionnelle pour les SP gérer une fédération, hébergée par RENATER principe : fédération as a service via le guichet RENATER https://services.renater.fr/federation/docs/fiches/fed-locale 25/03/2015 27
Attributs utilisateurs Un fournisseur de services a besoin d'authentifier des utilisateurs Le fournisseur d'identités lui transmet un profil utilisateur Composé d'attributs Attributs issus d'un référentiel (LDAP) Norme SupAnn 2009 28
Filtrage d'attributs L'IdP Shibboleth permet de filtrer les attributs utilisateurs sortants Pour limiter la diffusion d'attributs nominatifs (aspects informatique et liberté) Fichier attribute-filter.xml Configurable pour chaque SP Configurable pour chaque attribut Impacts non désirés Certains IdP mal configurés 29
Transmission des attributs utilisateurs urn:oid:0.9.2342.19200300.100.1.3 uid REMOTE_USER LDAP IdP SAML2 SP Application attribute-resolver.xml attribute-filter.xml attribute-map.xml 30
Redirections HTTP Usage intensif des redirections HTTP Comme SSO-CAS L'utilisateur est redirigé en permanence Application > SP > WAYF > IdP > CAS > IdP > SP > Application Plugins Firefox utiles : Web developer (gestion des cookies...) Tamper data (études des redirections HTTP...) + modules pour visionner l'assertion base64 XML 31
Les briques logicielles IdP mod_ssl mod_proxy SAML2 Ressource de test Apache AJP Client CAS Servlet IdP Shibboleth Tomcat Java Connexion Cer&ficat & clé privée AC de test Serveur CAS de test Annuaire de test 32
Services de Test Fédération de Test Enregistrement automatique Ouvert à tout SP/IdP Pas d usages en production SP de test Utilisable avec n importe quel IdP de test Fonctionnement : liste les attributs reçus Référentiel de test quelques enregistrements uid = etudiant1, enseignant1 Serveur CAS de test Mot de passe == uid 33
Utilisation des certificats 3 type de certificats interviennent : Certificats pour sécuriser Apache Fournis par RENATER pour les besoins du TP Chapitre 2.3 du support Certificat utilisés par Shibboleth (couche SAML) Certificat + clé privée Générés à l'installation de Shibboleth Certificat de signature Vérification de la signature des méta-données Téléchargé au chapitre 4.2.2 34
A vous de jouer https://services.renater.fr/federation/ docs/installation 35
Partie 2 Configuration Shibboleth Forma&on fédéra&on Mars 2015 - Strasbourg 36
Configuration de Shibboleth Les fichiers de configuration Les logs Définition des attributs utilisateurs Diffusion des attributs utilisateurs 37
Les fichiers de configuration relying-party.xml Configuration principale : profils SAML, méta-données, certificats, paramètres de sécurité attribute-resolver.xml extraction et préparation des attributs attribute-filter.xml Politiques de filtrage des attributs logging.xml configuration des différents fichiers de log (process, access, et audit) login.config Authentification via l IdP (JAAS) handler.xml contrôle les points de contact de l IdP 38
Prise en compte dynamique de ces fichiers Pas de redémarrage nécessaire pour les fichiers : logging.xml, login.config Les autres nécessitent un redémarrage de Tomcat : Redémarrer tomcat en mode service plutôt qu avec l interface web. Mais on peut programmer la prise en compte à chaud dans service.xml 39
La gestion des journaux Trois journaux de logs idp-process.log permet de vérifier le processus IdP idp-access.log Fichier à la Apache permettant de tracer les accès à l IdP idp-audit.log Fichier facilement parsable journalisant les informations transitant par l IdP: type de requêtes, attributs fournis, SP de provenance, etc. Mode DEBUG (voir TRACE) déconseillé en production Surtout utile pour visualiser les assertions SAML (PROTOCOLE_MESSAGE) 40
Fichier web.xml Si on modifie le fichier web.xml Configurations de filtres Java (Comme CAS) On peut éviter de l écraser lors d un redéploiement ou mise à jour de l IdP ; En gardant la version modifiée dans $IDP_HOME/ conf/ ; Possibilité valable depuis la version 2.3+ 41
attribute-resolver.xml : DataConnector Définit le branchement à une source de données En cas d échec un autre Data connector peut prendre le relais Les types de connectors : Static : déclaration d une donnée statique RelationalDatabase : connexion à une base SQL LDAPDirectory : connexion à un annuaire 42
DataConnector - exemple <resolver:dataconnector id="monldap" xsi:type="ldapdirectory ldapurl="ldap://ldap.exemple.org basedn="ou=people,dc=exemple,dc=org principal="uid=monservice,ou=system principalcredential= monservicepassword"> <FilterTemplate> <![CDATA[(uid= $requestcontext.principalname) ]]> </FilterTemplate> </resolver:dataconnector> Identifiant unique Définition d'un connecteur Type du connecteur : LDAP Filtre LDAP Paramètres de Connexion au référentiel d établissement 43
Attribute Definition Déclare un attribut avec un identifiant unique dans le fichier du resolver Selon les valeurs d un attribut, on peut actionner une nouvelle source d attributs, ou définir un autre attribut Il existe plusieurs définitions possible : Simple: extrait tel quel d une source Scoped : ajoute un «scope» à un attribut Script : manipule/modifie un attribut RegexSplit : manipule un attribut selon des expressions régulières 44
Les «scoped attributes» Exemple : dupont245@univ-provence.fr Association d une valeur et d un domaine permet de rendre la valeur globalement unique le(s) scope(s) d un IdP sont publiées dans les métadonnées le SP effectue une vérification du scope Les attributs «scoped» edupersonprincipalname edupersonscopedaffiliation 45
Le filtrage en sortie des attributs Le fichier attribute-filter.xml définit les politiques de fourniture d attributs aux SP. peut contenir plusieurs politiques d attributs Par défaut, ce fichier est pauvre en règles de filtrage : aucun attribut envoyé 46
Attributs particuliers Deux attributs, très utiles et générés par l IdP : edupersonentitlement Exprime un privilège au niveau de la ressource accédée persistentid Identifiant unique, pérenne et opaque = CNIL 47
L attribut edupersonentitlement Usage : définition d un privilège pour l utilisateur Utilisation L IdP fournit une information binaire au SP L algorithme de calcul varie en fonction du SP Pratique dans les cas où le SP doit déléguer la prise de décision d accès à la ressource 48
L attribut edupersontargetedid (persistentid) Utilisé pour identifier une seule et même personne d une session à une autre. Possède les caractéristiques suivantes : opaque, persistant, différent pour chaque SP Non réassignable Modes de génération Calculé (ComputedID) Obsolète (ne plus utiliser) Stocké (StoredID) : meilleur choix, mais nécessite une base de données. Généré à la première authentification, à partir de l identifiant de l IDP, SP et de l utilisateur 49
Shibboleth et SSO-CAS L IdP Shibboleth peut être un client CAS via le handler RemoteUser Inconvénient du couplage ne permet pas le Single Logout ne permet pas de forcer la réauthentification Documentation https://services.renater.fr/federation/docs/fiches/ cas-shib 50
Partie 3 Passage en production Module uapprove Présentation fédération Éducation-Recherche Forma&on fédéra&on Mars 2015 - Strasbourg 51
Installer un IdP dans votre organisme Comme en TP, mais aussi : Configuration d attributs supplémentaires Nommer un idpmaster Haute disponibilité «Versionner» les fichiers de configuration Utilisation des méta-données de la fédération de production 52
Gestion des filtres d attributs Gestion manuelle Enregistrement d un SP Envoi d un message à tous les gestionnaires d IdP Mise à jour manuelle du fichier attribute-filters.xml Limites de cette organisation Délai de mise à jour des filtres Erreurs liées à l édition manuelle de fichiers XML Difficulté de gestion du fichier Passage à l échelle... 53
Gestion des filtres d attributs Gestion automatisée (obligatoire dans le cadre technique) Génération automatique de filtres par RENATER Plusieurs fichiers attribute-filters.xml proposés pour toutes les ressources par catégorie de ressources par portée de ressources L IdP pointe vers ce(s) attribute-filters.xml 54
Gestion des filtres d attributs Nos recommandations Utiliser renater-attribute-filters-all.xml Au quotidien Vous continuez à recevoir des notifications pour les nouvelles ressources Vous gardez la possibilité de définir une règle DenyValueRule Documentation https://federation.renater.fr/docs/fiches/attribute-filters 55
Module uapprove Module d'information et/ou de recueil de consentement de l utilisateur En interruption de flux = avant la transmission des attributs vers le SP Extension qui s'installe avec un IdP shibboleth 2.3+ Bientôt en standard avec l IdP Shibboleth Servlet Java Configurable grâce à un fichier de properties 56
Module uapprove Avantage pour l IdP Informer l'utilisateur préalablement à l accès à une ressource Recueillir le consentement de celui-ci surtout en cas de ressources hors Union Européenne Intérêt pour l'utilisateur : Avoir connaissance des conditions d'utilisation de l IdP Connaître les données à caractère personnel transmises à chaque ressource 57
Module uapprove Fonc&onnement sans le module uapprove IdP Preuve d authen&fica&on + Transmission d'aaributs Redirec&on pour authen&fica&on SP 58
Module uapprove Fonc&onnement avec le module uapprove IdP uapprove Accepta6on des condi6ons Accepta6on de transmission des a9ributs Accord de l'u6lisateur Preuve d authentification + Transmission d'attributs SP Redirec&on pour authen&fica&on 59
Haute disponibilité Répartition de charge L'IdP Shibboleth peut gérer 50 connexions/sec Une seule instance peut donc suffire dans la majorité des cas Sauf pour un organisme multi-site Tolérance aux pannes Contrainte de disponibilité liée aux nombreuses applications clientes Un serveur de secours est opportun Perte des sessions actives acceptable dans ce contexte https://2009.jres.org/planning?planning_aid=77&ajax 60
Bug IdP 2.4.3 https://issues.shibboleth.net/jira/browse/sidp-624 symptome arrêt synchronisation des méta-données si les filtres d attributs distants sont indisponibles expiration des méta-données 6 jours plus tard paliatif redémarrage IdP régulièrement correctif dans IdP 2.4.4 (du 26/02/2015) à plus long terme suppression des filtres automatiques utilisation des extensions MDUI dans les méta-données SAML 61
Shibboleth IdP 3.x Dates de sortie 3.0.0 le 22/12/2014 3.1.0 le 10/03/2015 Nouveautés réorganisation des handlers d authentification U-Approve intégré nativement Environnement compatible servlet 3.0 conteneurs supportés : Tomcat 8 et Jetty 9.2 Jetty recommandé par les développeurs 62
Utiliser l IdP 3.x? Evolution du format des fichiers de configuration migration automatisée RENATER a évalué la version 3.0.0 documentation d installation incomplète difficultés de mise en oeuvre avec Tomcat Evolution de nos supports de formation courant 2015 63
Procédures d'inscription dans la fédération Éducation-Recherche Activation du service dans SAGA par responsable technique désigne 2 responsables fédération Signature charte fédération par responsable administratif (profil président d'université ou délégation de signature) Inscription technique par responsables fédération (nommés) description technique du service 64
Gestion d un IdP, gestion des identités Confiance dans la fédération = confiance dans les identités gérées par vos établissement Documentations sur la gestion des identités Best Current Practices for SWITCHaai service operations http://www.switch.ch/aai/support/bcp/ Mettre en oeuvre un référentiel d identités https://www.renater.fr/campus-best-practice-en-france 65
Le guichet de la fédération les fonctionnalités enregistrement d'un SP/IdP dans fédération de Test dans fédération Education-Recherche publication des données génération des méta-données affichage des IdP/SP sur le site de la fédération processus de validation délégué aux contacts fédération des organismes 66
Le guichet de la fédération Qui y accède? les contacts techniques des entités SAML déclarées inscription d'une entité SAML (SP, IdP) édition des informations techniques les contacts fédération des organismes membres vue synthétique des entités SAML validation des inscriptions, mises à jour 67
Le guichet de la fédération https://federation.renater.fr/registry 68
Le guichet de la fédération Workflows qui peut ajouter une entité SAML? n'importe qui après authentification rattachement à un organisme après validation par contacts fédération requis pour inscription dans une fédération de production fédération Education-Recherche ou edugain 69
Le guichet de la fédération Workflow type 1. ajout d'une nouvelle entité SAML sélection organisme de rattachement 2. inscription dans la fédération de test permet de valider le fonctionnement 3. validation par contact fédération de l'organisme notifié par mail 4. inscription dans la fédération Education- Recherche passage en production 5. inscription dans edugain 70
Votre fédération hébergée? principe d'une Fédération as a Service un organisme peut gérer ses propres méta-données via le guichet RENATER cas d'utilisation contexte COMUE, PRES, groupement d'écoles pour des applications locales 71
Votre fédération hébergée https://services.renater.fr/federation/docs/fiches/fed-locale Fonctionnalités Guichet et workflows de validation Publication méta-données + filtres d attributs Visibilité contrôlée Modalités d inscription dans votre fédération Via le guichet RENATER En fonction du domaine des utilisateurs Pour créer votre fédération Contactez support@renater.fr 72
edugain c'est quoi? une interconnexion de fédérations plus compliqué à réaliser que pour eduroam périmètre initial = UE finalement plus large (Brésil, Canada, Japon, Australie, Chili, Nouvelle Zélande, Turquie, USA) http://edugain.org/ 73
edugain Architecture 74
edugain Cas d utilisation Pour un IdP français Participation par défaut Opt-out via le guichet Mise en place d un filtre d attribut supplémentaire Pour un SP français Inscription via le guichet Chargement des méta-données Utilisation DS edugain Adaptation au contexte international Format d attributs Conformité au Code of Conduct https://services.renater.fr/federation/docs/fiches/edugain 75
edugain Data Protection Code Of Conduct Objectif : engagement des SP concernant le traitement des données à caractère personnel publication d'une Privacy Policy (en Anglais au moins) entité légale finalité des traitements catégorie des attributs destinataire des données droit accès/rectification des données? demande d'attributs minimale pas d'utilisation des données pour autres traitements pas de traitements secondaires des données sécurisation des données International CoCo en cours de rédaction Pour les SP hors UE 76
Obligations Informatique & Liberté https://services.renater.fr/federation/docs/federation-cnil Responsabilités du fournisseur d identités Évaluer la pertinence du traitement Informer les utilisateurs Réaliser les formalités CNIL adéquates Fait par le CIL de l établissement Inscrit le type de traitement au registre de l établissement Pas de différences de traitement pour SP universitaire vs SP commercial SP français vs SP européen Impliquez votre CIL! 77
CNIL contexte international Contexte edugain On connait les attributs demandés par un SP Dans les méta-données edugain Exploitable dans un filtre d attributs de l IdP le Code of Conduct edugain garanties de bonne gestion des données à caractère personnel Exploitable dans un filtre d attributs de l IdP 78
CNIL contexte international Cas des SP hors UE C est plus compliqué Lire http://www.cnil.fr/vos-obligations/transfert-de-donneeshors-ue/ Mise en oeuvre pour l IdP Ok! Si contrat entre IdP et SP Recueil du consentement utilisateur pas suffisant Signature charte fédération pourrait permettre le transfert des données... CoCo international de edugain Une piste intéressante 79
Formation fédération d identités Jour 2 Forma&on fédéra&on Mars 2015 - Strasbourg 80
Déroulement de la formation Installation des pré-requis (cert, Apache, NTP) Installation du SP Shibboleth Configuration Apache + SP Test du SP Installation du WAYF Adaptation de l'application myblog Conseils pour mise en production Pour aller plus loin... 81
Shibboleth SP Produit en deux briques techniques : Module pour Apache ou IIS Démon Shibd 6 RPM à installer via les dépôts YUM 82
Fonctionnement du SP Shibboleth Environnement Apache ou IIS Scénario 1. Redirection vers WAYF 2. Redirection vers IdP 3. Retour vers le SP 4. Récupération des attributs Application Attributs utilisateur Apache / IIS SP WAYF IdP 83
Les Comptes CRU IdP ouvert à tous Pas limité à la communauté ESR Validation de l adresse email Les attributs utilisateurs Email + nom + prénom + eppn + eptid Pas de notion de privilèges Ne fait pas partie de la fédération Pour qu'un SP utilise les comptes CRU Ajouter confiance dans sac-metadata.xml Inscription du SP dans la Fédération Education-Recherche 84
Compte CRU Passerelles sociales IdP comptes CRU devient (en plus) client des IdP sociaux Facebook Twitter Yahoo Google Microsoft Passerelle monde social vers SAML Evite création d un compte supplémentaire Évite l installation de connecteurs au niveau d une application «fédérée» ISO fonctionnelle avec Comptes CRU Preuve d authentification Adresse email + identifiant pérenne (d IdP Social) Mise en production courant 2015 85
Synchronisation des métadonnées Fédération Education- Recherche MD SP MD IdP MD 86
Synchronisation des métadonnées SP et IdP ont une copie locale des méta-données de la fédération /opt/shibboleth-idp/metadata/ /etc/shibboleth/ Rafraichissement des MD paramétrable Pour IdP : refreshdelayfactor et maxrefreshdelay Pour SP : maxrefreshdelay Préconisation en production : Refresh toutes les heures 87
À vous de jouer https://services.renater.fr/ federation/docs/installation/sp 88
Seconde partie : Configurer Shibboleth Forma&on fédéra&on Mars 2015 - Strasbourg 89
Définir une nouvelle ressource Un unique SP shibboleth peut protéger plusieurs ressources Définition d un élément ApplicationOverride Surcharger les définitions de ApplicationDefaults Correspond à la configuration requise pour une nouvelle ressource Factoriser autant que possible au niveau Application Defaults Protéger cette ressource par une règle Apache Pour chaque ressource ajoutée 90
Le handler URL URL racine pour les URL de service du SP Valeur par défaut : /Shibboleth.sso Exemples : /Shibboleth.sso/Metadata /Shibboleth.sso/Login /Shibboleth.sso/SAML2/POST Activation du handler URL dans Apache <Location /> AuthType shibboleth Require shibboleth </Location> 91
Le Discovery Service (ex-wayf) Possibilité d utiliser un DS par établissement ou National Il faut redonder cette brique logicielle Car, si en panne, il bloque l accès à toutes les applications qui se basent sur lui Plusieurs implémentations existent : SWITCH WAYF Shibboleth DS Disco juice 25/03/2015 forma&on CIREN - Septembre 2014 92
Protocole «Discovery Service» Version normalisée (SAML2) du WAYF Workflow différent WAYF : SP --> WAYF --> IdP DS : SP --> DS --> SP --> IdP Permet d'initier une session SAML2 Le WAYF de SWITCH supporte ce protocole Le SP doit être configuré pour utiliser ce protocole (élément Sessions) 93
Un WAYF mieux intégré Objectif intégrer le menu déroulant dans l application avec une liste d IdP contextuelle fonction «search as you type» Fonction Embedded WAYF native dans le SWITCH WAYF Principe de fonctionnement application inclut du code Javascript paramétrage possible Documentation https://services.renater.fr/federation/docs/fiches/filtreridp 25/03/2015 94
Un WAYF mieux intégré 25/03/2015 95
Embedded WAYF + DiscoFeed Objectif : Un WAYF intégré dans l application Avec une liste d IdP contextuelle Fonctionnalités utilisées: Embedded WAYF DiscoFeed du SP Doc : https://services.renater.fr/federation/docs/fiches/ filtreridp 96
Embedded WAYF + DiscoFeed Fédération Education- Recherche MD SP MD filtrées DiscoFeed JSON WAYF 97
Deux méthodes pour court-circuiter le WAYF 1 IdP < -- > 1 SP IdP-initiated session Voir https://federation.renater.fr/docs/faq/wayf#court-circuiter_le_wayf Adapté pour des liens depuis un ENT 98
Mécanisme des lazy sessions Spécifique à Shibboleth Principe : Une API pour déclencher l authentification Cas d utilisation : Permettre une navigation anonyme Maintenir plusieurs modes Intégrer la fonction WAYF dans l application 99
Le mécanisme des lazy sessions Navigation anonyme Déclenchement de la lazy session Application Application Login Shibboleth Apache / IIS SP Apache / IIS SP WAYF URL : /Shibboleth.sso/Login 100
Troisième partie : «Shibboliser» une application Forma&on fédéra&on Mars 2015 - Strasbourg 101
Différents cas de figure Application nativement compatible avec SAML2 Utilisant le SP Shibboleth ou pas Application implémentant des modes d authentification externes Possibilité d utiliser REMOTE_USER? Application devant être adaptées Cas logiciel open source Contacter les développeurs Prévoir un développement (plugin) Cas logiciel propriétaire Demander un développement 102
Quelques applications déjà compatibles https://federation.renater.fr/technique/applications/index 103
Cerner le contexte d utilisation La fédération d identités couvre-t-elle tous les utilisateurs potentiels du service? Sinon gestion des exceptions Comment contrôler l accès des utilisateurs? Quels attributs utilisateurs? 104
La population cible Une question importante la population cible du service est-elle couverte? élargir la population maintenir plusieurs modes d authentification les comptes CRU edugain rétrécir la population relations bilatérales fédération hébergée par RENATER 25/03/2015 105
Identifier les utilisateurs Objectif Utilisation des attributs utilisateur gérer des contrôles d accès personnaliser les contenus Gestion des attributs pas l application associer le compte fédéré à un compte utilisateur attribuer dynamiquement des droits population non connue a priori Quel attribut SAML utiliser comme identifiant? 25/03/2015 106
Identifier les utilisateurs Quel identifiant utiliser? a9ribut exemples Persistant? Opaque? Facilement Manipulable? nameid edupersontargetedid uid edupersonprincipalname _e2310ee043088cfda194 1eacbb50a6c" haps://services- federa&on.renater.fr/ test/idp!haps://services- federa&on.renater.fr/ test/ressource!jo/ UJs5h2MoXPRzgoLLl2xyw f4o= Jdupont120 267883736335 jdupont120@univ- x.fr 26788376335@univ- x.fr NON OUI NON OUI OUI NON OUI NON VARIABLE OUI NON VARIABLE mail Jean.dupont@univ- x.fr OUI, mais NON OUI 25/03/2015 107
Réaliser le contrôle d'accès au niveau Apache AuthType shibboleth ShibRequestSeHng requiresession 1 require affiliation student require homeorganization ~ ^univ-test.fr$ 108
Identifier les utilisateurs Où est le référentiel utilisateurs? côté IdP l IdP fournit tous les attributs nécessaires cas standard côté application l application interroge son propre référentiel ailleurs LDAP, SQL, Web Service plusieurs applications partagent un référentiel utilisateur exemple : Mathrice possibilité d utiliser un Attribute Provider SAML cf le service d autorisation de RENATER 25/03/2015 109
Agrégation d'attributs https://federation.renater.fr/docs/fiches/idpgroupes Usage gestion de groupes pour communautés dispersée alternative à une fédération Pré-requis SP Shibboleth >= 2.2 mettre en oeuvre l IdP 2 un identifiant commun SP IdP 2 IdP 1 110
Un service d autorisation basé sur les groupes Forma&on fédéra&on Mars 2015 - Strasbourg 111
Service d autorisation RENATER Principe de fonctionnement permettre un contrôle d accès unifié à plusieurs applications pour une population issue de différents organismes le référentiel de groupes est géré par un serveur de groupe avec le logiciel Sympa interrogé via le protocole SAML Attribute Authority intégration applicative non intrusive configuration du SP pour interroger le référentiel de groupes 25/03/2015 112
Service d autorisation RENATER Alimentation des groupes SP Applica&on Communauté na6onale IdP Etablissement A IdP AA Sympa Etablissement B Wiki RENATER 25/03/2015 113
Service d autorisation RENATER Contrôle d accès SP Applica&on Communauté na6onale IdP Etablissement A IdP AA Sympa Etablissement B Wiki RENATER 25/03/2015 114
Service d autorisation Configuration du SP documentation https://services.renater.fr/federation/docs/fiches/sympa_attribute_provider 25/03/2015 115
RENATER gère l Attribute Autority le serveur Sympa Service d autorisation Qui gère quoi? Le gestionnaire d application gère le SP en amont de l application les règles de contrôle d accès dans son application les membres de son groupe 25/03/2015 forma&on CIREN - Septembre 2014 116
Les sessions et le logout https://wiki.shibboleth.net/confluence/display/shib2/sloissues Constat : l utilisateur a plusieurs sessions actives CAS > IdP Shib > SP Shib > Application Shibboleth permet un logout au niveau du SP propagation du logout à l IdP Shibboleth ne permet pas propagation logout au serveur CAS propagation logout aux autres SPs 117
Conclusion : Mise en production Forma&on fédéra&on Mars 2015 - Strasbourg 118
Un SP sur un reverse proxy Permet de mutualiser la fonction SP Un seul serveur serveur à administrer Attributs utilisateurs transmis sous forme d'entêtes HTTP ShibUseHeaders On Il faut sécuriser... Haute disponibilité serveur applica&f Serveur Apache SP Shibboleth mod_proxy SAML serveur applica&f 119
Passage de la brique SP en production Utilisation des méta-données de la fédération de production Si besoin : utilisation des «comptes CRU» Documentation : https://services.renater.fr/federation/docs/fiches/ passageprod 120
Evolutions à venir IdP hosting pour les petits organismes cahier des charges en cours de rédaction Authentification multi-facteur RENATER évalue deux solutions Duo Security InWebo 121
Pour finir Le service, la documentation https://services.renater.fr/federation Support collaboratif - Forum Federation-utilisateurs@listes.renater.fr Journée fédération mai-juin 2015 Support RENATER support@renater.fr 122