1 / 23

Web SSO & Tools

Dael Maselli. Workshop Calcolo e Reti INFN. Web SSO & Tools. 06 Giugno 2006 – Otranto. LNF – INFN. Strumenti “Fatti in Casa”. Authentication + Single Sign On ( CASSiO ) TTicket L2 Find Node Racks Grapho DBquery Gestione Turni GEPS Domain WebServices Portal.

bethan
Download Presentation

Web SSO & Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dael Maselli Workshop Calcolo e Reti INFN Web SSO & Tools 06 Giugno 2006 – Otranto LNF – INFN

  2. Strumenti “Fatti in Casa” • Authentication + Single Sign On (CASSiO) • TTicket • L2 Find Node • Racks • Grapho • DBquery • Gestione Turni GEPS • Domain WebServices Portal

  3. CASSiO (1) – Maselli, Pistoni Cookie-based Authentication and Single Sign On Tempo fa e’ stato sviluppato ai LNF un sistema di Autenticazione e Single Sign On per alcune applicazioni WEB scritte in PHP o Perl. Con il tempo la procedura e’ stata aggiornata e resa il piu’ portabile possibile. I metodi di autenticazione sono aumentati ed e’ stata prevista l’identificazione di utenti INFN al di fuori dei LNF. Si propone come metodo di autenticazione e SSO per tutte le applicazioni web rese disponibili ai LNF e non.

  4. CASSiO (2) – Maselli, Pistoni • Autenticazione • Kerberos 5 • AFS • NIS • DB MySQL • Certificato x509 • Librerie Single Sign On • PHP • Perl • ASP.NET

  5. CASSiO (3) – Maselli, Pistoni • Il sistema si basa su 2 cookie: • <AuthMethod>.<User>@<Realm>:<IP>:<AuthTime> • Contiene un md5 del cookie 1 e di un file(Cookie Key)leggibile solo dal www server e non esportato via http. • Solo chi conosce il contenuto del Cookie Key e’ in grado di impostare o controllare l’autenticazione. • Funziona con tutti i SO e Browser che supportino SSL e Cookie.

  6. CASSiO (4) – Maselli, Pistoni • Utilizzato dalla quasi totalita’ degli script fatti in casa ai LNF • Il DataWeb INFN sta sviluppando le nuove applicazioni e aggiornando le vecchie per supportarlo • Programmazione semplificata di nuovi script indipendentemente dal SO e server HTTP • Cookie impostati per il dominio infn.it, quindi leggibili da tutti i nodi INFN

  7. CASSiO (5) – Maselli, Pistoni • Configurando un’opportuna distribuzione della Cookie Key e’ possibile riconoscere l’autenticazione da tutti i siti INFN • Librerie facilmente riscrivibili in altri linguaggi • Possibilita’ di integrazione in software di terze parti • Possibilita’ di sviluppo di nuovi metodi di autenticazione come OTP token, SMS ecc.

  8. TTicket– Maselli • TTicket e’ il sistema di Trouble Ticketing sviluppato ai LNF dal 2002, gia’ presentato al Workshop di Paestum 2003. • Viene ultilizzato anche in altre sedi INFN • Completamente integrato con CASSiO (TTicket ver >= 2.5.6) • Per ulteriori informazioni rimando a: http://www.lnf.infn.it/~dmaselli/tticket

  9. L2 Find Node (1)– Maselli • Permette di individuare dove sia connesso un nodo • Visualizza il percorso per raggiungerlo a partire da uno switch • Script Perl con interfaccia PHP • Utilizza query SNMP a MIB Cisco • Non e’ mai stato provato su altri switch • Configurazione quasi nulla

  10. L2 Find Node (2)– Maselli [dmaselli@lxcalc5:~]> l2findnode swcalcfarm2 xtermpc2 Host Name: xtermpc2.lnf.infn.it Host IP: 193.206.86.217 Status: UP. Layer3 from: swcalc1 Mac-addr: 00-02-1b-f2-53-82 Vlan: default ( 1 ) swcalcfarm2 - Po1 ( Gi1/0/27 Gi1/0/28 ) | swcalc1 - Gi8/13 | swae2a - 2/8 | swaea75 - Fa0/19 | xtermpc2

  11. Racks & Grapho– Maselli Racks e Grapho sono due piccoli script php che semplificano la vita quando si gentiscono molti nodi e ci si deve collegare in console agli host. • Racks, opportunamente configurato genera una pagina con la rappresentazione delle macchine nei rack in tabelle html e permette di collegarvisi in ssh, telnet o http. • Grapho costruisce un grafo in html/css utile per raffigurare la struttura della rete, permette di accedere agli apparati in telnet o ssh.

  12. Dbquery.pl (1)– Pistoni • Il Database query e’ uno script che realizza una comoda interfaccia web per l’interrogazione e l’amministrazione dei dati in piu’ database • Autenticazione integrata (Certificato, Kerberos, local DB) tramite CASSiO • Vari livelli di autorizzazione di accesso ai dati • Admin, trusted (possono leggere e scrivere nel db) • Utenti ‘abilitati’ (possono richiedere modifiche) • Utenti sola lettura • Utenti ‘disabilitati’ (gestione delle wildcard )

  13. Dbquery.pl (2)– Pistoni • Le interrogazioni al DB sono semplici, ma molto potenti • I valori dei campi visualizzati possono essere facilmente definiti come web link • in quanto campi speciali o amministrativi • in quanto valori per effettuare nuova ricerca nello stesso o in un altro database • Definizione di livelli di protezione fino al singolo campo della tabella del DB • Personalizzazione dell’output • Ai LNF vengono gestiti tutti i DB del Calcolo: Phonebook interno, Run Coordinator di Dafne, Rubrica ditte, Username e gruppi, Nodi di rete, Rembo, Contratti di manutenzione, etc.

  14. Domain WebServices Portal (1) (Amanzi) Gruppo di applicazioni in ASP.NET per il: • Serving dei software kits comuni e del relativo supporto all’installazione • Monitoraggio e Gestione delle code relative al servizio di stampa centralizzato LA SOLUZIONE DATABASE CENTRALIZZATO Memorizzare: • Le informazioni relative ai servizi esportati dal portale • I contenuti necessari a generare le pagine web • I parametri funzionali di stato dei servizi • I log dei servizi e le azioni intraprese dall’utente

  15. Domain WebServices Portal (2) (Amanzi) Aspetti implementativi per CASSiO: • Funzioni esportate da unico modulo VB basato su classi .Net Framework 1.0 SP1 (compatibile 1.1 e sup.) • Controllo validita’ autenticazione pre-esistente, login e logout utente • Rilascio autorizzazioni di alto livello per la cancellazione dei printing pending jobs in base alla validazione del metodo di autenticazione CASSiO: per tale funzionalita’ sono autorizzati solo gli utenti che si autenticano Kerberos/AFS o mediante certificato X509 INFN

  16. GEPS (1) – Angius • La Squadra “GEPS” e’ stata istituita per la Gestione delle Emergenze e del Primo Soccorso • Presso i LNF ogni turno giornaliero e’ composto da 6 persone piu’ 2 riserve • In totale gli abilitati ai turni GEPS sono circa 50 persone

  17. GEPS (2) – Angius • L’esigenza era di disporre di una applicazione web che rendesse piu’ semplice la composizione e la gestione del calendario turni per un gruppo cosi’ numeroso ed eterogeneo • Realizzata inizialmente per la sola squadra LNF e’ stata poi implementata con due setup differenti (numero componenti squadra, riserve, constraint di prenotazione, etc.) per le due diverse squadre GEPS dei LNF e AC • In produzione da Ottobre 2004

  18. GEPS (3) – Angius • Realizzata in PHP, utilizza un DB su MySQL • Autenticazione integrata con il sistema di CASSiO attivo nei Laboratori Nazionali di Frascati e Amministrazione Centrale • Per i dati anagrafici fa riferimento al Phonebook gestito dall’applicazione DBQuery • Tutte le operazioni di inserimento, modifica, cancellazione di turni e utenze sono registrate

  19. GEPS (4) – Angius • Sono previsti piu’ livelli di accesso: • “visitatore autenticato” • qualsiasi account LNF/AC • puo’ consultare il calendario delle prenotazioni • “utente” • effettivo GEPS • puo’ prenotarsi e gestire le proprie prenotazioni • “admin” • puo’ inserire nuovi effettivi, modificarne lo stato, “impersonare” qualsiasi utente, definire il capoturno, rimuovere tutte le prenotazioni relative ad un giorno o ad un intero mese

  20. GEPS (5) – Angius • L’applicazione e’ divisa in diversi quadri: • Quadro principale mensile per la gestione delle prenotazioni • Quadro giornaliero con ulteriori dati dei componenti la squadra (telefono, tenocode, email, edificio, note) • Riepilogo Utente • Gli “admin” inoltre possono consultare i quadri di “log” per le modifiche ai turni e alle utenze e accedere ad un quadro di accounting con i turni effettuati su base mensile o annuale dalle varie utenze • Un job a cron, nei giorni lavorativi, provvede ad inserire in turno le riserve in caso di assenze e ad inviare via email un memorandum ai componenti della squadra in turno per il giorno lavorativo successivo

  21. GEPS (6) – Angius

  22. GEPS (6) – Angius • Quadro Mensile • Versione “Admin”

  23. Domande ?

More Related