Your SlideShare is downloading. ×
SVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVORO
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO

1,335

Published on

slide

slide

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,335
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Università degli Studi di Trieste Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica anno accademico 2007-2008 Sviluppo di una soluzione Single Sign On per l’ente Veneto Lavoro Laureando: Zanatta Davide Relatore: Prof. Bartoli Alberto
  • 2. Sommario
    • Introduzione al lavoro svolto
    • Il progetto Guanxi
    • Innovazioni al progetto Guanxi
    • Risultati ottenuti
    • Conclusioni.
    01
  • 3. Introduzione : Analisi del problema 02 Spesso quando si utilizzano servizi tramite Internet l’utente è costretto a ripetere il processo di autenticazione per ogni risorsa.
    • Rallenta l’operatività degli utenti
    • Necessità di molte registrazioni
    • - possono scoraggiare gli utenti
    • - molte password da ricordare (uguali ?)
    • Repository utenti duplicati
    • - mantenzione non coordinata
    • - possibili disallinamenti dei dati
    Web Mail Segreteria Serv. Bancari eLearning
  • 4. Introduzione : Single Sign On 03 Un sistema specializzato che permette ad un utente di autenticarsi una sola volta per poi accedere a tutte le risorse informatiche.
    • Migliora l’operatività degli utenti
    • Maggiore sicurezza del sistema
    • - unico punto di accesso
    • - meno password da ricordare
    • Gestione cooperativa degli utenti
    • - agevolazione nelle attività di mantenzione
    • - integrità dei dati
    Segreteria Serv. Bancari eLearning Web Mail
  • 5. Introduzione : Il lavoro svolto 04
    • Analisi di un progetto adatto al contesto VL
    • Installazione di un sistema Single Sign On
    • Integrazione tra il sistema SSO e i repository utente
    • Creazione di un sistema High Availability (HA)
    • Modifica del progetto SSO per la configurazione HA
    Il lavoro svolto si è concentrato sullo sviluppo di un sistema Single Sign On per l’ente Veneto Lavoro di modo da uniformare il processo di login dei diversi servizi offerti e migliorarne la sicurezza del sistema.
  • 6. Introduzione : Sistema precedente
    • Veneto Lavoro è l’ente strumentale della Regione Veneto per le politiche dell’occupazione.
    05
    • servizi molto eterogenei con sistemi di autenticazione specifici
    • utenti costretti ad effettuare una o più registrazioni a seconda del numero di servizi richiesti
    • necessità di effettuare nuovamente il processo di autenticazione per accedere a più servizi
  • 7. Introduzione : Sistema Attuale 06
    • Federazione di sistemi con servizio Single Sign On
    • Unica registrazione per gli utenti
    • Sistema ad alta affidabilità in Load Balancing
    Server SSO-1 IdP Saml Engine WAYF Server CO-1 CO-Veneto Guard CO-Gest. Anag. Guard FRONTEND-WEB Router/ balancer FRONTEND-WEB Server SSO-1 IdP Saml Engine WAYF Server CO-1 CO-Veneto Guard CO-Gest. Anag. Guard Utenti Internet / Intranet
  • 8. Progetto Guanxi : Specifiche Guanxi 07
    • Progetto open source sviluppato da UHI Millennium Institute, compatibile con lo standard Shibboleth
    • Pensato per creare sistemi SSO in ambito web
    • Progettato per interagire con federazioni di server e specifici repository utenti
    chiamate che non coinvolgono il browser utente chiamate che coinvolgono il browser utente Risorsa WEB GUARD SAML Engine WAYF Identity Provider DB Utenti Richiesta utente Se non autenticato Accesso alla risorsa Redirect al form di autenticazione Recupero dei dati di profilazione Verifica sessione utente e recupero dati profilo
  • 9. Progetto Guanxi : Service Provider
    • Ogni richiesta utente ad una risorsa web viene intercettata dal Guard,
    • Il Guard chiede al Saml Engine informazioni sul profilo utente,
    • Il Saml Engine verifica che la chiamata provenga da un Guard valido.
    08
    • Saml Engine
    • - mantiene una mappa delle risorse e dei server della federazione
    • - gestisce tutte le comunicazioni tra i Guards e gli Identity Providers
    • - mantiene le informazioni in merito alle sessioni utenti
    • Guard
    • - protegge una singola risorsa web, integrata nel sistema SSO
    • - viene installato come filtro http all’interno della web application
    1 Risorsa WEB Filter Attribute Consumer Podder GUARD SAML Engine 2a 2b 2c
  • 10. Progetto Guanxi : WAYF
    • Se l’utente non è già stato autenticato si chiede al Saml Engine l’indirizzo del server WAYF,
    • Il browser mostra all’utente l’elenco dei possibili Identity Provider,
    • L’utente viene rediretto alla pagina di login SSO.
    09
    • WAYF
    • - risponde alla domanda “Where Are You From?”
    • - si compone di una sola pagina jsp
    • - permette di scegliere all’utente l’ Identity Provider di pertinenza
    3a 3b Filter Attribute Consumer Podder GUARD SAML Engine WAYF Identity Provider Attribute Authority Single Sign On 3c 4
  • 11. Progetto Guanxi : Identity Provider (1)
    • L’utente inserisce le proprie credenziali attraverso il browser,
    • Le credenziali vengono verificate da Identity Provider tramite le classi Authenticators,
    • Se l’autenticazione ha esito positivo il Saml Engine attiva la sessione utente.
    10
    • Identity Provider
    • - svolge le operazioni di authentication e profiling degli utenti
    • - l’interfacciamento alle basi dati avviene tramite Authenticators e Attributors
    • - tutte le comunicazioni con Saml Engine avvengono tramite il protocollo SAML
    • Authenticators (modulo Single Sign On)
    • - una o più classi chiamate in ordine predefinito fino ad esito positivo
    • - verificano la presenza delle credenziali utente nei repository
    • - queste classi sono state appositamente sviluppate per connettersi ai repository utente dell’ente Veneto Lavoro
    SAML Engine WAYF Identity Provider Attribute Authority Single Sign On DB Utenti 4 5
  • 12. Progetto Guanxi : Identity Provider (2)
    • Ogni volta che l’utente richiede l’accesso ad un servizio il Saml Engine ne richiede i dati di profilazione al Identity Provider,
    • I dati vengono estratti dai repository utente attraverso le classi Attributors del modulo Attribute Authority,
    • Il risultato viene trasmesso al Saml Engine.
    11
    • Attributors (modulo Attribute Authority)
    • - una o più classi senza ordine di chiamata
    • - recuperano i dati di profilazione dell’utente per i diversi servizi
    • - è possibile configurare delle politiche di rilascio degli attributi (ARP)
    • - queste classi sono state appositamente sviluppate per connettersi ai repository utente dell’ente Veneto Lavoro
    SAML Engine 6 7 Identity Provider Attribute Authority Single Sign On DB Utenti
  • 13. Progetto Guanxi : Accesso alla risorsa
    • Il Saml Engine decodifica i dati del profilo utente e li invia al Guard;
    • Il Saml Engine notifica al Guard che l’utente può accedere alla risorsa richiesta,
    • Il browser dell’utente viene reindirizzato alla pagina web richiesta.
    12
    • Saml Engine
    • - è l’unico componente a manipolare i dati SAML
    • - mantiene le informazioni in merito alle sessioni utenti
    • Guard
    • - protegge una singola risorsa web, integrata nel sistema SSO
    • - fornisce alla risorsa i dati del profilo utente attraverso headers http
    Risorsa WEB Filter Attribute Consumer Podder GUARD SAML Engine 8a 9b 9a 8b
  • 14. Innovazioni al progetto Guanxi : Sistema High Availability 13
    • Per ragioni di affidabilità del servizio si tende a duplicare i sistemi critici in Cluster
    • Per motivi prestazionali gli Apache eseguono il Load Balancer delle richieste
    • Anche le chiamate interne SSO sono in Load Balancer (problema)
    • In alcuni server non posso installare i componenti Guard (problema)
    Server Apache Frontend-1 Server Apache Frontend-2 Server WEB-1 Tomcat Portale Web Server SSO-2 JBoss sso-2 Saml Engine WAYF Identity Provider Server SSO-1 JBoss sso-1 Saml Engine WAYF Identity Provider Server AROF-2 JBoss arof-2 AROF Guard Server AROF-1 JBoss arof-1 AROF Guard Jaguar AOL Server CO-3 JBoss co-6 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling JBoss co-5 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling Server CO-2 JBoss co-4 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling JBoss co-3 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling Server CO-1 JBoss co-2 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling JBoss co-1 CO-Iscriz. CO Guard CO-Anag. Guard Guard Tunneling Server SIL-DB Oracle DB Profile Server DB-VL SqlServer DB CSM DB CO Sybase DB AROF SqlServer DB CSM DB CO
  • 15. Innovazioni al progetto Guanxi : Sticky Session 14 La Sticky Session si basa su un cookie di sessione per smistare le richieste http tra i vari server in Load Balancer Prima chiamata: 50% di possibilità per ogni nodo Chiamate successive: il cookie indica il nodo destinazione Balancer Server2 CO-1 Server2 CO-2 Balancer Server2 CO-1 Server2 CO-2 123.co-1
  • 16. Innovazioni al progetto Guanxi : Sticky Session 15 Le librerie del progetto Guanxi non supportano i cookies di sessione nelle chiamate tra i diverse componenti distribuiti che non coinvolgono il browser, Per risolvere i problemi dovuti a questa mancanza durante lo sviluppo del progetto si è reso necessario modificare il core delle librerie Guanxi per il mantenimento delle sessioni, Con queste modifiche è possibile l’utilizzo di Guanxi in un cluster con configurazione di load balancing.
  • 17. Innovazioni al progetto Guanxi : Guard Tunneling 16 In alcune situazioni è stato impossibile inserire la componente Guard all’interno delle applicazioni web da proteggere per incompatibilità tra Application Server e librerie Guanxi ( es. Sybase Jaguar o Microsoft Internet Information Server ), La soluzione adottata utilizza una nuova applicazione detta Guard Tunneling per le operazioni di autenticazione e profilazione utente, Con questo nuovo componente si può utilizzare il sistema Guanxi non includendo il Guard nella applicazione web originale.
  • 18. Risultati ottenuti : Test di Carico 17 (1;2) La cpu della macchina fisica viene suddivisa nelle due macchine virtuali che contiene A conclusione del processo di analisi, sviluppo software e configurazione del sistema progettato si sono effettuati dei test di collaudo. E’ stato predisposto un ambiente di test composto da diverse macchine virtuali e si è simulato l’accesso contemporaneo di 800 utenti. server JBoss SSO-2 512 Mb 1 cpu 2.80 GHz (2) Linux RedHat Geisoft01 server JBoss SSO-1 512 Mb 1 cpu 2.80 GHz (2) Linux RedHat Geisoft01 server JBoss CO-2 512 Mb 1 cpu 2.80 GHz (1) Linux RedHat Geisoft05 server JBoss CO-1 512 Mb 1 cpu 2.80 GHz (1) Linux RedHat Geisoft05 http server Apache 756 Mb 1 cpu 2.00 GHz Linux Ubuntu Geisoft03 Contenuto RAM CPU S.O. Macchina
  • 19. Risultati ottenuti : Test di Carico 18 Il grafico illustra il numero di sessioni utenti attive contemporaneamente nell’arco di tempo del test. La simulazione ha gestito senza errori l’accesso di 800 utenti in 3 minuti e 20 secondi.
  • 20. Risultati ottenuti : Statistiche di accesso 19 Statistiche sui dati rilevati a partire dal sistema reale installato a Veneto Lavoro. Il numero di accessi orari segue gli orari di ufficio.
  • 21. Risultati ottenuti : Statistiche di accesso 20 Il numero di accessi è fortemente influenzato dal servizio CO-Veneto.
  • 22. Conclusioni : Sviluppi futuri
    • Aggiornamento alla nuova versione delle librerie del progetto Guanxi
    • Autenticazione tramite Smart Card
    • Gestione degli Accordi di Servizio integrata in SSO
    • Estendere integrazione con SSO a tutti i servizi offerti da Veneto Lavoro
    21
  • 23. Conclusioni : Obiettivi raggiunti 22
    • Riduzione del tempo speso dagli utenti per gli accessi ai servizi
    • Maggiore sicurezza dei sistemi
    • Gestione repository utenti semplificata
    • Maggiore affidabilità dei sistemi
    • Minori chiamate al centro assistenza.
    Il lavoro svolto con la creazione di un nuovo sistema di Single Sign On per l’ente Veneto Lavoro ha portato i seguenti vantaggi:

×