Sicurezza e Architetture "Cloud"

Tags:

Introduzione

L’introduzione del paradigma Cloud nelle architetture Enterprise, necessita l’uso di pattern architetturali adeguati alla protezione delle informazioni, siano esse in transito ovvero mantenute nelle infrastrutture di servizio. Nel presente articolo, vengono analizzati 4 componenti architetturali giá noti nelle SOA e utilizzabili efficacemente anche per le architetture orientate al cloud computing.

Definizione di Cloud Computing Architetture

Delle molte equivalenti definizioni di cloud computing riportiamo di seguito quella data dal NIST, scelta per eloquenza e sinteticità:

“Il cloud computing è un modello per abilitare l’accesso di rete (conveniente e su richiesta) a un pool condiviso di risorse computazionali configurabili (es. reti, server, storage, applicazioni e servizi) che può essere rapidamente fornito e rilasciato con minimo effort di gestione…” “Questo modello di cloud computing promuove l’affidabilità…” [rif. http://csrc.nist.gov/groups/SNS/cloud-computing/].

Sicurezza e cloud computing

La sicurezza delle informazioni, siano esse in transito per essere elaborate oppure mantenute sui sistemi del fornitore di servizi cloud, riveste sicuramente un ruolo chiave nell’affidabilità della soluzione a servizio che il cloud implementa. Una ricerca IDC la pone, difatti, al primo posto fra i problemi da gestire in un sondaggio somministrato a clienti Enterprise [rif. IDC Enterprise panel n=244].

L’utilizzo di servizi di cloud computing può essere in casi specifici un vantaggio per la sicurezza delle informazioni:

  • Esternalizzare i dati “comuni” verso il cloud, riduce l’esposizione dei dati sensibili che rimangono all’interno dell’IT locale;
  • L’omogeneità del cloud permette auditing e testing molto semplici;
  • Il cloud permette di automatizzare il security management su larga scala;
  • Ridondanza e disaster recovery sono insite nelle infrastrutture cloud;

Per quel che riguarda l’utilizzo dei vecchi paradigmi di sicurezza, già da tempo rimossi nel caso di implementazione delle Service Oriented Architecture, il paradigma “dentro o fuori del firewall” non ha più alcun senso quando fornitori, clienti e competitor hanno i loro dati, le loro applicazioni e le loro identità digitali ospitate nello stesso data store come nel caso dei servizi cloud offerti da Amazon, Google et altri.

Il cloud computing cambia il ruolo della sicurezza da semplice “guardiano del confine” del livello infrastrutturale a quello di “tutore ambientale”. Il cloud è, di fatto, un ambiente fluido in cui le risorse e i partecipanti attivi cambiano in maniera dinamica.

Per questo la sicurezza deve essere estesa oltre l’infrastruttura dentro le info-strutture (applicazioni e dati) e le meta-strutture (policy) [rif. www.rationalsurvivability.com/blog/ ?p=1070].

Figura 1 - La separazione in layer delle componenti architetturali di Christofer HoffFigura 1 - La separazione in layer delle componenti architetturali di Christofer Hoff

Per chiarire come la sicurezza impatti su info-strutture e meta-strutture vengono elencate di seguito le componenti interessate ed i rispettivi security tips:

Info-strutture

  • service bindings → verifica dei protocolli di servizio e del formato dei messaggi
  • service mediation → controllo di servizi che mediano l’accesso ad applicazioni e dati
  • message and communication encryption → assicurazione di confidenzialità a livello di dati e trasporto
  • message and data integrity → resistenza alla manomissione di dati e messaggi
  • malicious usage → prevenzione dell’abuso nell’utilizzo degli asset informativi

Meta-strutture

  • security token exchanges → generazione e validazione di security tokens
  • security policy management → definizione, rafforzamento, e gestione del ciclo di vita delle policy
  • policy enforcement points → mapping dei name spaces, delle risorse, delle URI, dei canali e degli oggetti
  • policy decision points → gestione del workflow per determinare gli accessi
  • message exchange patterns → definizione di claims e schemi
  • detection services → logging e monitoring (recording and publishing events)
  • key management processes → generazione, distribuzione e gestione del ciclo di vita delle chiavi