Introduzione ai servizi Grid e relativa sicurezza Università di Catania – Fac. Di Ingegneria Emilio Mastriani– Consorzio COMETA Catania, 30 Giugno 2011 Industry Day “e-Infrastructures for Business”
Outline Grid Computing: introduzione Introduzione alla sicurezza in Grid Esigenze, problemi e soluzioni per la Grid Security Vita di un classico Job Grid Conclusioni
EGEE Organizzazione Sito Un singolo sito Grid è organizzato nel seguente modo
Problema Grid Security ‣ In un ambiente computazionale multiorganico e’ imperativo che tutti gli utenti e servizi interagiscano in un modo sicuro: – uso opportuno delle risorse – i proprietari delle risorse hanno il diritto di decidere chi puo’ accedere alle loro risorse – i dati che sono in Grid devono avere un proprietario – i differenti servizi Grid e gli utenti devono essere in grado di ‘fidarsi’ l’uno dell’altro La sicurezza e’ alla base di un sistema Grid: Autenticazione : processo per stabilire una mutua fiducia Autorizzazione : capacita’ di dire chi e’ capace a fare qualcosa Certificati : provano l’identita’ di un soggetto
Problema Grid Security Le risorse appartengono a domini multipli e distinti Un’applicazione puo’ utilizzare contemporaneamente risorse di piu’ siti Virtual Organization: -tipicamente variabile, dinamica -proprie politiche e specifiche di sicurezza -singolo utente o risorsa puo’ far parte di piu’ VO Grid è estremamente dinamica: non ha un punto di controllo centrale e ogni provider di risorse ha le proprie policy (requisiti, politiche, tecnologie)
Le tre sfide Il Gruppo di lavoro GGF (Global Grid Forum) OGSA (Open Grid Service Infrastructure) ha raggruppato le sfide di sicurezza in 3 categorie: Integration (Ogni dominio crea-gestisce-supporta la propria infrastruttura) Interoperability (I servizi Grid che interagiscono fra loro devono poter attraversare domini e hosts) Trust Relationship (Reciproca sicurezza tra chi offre un servizio e chi ne usufruisce)
Grid Computing Esigenze di Sicurezza Single sign-on: l’utente deve autentificarsi una sola volta per iniziare la computazione Protection of credential: le credenziali dell’utente devono essere protette Interoperability with local security solutions: l’accesso a risorse locali e’ determinato dalle politiche/meccanismi di sicurezza locali => soluzioni che prevedano un meccanismo di accesso interdominio e intradominio Uniform credential/certification infrastructure: accesso interdominio richiede almeno una via comune per esprimere/verificare l’identita’ di un utente/risorsa.
Grid Security Soluzione CERTIFICATI X.509. Standard ISO e IETF che collega credenziali alla coppia chiave pubblica e privata ad un’identità. I certificati sono rilasciati da note Certification Authorities(CAs). PKI –Public Key Infrastructure. Insieme di standards che definisce come i certificati e le CA debbano collaborare. GSS-API –Generic Security Services Application Program Interface. Standard IETF definisce un’interfaccia unificata a meccanismi di sicurezza eterogenei (Kerberos, certificati X.509, etc..)
GSI Grid Security Infrastructure Infrastruttura di sicurezza che collega insieme le tre componenti (certificati X.509, PKI e GSS-API) e aggiunge capacita’ di delega delle credenziali Una Certification Authority(CA) rilascia i certificati. Ogni utente/servizio e’ identificato da un certificato codificato in formato X.509 che contiene il subject name che identifica utente/servizio, la chiave pubblica, l’identita’ della CA che ha rilasciato il certificato assieme alla sua firma digitale.
Grid Authentication L’autenticazione su Grid e’ un’operazione fatta fra un utente ed un servizio L’utente invia la propria chiave pubblica al servizio Il servizio verifica la firma della CA Il servizio invia una frase random all’utente L’utente calcola l’hash della frase e la cripta con la propria chiave privata L’hash criptata e’ inviata al servizio Il servizio decripta l’hash con la chiave pubblica del certificato dell’utente e la confronta con la propia hash della frase SERVIZIO Certificato A UTENTE Verifica firma della CA Frase Random Firma con chiave privata Hash Criptata Decripta con chiave pubblica Compare with original phrase L’intero processo e’ trasparente: l’utente non si accorge di tutti i passaggi della comunicazione necessaria per l’autentifica
Certificati Proxy Cosa sono? Sono certificati temporanei con una durata breve e senza una password Perche’ sono necessari? Perche’ altrimenti ogni processo d’autenticazione richiederebbe la password della chiave privata dell’utente! Cosa sono “in senso pratico”? Sono dei file contenti sia il certificato che la chiave privata Il certificato del proxy e’ firmato con il certificato dell’utente Tipicamente hanno una durata corta (esempio: 12 ore) Il file del proxy deve essere protetto dalla lettura Delega di Proxy (Proxy Delegation) Un proxy puo’ essere usato per firmare un altro proxy il proxy di un utente e’ un processo a cui e’ dato il permesso di operare “a nome” dell’utente Definizione:
User Interface Accesso alla UI: ssh -X password: Last login: Wed Jun 29 10:19: from ~]$ Inizializzazione del proxy: ~]$ voms-proxy-init --voms cometa Cannot find file or dir: /home/mastriani/.glite/vomses Enter GRID pass phrase: Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=COMETA/CN=Emilio Mastriani Creating temporary proxy Done Contacting voms.ct.infn.it:15003 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "cometa" Done Creating proxy Done Your proxy is valid until Thu Jun 30 04:50:
User Interface Delegazione del Proxy: ~]$ glite-wms-job-delegate-proxy -d emilio Connecting to the service ================== glite-wms-job-delegate-proxy Success ================== Your proxy has been successfully delegated to the WMProxy: with the delegation identifier: emilio ==========================================================================
UI Job Contr. - Condor Computing Element Storage Element CE characts & status SE characteristics & status Sottomissione di un Job LFC Information System Logging & Book-keeping Network Server
Logging & Book-keeping UI Job Contr. - CondorG Computing Element Storage Element CE status & characteristics SE status & characteristics Job Status UI: permette di accedere alle funzionalità della Grid (via command line, C++ and Java APIs) LFC Information System Network Server
Network Server Logging & Book-keeping Informati on System LFC UI Job Contr. - CondorG Computing Element Storage Element RB node CE characts & status SE characts & status submitted Job Status Job Description Language (JDL) specifica le caratteristiche del job ed i requistiti Job Status glite-wms-job-submit -a -o jobid hostname.jdl Hostname.jdl Type = "Job"; JobType = "Normal"; Executable = "/bin/hostname"; StdOutput = "hostname.out"; StdError = "hostname.err"; OutputSandbox = {"hostname.err","hostname.out"}; Requirements = (other.GlueCEUniqueID == "unict-diit-ce-01.ct.pi2s2.it:2119/jobmanager- lcglsf-short");
UI Job Contr. - CondorG Computing Element Storage Element CE characts & status SE characts & status WMS storage Input Sandbox files Job submitted Job Status LFC Information System Logging & Book-keeping Job Status Network Server La richiesta di sottomissione viene avviata al WMS (Workload Management System)
Logging & Book-keeping UI Job Contr. - CondorG Computing Element Storage Element CE characts & status SE characts & status WMS storage waiting submitted Job Status WMS: dal JDL si deducono le risorse caratteristiche del job Job Where must this job be executed ? Match- Maker/ Broker LFC Information System Network Server
Network Server UI Job Contr. - Condor Computing Element Storage Element CE characts & status SE characts & status WMS waiting submitted Job Status Match- Maker/ Broker What is the status of the Grid ? Matchmaker: responsabile per trovare il “miglior” CE su cui avviare il job LFC Information System Logging & Book-keeping Job Status Where are (on what SE) the needed data ?
UI Job Contr. - Condor Computing Element Storage Element CE characts & status SE characts & status WMS Job Status Job Input Sandbox files submitted waiting ready scheduled LFC Information System Logging & Book-keeping Job Status Network Server
UI Job Contr. - Condor Computing Element Storage Element WMS Job Status Input Sandbox submitted waiting ready scheduled running “Grid enabled” data transfers/ accesses Job LFC Information System Logging & Book-keeping Job Status Network Server
UI Job Contr. - Condor Computing Element Storage Element WMS storage Job Status Output Sandbox files submitted waiting ready scheduled running done LFC Information System Logging & Book-keeping Job Status Network Server glite-wms-job-status -i jobid ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: grid004.iucc.ac.il:2119/jobmanager-lcgpbs-short Submitted: Mon Apr 3 12:27: CEST *************************************************************
UI Job Contr. - Condor Computing Element Storage Element WMS storage Job Status Output Sandbox submitted waiting ready scheduled running done LFC Information System Logging & Book-keeping Job Status Network Server glite-wms-job-output -i jobid Retrieving files from host: glite-rb.ct.infn.it ( for rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A ) ********************************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - have been successfully retrieved and stored in the directory: /tmp/glite/glite-ui/fscibi_Lb6LIhD93S7VYz1RVbCP8A ********************************************************************************
Grazie per la vostra attenzione