Sicurezza di Amazon RDS

Scopri le funzionalità di sicurezza di Amazon RDS

Amazon RDS è un servizio di database relazionale gestito che offre la scelta tra otto motori di database popolari, tra cui Amazon Aurora PostgreSQL-Compatible Edition, Amazon Aurora MySQL-Compatible Edition, RDS per PostgreSQL, RDS per MySQL, RDS per MariaDB, RDS per SQL Server e RDS per Oracle e RDS per Db2.

Amazon RDS e Amazon Aurora forniscono una serie di funzionalità per garantire l'archiviazione e l'accesso ai dati in modo sicuro. Esegui il tuo database in Amazon Cloud Privato Virtuale (VPC) per l'isolamento a livello di rete. Usa i gruppi di sicurezza per controllare quali indirizzi IP o istanze Amazon EC2 possono connettersi ai tuoi database. Questo firewall integrato impedisce qualsiasi accesso al database che non segua le regole specificate dall'utente.

Utilizza le policy di AWS Identity and Access Management (IAM) per assegnare le autorizzazioni che determinano chi è autorizzato a gestire le risorse Amazon RDS. Utilizza le funzionalità di sicurezza del tuo motore di database per controllare chi può accedere ai database, proprio come faresti se il database fosse sulla tua rete locale. Ti consente inoltre di mappare gli utenti del database in base ai ruoli IAM per l'accesso federato.

Utilizza le connessioni Secure Socket Layer/Transport Layer Security (SSL/TLS) per crittografare i dati in transito. Crittografa l'archivio del database e i backup inattivi utilizzando il sistema AWS di gestione delle chiavi (KMS). Monitora l'attività del database e integra le applicazioni di sicurezza del database dei partner con Database Activity Streams.

Crittografia dei dati a riposo

Amazon RDS crittografa i tuoi database utilizzando le chiavi gestite con il Sistema AWS di gestione delle chiavi (KMS). Su un'istanza database in esecuzione con crittografia Amazon RDS, i dati salvati a riposo nello storage vengono criptati, così come i backup, le repliche di lettura e gli snapshot. La crittografia di Amazon RDS utilizza l'algoritmo AES-256, standard del settore, per crittografare i dati sul server che ospita l'istanza Amazon RDS.

Amazon RDS supporta anche la crittografia trasparente dei dati (TDE) in SQL Server (SQL Server Enterprise Edition e Standard Edition) e Oracle (opzione Oracle Advanced Security in Oracle Enterprise Edition). Con TDE, il server del database crittografa automaticamente i dati prima che vengano scritti nell'archivio e decripta automaticamente i dati quando vengono letti dall'archivio.

Crittografia dei dati in transito

Crittografa le comunicazioni tra l'applicazione e l'istanza DB utilizzando SSL/TLS. Quando esegui il provisioning di un'istanza database, Amazon RDS crea un certificato SSL e installa il certificato sull'istanza. Per MySQL, si avvia il client mysql utilizzando il parametro --ssl_ca per fare riferimento alla chiave pubblica e crittografare le connessioni. Per SQL Server, scarica la chiave pubblica e importa il certificato nel tuo sistema operativo Windows. RDS per Oracle utilizza la crittografia di rete nativa di Oracle con un'istanza database. È sufficiente aggiungere l'opzione di crittografia di rete nativa a un gruppo di opzioni e associare tale gruppo all'istanza database. Una volta stabilita la connessione crittografata, i dati trasferiti tra l'istanza database e l'applicazione saranno crittografati durante la trasmissione. È anche possibile richiedere che l'istanza database accetti solo connessioni crittografate.

Controllo degli accessi

Amazon RDS è integrato con AWS Identity and Access Management (IAM) e consente di controllare le operazioni che i gruppi e gli utenti IAM di AWS sono autorizzati a eseguire su risorse specifiche (istanze database, snapshot database, gruppi di parametri database, abbonamenti a eventi database e gruppi di opzioni database). Inoltre, puoi contrassegnare con dei tag le risorse e controllare le azioni che gli utenti e i gruppi IAM sono autorizzati ad eseguire su risorse con lo stesso tag (e valore di tag). Per ulteriori informazioni sull'utilizzo dell'integrazione IAM, consulta la documentazione di autenticazione dei database IAM.

È anche possibile assegnare un tag alle risorse Amazon RDS e controllare le azioni che gli utenti e i gruppi IAM sono autorizzati a eseguire su risorse con lo stesso tag e lo stesso valore associato. È ad esempio possibile configurare le regole IAM in modo da assicurare che gli sviluppatori possano modificare le istanze database contrassegnate come "Sviluppo", ma che solo gli amministratori del database possano modificare istanze database contrassegnate come "Produzione".

Quando crei per la prima volta un'istanza database in Amazon RDS, crea un account utente master che viene utilizzato solo in Amazon RDS, per controllare l'accesso alle tue istanze database. L'account utente master è un account utente nativo del database che consente di accedere all'istanza database con tutti i privilegi. Puoi specificare il nome utente master e la password che desideri associare a ciascuna istanza database nel momento in cui viene creata. Una volta creata l'istanza database, puoi connetterti al database utilizzando le credenziali di utente master. Potrai quindi anche creare account utente aggiuntivi in modo da restringere l'accesso all'Istanza database.

Isolamento di rete e firewall del database

Con il Cloud Privato Virtuale (VPC) Amazon, è possibile isolare le istanze del database nella propria rete virtuale e collegarle all'infrastruttura IT esistente mediante VPN IPsec con crittografia standard di settore.

Grazie ad Amazon VPC, è possibile isolare le proprie istanze di database indicando il range di IP che si desidera utilizzare e connettere l'infrastruttura IT tramite VPN IPsec con la crittografia standard del settore. L'esecuzione di Amazon RDS in un VPC consente di avere un'istanza database all'interno di una sottorete privata. Puoi anche configurare un gateway VPN che estenda la rete aziendale all'interno del VPC, consentendo così l'accesso all'istanza database di Amazon RDS all'interno del cloud privato virtuale. Per ulteriori informazioni, consulta la Guida per l'utente di Amazon VPC. È possibile accedere a istanze database implementate all'interno di un VPC Amazon da Internet o da istanze EC2 esterne al VPC, utilizzando una VPN o un host bastione che potrai avviare nella tua sottorete pubblica. Per usare un host bastione, è necessario configurare una sottorete pubblica con un'istanza EC2 che agisca come bastione SSH. Questa sottorete pubblica deve disporre di un gateway Internet di regole di routing che consentano l'indirizzamento del traffico sull'host SSH, che deve quindi inoltrare le richieste all'indirizzo IP privato dell'istanza database di Amazon RDS. Per proteggere le istanze database all'interno di Amazon VPC sono disponibili i gruppi di sicurezza di database. Inoltre, è possibile consentire o limitare il traffico in entrata e in uscita da ciascuna sottorete tramite le liste di controllo degli accessi (ACL) di rete. Puoi controllare tutto il traffico di rete in entrata e in uscita dal cloud privato virtuale Amazon attraverso la connessione VPN IPsec utilizzando l'infrastruttura di sicurezza on-premise, inclusi firewall di rete o sistemi di rilevamento e di prevenzione delle intrusioni.

Database Activity Streams (DAS)

Oltre alle minacce alla sicurezza esterne, i database gestiti devono fornire protezione contro i rischi interni dei Database Administrator (DBA). Database Activity Streams, attualmente supportato per Amazon Aurora e Amazon RDS per Oracle, offre un flusso di dati in tempo reale dell'attività del tuo database relazionale. Se integrata con strumenti di monitoraggio delle attività del database di terze parti, puoi monitorare e controllare l'attività del database per salvaguardarlo e soddisfare i requisiti normativi e di conformità.

Database Activity Streams protegge il database dalle minacce interne implementando un modello di protezione che controlla l'accesso del DBA al flusso di attività del database. Perciò, la raccolta, la trasmissione, l'archiviazione e la successiva elaborazione del flusso di attività del database non sono accessibili ai DBA che gestiscono il database.

Il flusso viene inviato a un flusso di dati Amazon Kinesis creato per conto del tuo database. Tramite Kinesis Data Firehose, il flusso di attività del database può quindi essere utilizzato da Amazon CloudWatch o dalle applicazioni di partner per la gestione della conformità, come IBM Security Guardium. Le applicazioni di partner possono utilizzare le informazioni relative ai flussi di attività del database per generare avvisi e permettere il controllo di tutte le attività sul database Amazon Aurora.

Puoi saperne di più sull'utilizzo di flussi di Database Activity Stream leggendo la documentazione relativa alle edizioni di Aurora compatibili con PostgreSQL e MySQL e la documentazione relativa ad Amazon RDS per Oracle.

Conformità

Amazon RDS si impegna a offrire un solido quadro di conformità con strumenti e misure di sicurezza avanzate che i clienti possono utilizzare per valutare, soddisfare e dimostrare la conformità ai requisiti legali e alle normativi applicabili. I clienti devono esaminare il modello di responsabilità condivisa AWS e tracciare le responsabilità di Amazon RDS e dei clienti. I clienti possono anche utilizzare AWS Artifact per accedere ai report di controllo di RDS e condurre la valutazione delle responsabilità di verifica.

Per ulteriori informazioni, consulta la pagina sulla conformità di AWS.

Domande frequenti

I suggerimenti di Amazon RDS forniscono ai clienti linee guida sulle best practice mediante l'analisi di configurazione e parametri di utilizzo delle istanze database. I suggerimenti riguardano aree come sicurezza, crittografia, IAM e VPC. Sarà possibile leggere i diversi suggerimenti e ignorarli oppure eseguire le operazioni consigliate immediatamente o programmarle per la finestra di manutenzione successiva.

Amazon VPC ti consente di creare un ambiente di rete virtuale in una sezione isolata e privata del cloud AWS, dove potrai esercitare un controllo completo su elementi quali gli intervalli di indirizzi IP privati, le sottoreti, le tabelle di routing e i gateway di rete. Con Amazon VPC, potrai definire una topologia di rete virtuale e personalizzarne la configurazione in modo che sia simile a una rete IP tradizionale, che potrai gestire nel tuo data center.

Per esempio, puoi sfruttare VPC quando vuoi eseguire un'applicazione web rivolta al pubblico, mantenendo allo stesso tempo i server backend non accessibili al pubblico in una sottorete privata. Puoi creare una sottorete pubblica per i tuoi server Web, con accesso a Internet, e collocare le istanze database di Amazon RDS per il back-end in una sottorete privata senza accesso a Internet. Per ulteriori informazioni su Amazon VPC, consulta la Guida per l'utente di Amazon Virtual Private Cloud.

Se il tuo account AWS è stato creato prima del 04-12-2013, potresti riuscire a eseguire Amazon RDS in un ambiente Amazon Elastic Compute Cloud (EC2)-Classic. Le funzionalità di base di Amazon RDS sono le stesse, indipendentemente dall'eventuale utilizzo di Amazon Elastic Compute Cloud (EC2)-Classic o EC2-VPC. Sia che le istanze DB siano implementate all'interno o all'esterno di un VPC, Amazon RDS gestirà comunque i backup, l'applicazione di patch al software, il rilevamento automatico di errori, le repliche di lettura e il ripristino. Per informazioni sulle differenze tra EC2-Classic ed EC2-VPC, consulta la documentazione di EC2.

Un gruppo di sottoreti database è una raccolta di sottoreti che puoi configurare come istanze database di Amazon RDS in un VPC. Ogni gruppo di sottoreti DB dovrebbe disporre di almeno una sottorete per ogni zona di disponibilità in una determinata regione. Quando viene creata un'istanza DB in VPC, è necessario selezionare un gruppo di sottorete DB. Amazon RDS usa quindi quel gruppo e una zona di disponibilità a tua scelta per selezionare una sottorete e un indirizzo IP all'interno di quella sottorete. Amazon RDS crea un'interfaccia di rete elastica e la associa all'istanza database con quell'indirizzo IP.

Nota: consigliamo vivamente di usare il tuo nome DNS per collegarti alla tua istanza database, poiché l'indirizzo IP potrebbe variare (ad esempio, durante un failover).

Per le implementazioni multi-AZ, definire una sottorete per tutte le zone di disponibilità in una regione consente ad Amazon RDS di creare, in caso di necessità, un nuovo standby in un'altra zona di disponibilità. Questa operazione va effettuata anche per le implementazioni Single-AZ, in modo da poterle eventualmente convertire in implementazioni Multi-AZ in un secondo momento.

Per una procedura passo-passo del processo, consulta la sezione Creazione di un'istanza database nel VPC della Guida per l'utente di Amazon RDS.

Visita la sezione relativa ai gruppi di sicurezza della Guida per l'utente di Amazon RDS per scoprire tutte le modalità che hai a disposizione per controllare l'accesso alle tue istanze database.

È possibile accedere alle istanze database implementate all'interno di un VPC (cloud privato virtuale) tramite le istanze EC2 implementate nello stesso cloud. Se queste istanze EC2 sono distribuite in una sottorete pubblica con associato un IP elastico, è possibile accedervi tramite Internet. È possibile accedere ad istanze database implementate all'interno di un VPC da Internet o da istanze EC2 esterne al VPC, utilizzando una VPN o un host bastione che potrai avviare nella tua sottorete pubblica, o usando l'opzione Accessibile pubblicamente di Amazon RDS:

  • Per utilizzare un host bastione, è necessario configurare una sottorete pubblica con un'istanza EC2 che funga da bastione SSH. Questa sottorete pubblica deve disporre di un gateway Internet e di regole di routing che consentano di indirizzare il traffico tramite l'host SSH, che deve quindi inoltrare le richieste all'indirizzo IP privato della tua istanza DB Amazon RDS.
  • Per usare una connessione pubblica, è sufficiente creare un'istanza database con l'opzione Publicly Accessible impostata su Yes. Se l'opzione Publicly Accessible è attiva, le istanze DB all'interno di VPC sono completamente accessibili all'esterno del cloud privato virtuale per impostazione predefinita. Non è quindi necessario configurare una VPN o un bastion host per accedere alle istanze. 

È anche possibile configurare un gateway VPN che estenda la rete aziendale all'interno di VPC, consentendo così l'accesso all'istanza database di Amazon RDS all'interno del cloud privato virtuale. Per ulteriori informazioni, consulta la Guida per l'utente di Amazon VPC.

Consigliamo vivamente di usare il tuo nome DNS per collegare l'istanza database, perché l'indirizzo IP può variare (ad esempio, durante un failover).

Se l'istanza DB non si trova all'interno di un VPC, puoi usare la Console di gestione AWS per trasferire l'istanza all'interno di VPC. Per maggiori dettagli, consulta la Guida per l'utente di Amazon RDS. Puoi anche creare uno snapshot di un'istanza DB fuori dal cloud privato virtuale e ripristinarla all'interno di VPC specificando il gruppo di sottorete di database che desideri impiegare. In alternativa, puoi usare la funzionalità "Restore to Point in Time".

La migrazione di istanze database dall'interno all'esterno del VPC non è supportata. Per motivi di sicurezza, uno snapshot DB di un'istanza DB all'interno di VPC non può essere ripristinato all'esterno di VPC. Lo stesso vale per la funzionalità "Restore to Point in Time". 

Devi modificare le tabelle di routing e le reti ACL nel VPC per assicurarti che l'istanza database sia raggiungibile dalle istanze client nel VPC. Per le implementazioni multi-AZ, dopo un failover, l'istanza EC2 client e l'istanza database di Amazon RDS potrebbero trovarsi in zone di disponibilità differenti. Le liste di controllo degli accessi di rete devono essere configurate in modo che consentano la comunicazione tra diverse zone di disponibilità.

Un gruppo di sottorete di database esistente può essere aggiornato aggiungendo altre sottoreti sia per zone di disponibilità esistenti sia per nuove zone di disponibilità aggiunte dopo la creazione dell'istanza DB. La rimozione di sottoreti da un gruppo di sottoreti DB esistente può provocare interruzioni della disponibilità per le istanze in esecuzione in una specifica zona di disponibilità AZ rimossa dal gruppo di sottoreti. Per maggiori dettagli, consulta la Guida per l'Utente di Amazon RDS.

Per iniziare a usare Amazon RDS, è necessario disporre di un account sviluppatore di AWS. Se non ne hai già uno al momento di registrarti per Amazon RDS, ti verrà chiesto di crearlo all'inizio della procedura di registrazione. Un account utente master è diverso da un account sviluppatore di AWS e viene utilizzato esclusivamente nel contesto di Amazon RDS per controllare gli accessi alle tue istanze database. L'account utente master è un account utente di database nativo da usare per connettersi alle istanze database. 

Puoi specificare il nome utente master e la password che desideri associare a ciascuna istanza database nel momento in cui viene creata. Una volta creata l'istanza database, puoi connetterti al database utilizzando le credenziali di utente master. Potrai quindi anche creare account utente aggiuntivi in modo da restringere l'accesso all'istanza database.

Per MySQL, i privilegi di default dell'utente master includono: creazione, rimozione di associazione, riferimenti, evento, modifica, eliminazione, creazione dell'indice, inserimento, selezione, aggiornamento, creazione di tabelle temporanee, blocco di tabelle, attivazione, creazione di visualizzazione, apertura di visualizzazione, modifica di routine, creazione di routine, esecuzione, creazione di utente, processo, apertura database, opzione di concessione.

Per Oracle, l'utente master riveste il ruolo di "dba". L'utente master eredita la maggior parte dei privilegi associati a tale ruolo. Consulta la Guida per l'utente di Amazon RDS per un elenco di privilegi limitati e alternative correlate per eseguire operazioni a livello di amministratore che potrebbero richiedere tali privilegi.

Per SQL Server, un utente che crea un database riceve il ruolo di "db_owner". Consulta la Guida per l'utente di Amazon RDS per un elenco di privilegi limitati e alternative correlate per eseguire operazioni a livello di amministratore che potrebbero richiedere tali privilegi.

No, il funzionamento è analogo alla gestione di un comune database relazionale.

Sì. È necessario abilitare l'accesso al tuo database tramite Internet configurando i gruppi di sicurezza. È possibile autorizzare l'accesso solo a indirizzi IP specifici, a intervalli di indirizzi IP o a sottoreti corrispondenti ai server del data center in uso.

Sì, l’opzione è supportata da i tutti i motori Amazon RDS. Amazon RDS genera un certificato SSL/TLS per ogni istanza database. Una volta stabilita la connessione crittografata, i dati trasferiti tra l'istanza database e l'applicazione saranno crittografati durante la trasmissione. Il protocollo SSL offre notevoli vantaggi dal punto di vista della sicurezza, ma va ricordato che la crittografia SSL/TLS richiede notevoli risorse di calcolo e provocherà pertanto un aumento della latenza alla connessione del database. Il supporto per il protocollo SSL/TLS in Amazon RDS prevede la crittografia della connessione tra l'applicazione e l'istanza DB; sconsigliamo di utilizzarlo per l'autenticazione dell'istanza DB.

Per informazioni su come stabilire una connessione crittografata con Amazon RDS, consulta la Guida per l'utente di MySQL, la Guida per l'utente di MariaDB, la Guida per l'utente di PostgreSQL Server o la Guida per l'utente di Oracle.

Amazon RDS supporta la crittografia dei dati a riposo per tutti i motori di database, utilizzando le chiavi gestite attraverso il Sistema AWS di gestione delle chiavi (KMS). Su un'istanza database in esecuzione con crittografia Amazon RDS, i dati salvati a riposo nello storage vengono criptati, così come i backup, le repliche di lettura e gli snapshot. La crittografia e la decrittografia sono gestite in modo trasparente. Per ulteriori informazioni sull'uso di KMS con Amazon RDS, consulta la Guida per l'utente di Amazon RDS.

Puoi anche aggiungere la crittografia a un'istanza DB o un cluster DB precedentemente decrittati creando un’istantanea DB e poi creando una copia dell’istantanea e specificando la chiave crittografica KMS. A questo punto puoi ripristinare un'istanza database o un cluster database crittografati dallo snapshot crittografato.

Amazon RDS per Oracle e SQL Server supportano le tecnologie di Transparent Data Encryption (TDE) dei relativi motori. Per ulteriori informazioni, consulta le sezioni della Guida per l'utente di Amazon RDS per Oracle e SQL Server.

No, un'istanza Oracle su Amazon RDS non può essere integrata con AWS CloudHSM. Per utilizzare la crittografia trasparente dei dati (TDE) con AWS CloudHSM, il database Oracle deve essere installato su Amazon EC2.

Puoi controllare quali operazioni sono consentite agli utenti e ai gruppi IAM AWS sulle risorse Amazon RDS. Per farlo, seleziona le risorse Amazon RDS nelle policy IAM di AWS che desideri applicare agli utenti o ai gruppi. Le risorse Amazon RDS che è possibile selezionare all'interno di una policy IAM di AWS includono istanze database, snapshot database, repliche di lettura, gruppi di sicurezza database, gruppi di opzioni database, gruppi di parametri database, abbonamenti correlati a eventi e gruppi di sottoreti database. 

Inoltre, è possibile applicare tag a queste risorse aggiungendovi metadati. Con l’applicazione dei tag, è possibile i suddividere le risorse in categorie (ad esempio istanze DB di "Sviluppo", istanze DB di "Produzione", istanze DB di "Test", ecc.) e policy IAM di AWS in scrittura che elenchino le autorizzazioni (ovvero le azioni) relative alle risorse contrassegnate con gli stessi tag. Per ulteriori informazioni, consulta Applicazione di tag alle risorse Amazon RDS.

Sì. AWS CloudTrail è un servizio Web che registra le chiamate alle API AWS e fornisce i relativi file di registro. Lo storico delle chiamate API AWS creato da CloudTrail rende possibile analisi di sicurezza, monitoraggio delle modifiche alle risorse e audit di conformità. 

Sì, tutti i motori di database Amazon RDS sono idonei per HIPAA, quindi è possibile usarli per costruire applicazioni conformi allo standard HIPAA e archiviare informazioni sanitarie, fra cui i dati sanitari protetti (PHI) da un contratto di società in affari (BAA) stipulato con AWS.

Se è già stato stipulato un contratto BAA, non è necessaria alcuna operazione per iniziare a usare questi servizi negli account coperti dal contratto BAA. Se non è ancora stato stipulato un contratto BAA con AWS, oppure per qualsiasi altra domanda in merito alle applicazioni conformi allo standard HIPAA in AWS, contattaci
il tuo account manager.

  • Imperva

    La protezione dei dati Imperva prende i feed dagli eventi AWS Database Activity Streams (DAS), così come da varie altre fonti AWS, aggiungendo un contesto di sicurezza attraverso analisi potenti e appositamente progettate. Imperva rileva attività dannose, comportamenti evasivi e uso improprio dei privilegi che potrebbero essere indicatori di account compromessi ed elementi di minaccia interna. Ulteriori vantaggi includono l'esplorazione interattiva dei dati, una ricca automazione pronta all'uso e una risposta integrata tramite playbook che riducono il TCO e colmano le lacune di competenze che la maggior parte delle aziende deve affrontare quando passa al cloud". — Dan Neault, SVP e GM, Data Security BU, Imperva.

    Per saperne di più, visita la pagina sulla sicurezza dei dati di Imperva. »
  • IBM

    IBM Security® Guardium® Data Protection aiuta a garantire la sicurezza, la privacy e l'integrità dei dati critici in una gamma completa di ambienti, dai database ai big data, ibridi/cloud, file system e altro ancora. Siamo entusiasti di integrarci con AWS Database Activity Streams (DAS). Questa integrazione offrirà ai nostri clienti congiunti una visibilità quasi in tempo reale sull'attività del database e consentirà loro di identificare rapidamente le minacce e adottare un approccio coerente e strategico alla protezione dei dati in ambienti on-premise e cloud". — Benazeer Daruwalla, Offering Manager, Data Protection Portfolio, IBM Security.

    Per saperne di più, visita la pagina sulla sicurezza di IBM. »