Gestion des identités Adonis Etude préalable

mellowfetaSecurity

Jun 19, 2012 (5 years and 4 months ago)

623 views

Gestion des identités Adonis
Etude préalable
Plan
I.
Etat de l’art
II.Solution tout Shibboleth
III.Solution intégration OpenSSO
IV.
Intégration des applications Adonis
IV.
Intégration des applications Adonis
2
ETAT DE L’ART
Gestion des identités
ETAT DE L’ART
3
Pour chaque application
•Deux aspects

Authentification

Authentification
–Contrôle d’accès (gestion des autorisations)
•Exemple : Fedora Commons Repository

Login / mot de passe, référentiel LDAP

Login / mot de passe, référentiel LDAP
–Politiques d’accès XACML basées sur des attributs
contenus dans le LDAP
4
Authentification unique : pourquoi ?
•Simplicité

Fait augmenter la fréquentation de certains sites !

Fait augmenter la fréquentation de certains sites !
•Réduction des efforts de maintenance
–Gestion des comptes, support…
•Sécurité

Mots de passe plus forts

Mots de passe plus forts
–Limite la circulation des mots de passe
•Accélère le déploiement d’applications
5
Quelques pistes
•Un référentiel unique (LDAP) pour tous

Valable au sein d’une organisation uniquement
–L’utilisateur doit s’identifier dans chaque application
•Les SSO simples
–On s’identifie une seule fois pour plusieurs applications
–Sécurité : aucune application ne «voit» de mot de passe
–Exemple : CAS, basé sur les cookies, valable à l’intérieur d’un
domaine (au sens DNS) uniquement
domaine (au sens DNS) uniquement
•Services externes type OpenID
–N’importe qui peut créer un compte à n’importe quel nom
–Pas de garanties de service
6
La fédération d’identités
•Des fournisseurs
d’identité (
IdP
)
Shibboleth
•Principales fonctions

Authentification unique

Authentification unique
–Fédération d’identités
–Propagation d’attributs
•Fédération Education-Recherche Renater
–70 fournisseurs d’identités, 69 ressources

Au CNRS : Janus

Au CNRS : Janus
–Identifiant : adresse mail
–Impossible de gérer des attributs !!!
8
Le marché vu par Gartner
MagicQuadrant
for Web Access Management
•Fonctions

Authentification unique

Authentification unique
–Fédération d’identité
–Contrôle d’accès centralisé
–Pour les applications web
•Quatre produits leaders

IBM TFIM et TAMeb

IBM TFIM et TAMeb
–CA SiteMinder
–Oracle Access Manager
–SUN OpenSSO
9
Shibboleth
•Authentification via CAS

Multiples moyens : login /
password
, certificats…

Multiples moyens : login /
password
, certificats…
•Fédération Shibboleth
–Les comptes sont gérés dans l’université d’origine
–Propagation d’attributs :
«Je certifie que cette requête est émise par un
utilisateur authentifié, dont les attributs sont…
»
utilisateur authentifié, dont les attributs sont…
»
–L’application peut utiliser ces informations pour
définir les autorisations
•Aucune interface d’administration
11
Composants Shibboleth
-3 briques : Discoveryservice, IdP, SP
-Apache est indispensable pour le fournisseur de services
-Ajouter CAS au fournisseur d’identité en production
12
Shibboleth en action
1.Requête vers une ressource
Redirection vers Where are you
from ?
2.Choix du fournisseur d’identité
Redirection vers celui choisi
3.Saisie login / mot de passe
Redirection vers l’application
Demo Live !
13
Solution 1 : Tout Shibboleth
•Intégration facile des applications web

Surtout si elles sont Shibboleth
-
enabled


Surtout si elles sont Shibboleth
-
enabled

–Formations Janus, support de Renater
•Inconvénients
–Utilisation d’attributs impossible dans Renater!!

Pas de contrôle d’accès centralisé

Pas de contrôle d’accès centralisé
–Pas de support des web services
–Pas de support des applications non web
15
OPENSSO
Contrôle d’accès centralisé
OPENSSO
16
OpenSSO
•Authentification

Multiple : Login /
password
, certificats,
auto
-
enregistrement, réinitialisation des mots de passe…

Multiple : Login /
password
, certificats,
auto
-
enregistrement, réinitialisation des mots de passe…
–Compatible Liberty Alliance
•Une base d’utilisateur pour chaque instance OpenSSO
–Gestion des attributs
–Contrôle d’accès basé sur les URL
•Deux interfaces d’administration complètes
Web / ligne de commande

Web / ligne de commande
•SDK Client C et Java
–Intégration d’applications non web possible
17
OpenSSO
18
Demo live !
Fedora Repository & OpenSSO
OpenSSO aux Universités de Grenoble
•100 000 utilisateurs dans l’annuaire

150 rôles

150 rôles
–4 000 sessions simultanées, pics à 10 000
•Limitation des règles d’accès
–Dégradation des performances si plus de quelques
centaines
•Un développement spécifique : monCAS
–Compatible avec les applications CAS-ifiées
–Permet d’utiliser OpenSSO comme IdPShibboleth
20
Intégration Shibboleth / OpenSSO
•Objectif

Les utilisateurs réutilisent leurs identifiants Shibboleth

Les utilisateurs réutilisent leurs identifiants Shibboleth
–On bénéficie des fonctions d’OpenSSO (contrôle
d’accès, interfaces évoluées, API clientes… )
•Quelques intégrations Shibboleth…

A Grenoble : OpenSSO en tant que
IdP
uniquement

A Grenoble : OpenSSO en tant que
IdP
uniquement
–A SUNY : Oracle IdMen tant que IdPuniquement
–SUN a déjà réalisé une intégration d’OpenSSO en tant
que SP
21
Solution 2 : IdP et SP OpenSSO
•Avantages

Un référentiel central pour gérer les attributs Adonis

Un référentiel central pour gérer les attributs Adonis
–Support des applications non web (SDK C et Java, API
REST)
–Support des web services (Java uniquement !)
•Inconvénients

Compatible
IdP
Shibboleth 2 uniquement

Compatible
IdP
Shibboleth 2 uniquement
•48/64 dans Renater, fin du support Shibb1.x mi-2010
–Quelques développements
•WAYF, interface, script de conversion de métadonnées
23
INTÉGRATION D’APPLICATIONS
Application pour Adonis
INTÉGRATION D’APPLICATIONS
24
Intégration CMS PHP (SPIP)
OpenSSO

Intégration minimale
Shibboleth

Intégration minimale

Intégration minimale
–Restreint l’accès à des URL
(admin… )
–Policy Agent, non-intrusif
•Intégration complète

Plug
-
in pour d’autres CMS

Intégration minimale
–Restreint l’accès à des URL
(admin… )
–SP, non-intrusif
•Intégration complète

Plug
-
in Spipoleth

Plug
-
in pour d’autres CMS
(Joomla, Drupal, WordPress),
mais pas SPIP
–PolicyAgent + développement
(très simple)

Plug
-
in Spipoleth
–User en base SPIP doit
correspondre au user
Shibboleth, gestion des
groupes en base SPIP
25
Intégration complète fedora
•Objectif : utiliser les règles d’accès XACML avec une
authentification externe
authentification externe
•Module authentification actuel
–Authentification externe via filtre de servletou Muradora
–Bientôt obsolète !

Fedora
enhanced
Security Layer (
FeSL
)

Fedora
enhanced
Security Layer (
FeSL
)
–Développer un LoginModuleJAAS
•Réutilisable pour d’autres applications Java
–Politiques de sécurité définies dans les XACML
26
Problèmes
•Comment le portail sait-il à quels objets le client à accès ?

Difficile si les XACML sont dans Fedora
•Authentification du client final par le portail (WSC) auprès
de fedora(WSP)
–Shibboleth : uPortal, nécessite un plug-in pour chaque IdP!
–OpenSSO : uniquement en Java (avec le SDK client ou WSagents)

Autre solution : externalisation des règles d’accès sous

Autre solution : externalisation des règles d’accès sous
forme d’URL policiesOpenSSO
–Le portail à un accès libre à fedora
–Le portail peut consulter les règles d’accès auprès d’OpenSSO
–Attention performances !
28
OpenSSO Web Services Agents
29
Questions pour aller plus loin…
•Comment sont définis les droits d’accès ?

Combien de règles ? Utilisation de groupes ?

Combien de règles ? Utilisation de groupes ?
•Quelles applications dans Adonis ?
–Web services ? Applications non web ?
•Quelle confiance accorde-t-on aux universités ?

Problème d’usurpation de mail (sécurité)

Problème d’usurpation de mail (sécurité)
–Réactivité du support ?
–Application des patchs de sécurité ?
30