Di Andrea Bortoluzzi – Scrum Master at InfoCert

Come proteggere applicazioni e dati

Negli ultimi anni, si è registrata sempre più di frequente una nuova tendenza che riguarda la gestione dei dati. Sempre più aziende, infatti, stanno spostando i propri dati ed i propri servizi da datacenter on-premises, ossia conservati presso macchine istallate localmente, verso servizi cloud. Questo avviene anche e soprattutto al fine di ottenere una maggior sicurezza dei propri dati e servizi.  

Mantenere i dati e i servizi “in casa”, contrariamente a quanto si potrebbe pensare, non è sinonimo di sicurezza. Questo perché i datacenter on-premises, per essere considerati sicuri, devono essere correttamente progettati e configurati.  

Per farlo nel migliore dei modi occorre fare notevoli investimenti economici per la manutenzione dell’infrastruttura, e questi sforzi difficilmente vengono affrontati dalle aziende, le quali per questo motivo spesso optano per soluzioni che comportano un livello di sicurezza inferiore. 

Utilizzando sistemi in Cloud si possono invece raggiungere dei livelli di sicurezza elevati con investimenti sicuramente inferiori a quelli necessari per soluzioni di tipo on-premises. Andiamo a vedere quali. 

Per “sicurezza sul cloud” s’intendono tutte quelle attività volte a proteggere l’integrità di applicazioni, dati e infrastrutture virtuali che risiedono sul cloud. Il termine si applica a tutti i modelli d’implementazione del cloud (pubblico, privato, ibrido, multi-cloud) e a tutti i tipi di servizi e soluzioni on-demand che vi risiedono (IaaS, PaaS, SaaS).

Modelli cloud 

Cloud pubblicoUn’offerta pubblica multi cliente come Amazon AWS, Microsoft Azure, Google Cloud.
Cloud privatoUn ambiente cloud riservato ad un’unica realtà aziendale (ma solitamente utilizzato e condiviso da diverse organizzazioni facenti parte della realtà aziendale).
Cloud ibridoUna combinazione di servizi presenti in cloud pubblici e privati on-demand.
Multi CloudUna combinazione di servizi cloud privati o pubblici.

Tipi di servizi cloud 

Infrastructure as a Service (IaaS)I servizi on-demand di storage, computing e networking sottostanti.
Platform as a Service (PaaS)Ambienti e infrastrutture basati sul cloud per lo sviluppo di applicazioni.
Software as a Service (SaaS)Soluzioni on-demand come Salesforce o Office 365 che vengono erogate come applicazioni basate sul cloud con modelli di licenza basati su abbonamento.

I dati e le minacce alla loro sicurezza

Gli asset e i volumi di dati presenti sia nelle infrastrutture on-premises che in cloud, sono esposti indistintamente a un’ampia varietà di minacce legate alla cyber-sicurezza.  

Un esempio sono le possibili violazioni dei dati, come gli attacchi ransomware e gli attacchi DDoS o le attività di phishing. Gli aggressori informatici possono sfruttare le vulnerabilità e le falle nella sicurezza utilizzando credenziali trafugate o applicazioni compromesse per lanciare i loro attacchi, interrompere e compromettere servizi o trafugare dati sensibili.  

Diventa quindi fondamentale disporre di sistemi e pratiche di sicurezza di grande solidità come quelle che offre il cloud, strumenti in grado di preservare la disponibilità delle applicazioni business-critical, salvaguardare le informazioni riservate e garantire la conformità normativa. 

Negli ultimi tempi, l’adozione del cloud pubblico sta registrando un continuo aumento. Questo trend è alimentato da iniziative di trasformazione digitale top-down e bottom-up volte a semplificare i processi di sviluppo. Anche le organizzazioni fortemente regolamentate, come quelle dei servizi finanziari e il mondo dell’assistenza sanitaria, stanno accelerando i loro cicli di adozione di tali strutture. A differenza dei servizi tradizionali on-premiser, il cloud ha il concetto di cyber security intrinseco nei servizi che offre, spingendo quindi fin dall’inizio a pensare alle tematiche di sicurezza nella progettazione e realizzazione del servizio.

Responsabilità della sicurezza nel Cloud 

La sicurezza sul cloud, a differenza della sicurezza tradizionale IT, è guidata da un modello a responsabilità condivisa, per il quale il fornitore del servizio cloud ha la responsabilità di gestire la sicurezza dell’infrastruttura sottostante (storage, cloud computing e cloud networking), mentre il cliente è responsabile della gestione della sicurezza a livello di sistemi operativi, dati, applicazioni guest, ecc. 

Per un’azienda, il fatto che non ci si debba preoccupare della sicurezza dell’infrastruttura è sicuramente un vantaggio per due motivi: 

  • i provider cloud hanno le risorse necessarie per garantire un livello di sicurezza dell’infrastruttura elevato; 
  • i clienti dei servizzi cloud possono investire più risorse sulla sicurezza dei servizi.

Best practice di sicurezza per i clienti Cloud 

Per proteggere applicazioni e dati, i clienti Cloud devono istruire diverse procedure di sicurezza basate su alcuni accorgimenti che si possono applicare sempre: 

1. Proteggere la console di gestione del cloud.  

Tutti i provider di servizi cloud offrono console per la gestione dei propri servizi (configurazione, monitoraggio, etc). Queste spesso vengono coinvolte in attacchi informatici, per questo le organizzazioni devono controllare gli accessi (in particolar modo quelli privilegiati) per evitare la compromissione dei servizi cloud. Inoltre, è molto utile avere un modello di permessi per l’accesso alle risorse stesse. 

2. Protezione dell’infrastruttura virtuale.  

Anche le risorse presenti nel cloud (storage, cloud computing, container) possono essere oggetto di attacchi informatici sfruttando gli strumenti di provisioning automatico tipici del cloud. Per questo è molto importante proteggere nel modo opportune l’accesso e l’esecuzione di questi script, per evitare che possano venire usati in modo malevolo. 

3. Protezione chiavi di accesso.  

Per interagire con il cloud spesso si ricorre all’utilizzo di API specifiche, accessibili attraverso l’utilizzo di chiavi di accesso. È essenziale non includere queste chiavi in repository pubblici e più in generale in qualsiasi codice utilizzato per interagire con il cloud, ma salvarle in ambienti sicuri con un accesso controllato. 

4. Protezione console amministrative e strumenti devops. 

Anche gli strumenti ci/cd utilizzati in ambito devops possono essere struttati per sferrare attacchi informatici nel cloud. È quindi importante che le Organizzazioni si impegnino a proteggere anche questi strumenti nel modo corretto e monitorandone gli accessi. 

5. Protezione del codice sulla pipeline DevOps.  

Gli attaccanti possono anche provare a sfruttare le vulnerabilità delle applicazioni sulla pipeline di sviluppo ed erogazione. Gli sviluppatori spesso incorporano le credenziali di sicurezza nel codice sorgente conservato su storage condivisi o su repository di codice pubblici. Nelle mani sbagliate, le credenziali delle applicazioni possono essere utilizzate per trafugare informazioni proprietarie o causare numerosi danni. È buona prassi da parte degli utilizzatori del cloud rimuovere i secret dal codice sorgente ed implementare sistemi e pratiche mirate al controllo e al monitoraggio automatico degli accessi in base alle proprie policy. 

6. Protezione degli account amministrativi per le applicazioni SaaS.  

Ogni offerta SaaS include una console di gestione per amministrare utenti e servizi. Gli account amministrativi SaaS sono un obiettivo frequente per hacker e cyber-criminali. I clienti devono controllare e monitorare rigidamente i privilegi di accesso alle console amministrative per garantire la sicurezza SaaS e ridurre i rischi.

Autore:

Andrea Bortoluzzi

Andrea Bortoluzzi 

Scrum Master at InfoCert