ja-sig cas - rmll 2008

Download JA-SIG CAS - RMLL 2008

If you can't read please download the document

Upload: arnaud-lesueur

Post on 16-Apr-2017

3.374 views

Category:

Technology


1 download

TRANSCRIPT

impress_sdsi_OpenDoc_00_cle087d21




Romain Bourgue & Arnaud Lesueur

Rencontres Mondiales du Logiciel Libre

4 Juillet 2008
Mont de Marsan

Sommaire

Introduction

Projet CAS

Cinmatiques de fonctionnement

Sous le capot...

Retour sur exprience : CAS au MAP

Pour en savoir plus

Agenda

Introduction

Qui sommes-nous ?

Qu'est-ce qu'un SSO...?

Projet CAS

Cinmatiques de fonctionnement

Sous le capot...

Retour sur exprience : CAS au MAP

Pour en savoir plus

Qui sommes-nous ?

Romain Bourgue Ministre de l'Agriculture et de la Pche (MAP)

Expert scurit, au MAP depuis 6 ans

Responsable de l'architecture SSO (en place depuis 2 ans)

Administration des infrastructures de scurit (PF, Proxies, Reverses Proxies, PKI, etc). Principalement en LL

Arnaud Lesueur Dictao

4 ans d'expertise en gestion d'identit. Sujets de prdilection : Authentification, Single Sign-On, Fdration, Provisionning, Public Key Infrastructure

Dveloppeur CAS depuis 2006 avec notamment :

Authentication Handler : SPNEGO (Kerberos / NTLM)

Tests fonctionnels automatiss (Canoo WebTest)

Haute disponibilit (JBoss Cache)

Qu'est-ce qu'un SSO ?
Objectif et enjeux

Objectifs :

Centraliser les authentifications applicatives en une seule authentification scurise.

Une seule authentification, une seule fois !

Enjeux :

Simplifier la gestion des mots de passe utilisateur et des rfrentiels d'authentification

Amliorer la scurit en renforant l'authentification

Faciliter la mise en place de politique de scurit

Agenda

Introduction

Projet CAS

Prsentation

Acteurs et historique du projet

Actualits et Roadmap

Points forts de la solution

Cinmatiques de fonctionnement

Sous le capot...

Retour sur exprience : CAS au MAP

Pour en savoir plus

Projet CAS : Prsentation

CAS est un serveur d'authentification unique pour client Web

Il fonctionne selon un systme de tickets, changs selon un protocole prcis et souple supportant les architectures n-tiers
Ce protocole d'change est inspir de Kerberos

La richesse de ses modules permet d'intgrer CAS dans des environnements htrognes

Projet CAS : Acteurs & Historique

CAS 1.0 (2001)

Dveloppe par l'Universit Yale

Objectif tant d'offrir un SSO pour le Web

Quelques pages JSP et des servlets

CAS 2.0.x (Mai 2002 Mai 2004)

Toujours dvelopp par Yale

Introduction du CAS Proxy Ticket

10 pages JSP et 6 servlets

Implmentation trs populaire avec une large communaut

Souche utilise l'origine par ESUP

CAS 3.x (Dcembre 2004)

Projet intgr au consortium Ja-Sig

Compatibilit avec le protocole et clients CAS 2.x

Architecture compltement repense et bien plus modulaire

Projet CAS : Actualits & Roadmap

Versions courantes : CAS 3.2.1 (stable) CAS 3.2.2 RC1 (Dev)

Nouveauts

Console d'administration Service Management

Single Log Out

API Restful

Fournisseur d'attributs

OpenID Provider

Remember Me

Roadmap

CardSpace / Infocard Authentication Handler

Terracotta Support

Support SAML 2.0 / Fdration

http://www.ja-sig.org/wiki/display/CAS/CAS+Vision+and+Roadmap

Projet CAS : Points forts

Serveur d'authentification sur le principe de tickets

Multi-domaine

Proxy Ticket

Force de la communaut avec une reconnaissance de l'implication

Solution lgre

Facilement dployable, intgrable et clusterisable (HA&LB)

Clients existants :
Apache, IIS, Java, PAM, Perl, PHP, Ruby, .Net, etc !

Applications nativement CASsifies:
Mantis, uPortal, TikiWiki, JSPWiki, Moodle, Sympa, exo Plateform, Jalios, Liferay, Jtrac, simpleSAMLphp, Shibboleth, etc !

Agenda

Introduction

Projet CAS

Cinmatiques de fonctionnement

Primo authentification

Accs secondaire

Proxy SSO en architecture n-tiers

Sous le capot...

Retour sur exprience : CAS au MAP

Pour en savoir plus

CAS

LDAP

Application

aft545rd8erzqa4

http://monappli/

https://cas../?service=http://monappli/

PKI

aft545rd8erzqa4

http://monappli/?ticket=aft545rd8erzqa4


https://cas../samlValidateaft545rd8erzqa4

Cinmatique de fonctionnement
Primo authentification

Cinmatique de fonctionnement
Accs Secondaire

LDAP

Application2

aft545rd8erzqa4

http://monappli2/

CAS

https:/cas../?service=http://monappli2/

PKI

aft545rd8erzqa4

http://monappli2/?ticket=aft545rd8erzqa4


https://cas../serviceValidateaft545rd8erzqa4

Application

Cinmatique de fonctionnement
ProxyTicket : Architecture N-tiers

LDAP

WebMail

aft545rd8erzqa4

https://webmail/

CAS

https:/cas../?service=https://webmail/

PKI

Aft545rd8erzqa4

https://webmail/?ticket=aft545rd8erzqa4


https://cas../serviceValidate?service=..&pgtUrl=...aft545rd8erzqa4

Serveur Mail

PAM

abf8eyydvzlo

abf8eyydvzlo

Pwd : abf8eyydvzlo


https://webmail/pgtUrlabf8eyydvzlo

/serviceValidate?ticket=abf8...

Agenda

Introduction

Projet CAS

Cinmatiques de fonctionnement

Sous le capot ...

Structure interne

Modules

Un exemple

Retour sur exprience : CAS au MAP

Pour en savoir plus

Sous le capot
Structure interne

Dveloppement en Java 1.5 pour leCore base de

Maven 2

Spring Framework

Spring Webflow

Hibernate

Log4J

OpenSAML

Inspektr

Pour les tests

JUnit

Canoo WebTest

Sur ceCore on vient y ajouter des modules ...

Sous le capot
Une structure modulaire

Plusieurs types de modules :

Les modules de credentials : Chargs de collecter les lments d'identification de l'utilisateur

Les modules d'authentifications : chargs de valider les informations d'identifications (credentials)

Les modules d'attributs : chargs de rcuprer des informations sur l'utilisateur

Les modules de stockage des tickets : chargs de garder en mmoire les tickets (ST, TGT, PGT, PT)

Les modules de validations de tickets : chargs de rpondre aux applications

Sous le capot
Modules de credentials

Lors de l'authentification, des Credentials sont gnrs partir des informations fournies par l'utilisateur

plainx509OTP

CAS

...SPNEGO

Sous le capot
Modules d'authentification

Ces credentials sont valids par des AuthenticationHandlers. On obtient un Principal

plainx509OTP

CAS

...SPNEGOLDAPPKIKerbDB...

NTLM

Sous le capot
Modules d'attributs utilisateurs

Des informations additionnelles sur l'utilisateur et son authentification peuvent prciser le Principal.
On obtient un Authentication

CAS

DBLDAP...

@

plainx509OTP...SPNEGOLDAPPKIKerbDB...

NTLM

Sous le capot
Modules de stockage des tickets

L'Authentication et les tickets qui y sont lis sont stocks dans un espace ventuellement partag par d'autres membres d'un cluster HA

CAS

DBLDAP...

@

DB


JBoss Cache

aft545rd8erzqa4

plainx509OTP...SPNEGOLDAPPKIKerbDB...

NTML

Sous le capot
Modules de validation de ticket

Les tickets sont ensuite valids par les applications travers modules implmentant des protocoles diffrents

CAS

DBLDAP...

@

DB


JBoss Cache

aft545rd8erzqa4

......SAMLCas2Cas1/validate

/serviceValidate

/SAMLValidate

API Cas

Mod_CAS

Partenaire SAML

plainx509OTP...SPNEGOLDAPPKIKerbDB...

NTLM

Sous le capot
Dclaration d'un module d'authentification

Exemple pour dclarer une authentification LDAP. Editer le fichier deployerConfigContext.xml pour ajouter :

Agenda

Introduction

Projet CAS

Cinmatiques de fonctionnement

Sous le capot ...

Retour sur exprience : CAS au MAP

Environnement et problmatiques

Particularits d'implmentation

Quelques chiffres

Pour en savoir plus

Retour sur exprience : CAS au MAP
Environnement et problmatiques

3 types de populations : agents, partenaires et usagers.

Diffrents rfrentiels dauthentification (DB, LDAP, PKIs)

Diffrents vecteurs dauthentification :

Identifiant/Mot de passe

Certificats issues de diffrentes AC

SSO Partenaire

Diffrents types de clients CAS :

Tl-procdures Orion (framework Java du MAP)

Applications PHP, Java, .NET,

Applications Web tierces (par mod_cas)

Retour sur exprience : CAS au MAP
Architecture dploye

Retour sur exprience : CAS au MAP
Particularit d'implmentation

Architecture HA&LB sur 2 serveurs ddis s'appuyant sur JBoss Cache pour le partage des tickets

Clusteur extensible N noeuds

Web Service de validation de ticket pour les attributs utilisateurs

Support de rfrentiels d'authentification : on lie des AuthenticationHandler des applications

Configuration XML gre par Puppet terme supporte en BDD et JPA

Infrastructure audite sur l'aspect scurit et performance

Support de dlgation d'authentification SSO partenaire

Retour sur exprience : CAS au MAP
Interaction avec un SSO partenaire

Retour sur exprience : CAS au MAP
Quelques chiffres

80 JH de dveloppement et d'intgration

0,5 ETP d'exploitation et maintenance volutive

Une vingtaine de services Web

2500 authentifications effectues par jour

2800 tickets gnrs par jours :-\

Agenda

Introduction

Projet CAS

Cinmatiques de fonctionnement

Sous le capot ...

Retour sur exprience : CAS au MAP

Pour en savoir plus

Liens & ressources

Questions

Liens & Ressources

JA-SIG

Homepage http://www.ja-sig.org/products/cas/

CAS User Manualhttp://www.ja-sig.org/wiki/display/CASUM/

CAS Clienthttp://www.ja-sig.org/wiki/display/CASC/

Issue Trackerhttp://www.ja-sig.org/issues/browse/CAS/

Mailing [email protected] & [email protected]

Codehttp://developer.ja-sig.org/source/

ESUP

Homepagehttp://www.esup-portail.org/

Mailing [email protected]

D'autres serveurs CAS

Rubyhttp://code.google.com/p/rubycas-server/

Pythonhttp://eole.orion.education.fr/wiki/index.php/EoleSSO

Perlhttp://www.onlamp.com/pub/a/onlamp/2007/05/31/cas-single-sign-on-with-jifty.html

Questions ?

?

?

?

Arnaud LESUEUR
[email protected]

Romain BOURGUEMinistre de l'Agriculture et de la [email protected]

Cliquez pour diter le format du texte-titre

Cliquez pour diter le format du plan de texte

Second niveau de plan

Troisime niveau de plan

Quatrime niveau de plan

Cinquime niveau de plan

Sixime niveau de plan

Septime niveau de plan

Huitime niveau de plan

Neuvime niveau de plan

25/09/08

Ministre de lagriculture et de la pche

Cliquez pour diter le format du texte-titre

Cliquez pour diter le format du plan de texte

Second niveau de plan

Troisime niveau de plan

Quatrime niveau de plan

Cinquime niveau de plan

Sixime niveau de plan

Septime niveau de plan

Huitime niveau de plan

Neuvime niveau de plan

25/09/08

Ministre de lagriculture et de la pche