Come Integrare DataSunrise con AWS Database Activity Streams per Ottenere i Risultati degli Audit per AWS Aurora PostgreSQL
Panoramica dei Metodi di Audit delle Attività del Database
Oggi, l’audit del database diventa sempre più importante a causa di numerose leggi e regolamenti dedicati alla protezione dei dati sensibili come GDPR, KVKK, ecc.
Tecnicamente, esistono molti metodi di audit del database, i più popolari sono:
- Proxy del traffico del database;
- Ascolto passivo del traffico del database;
- Lettura dei log raccolti dagli strumenti di audit nativi del database;
- Integrazione con servizi di audit dedicati come AWS DAS.
Ogni approccio ha i propri pro e contro, limitazioni e opportunità. Gli utenti di Amazon potrebbero trovare gli ultimi due approcci più adatti alle loro esigenze. Questi metodi consentono agli utenti di AWS di notificare il personale di sicurezza su eventi specifici del database, creare rapporti sull’attività nel cluster Aurora PG, ecc.
AWS Database Activity Streams (DAS) forniscono uno stream quasi in tempo reale dell’attività nel tuo cluster DB e ti offrono i seguenti vantaggi rispetto ai meccanismi di log nativi del database (funzionalità di DataSunrise per trails DB di audit log):
- Il processo di configurazione di DAS è molto più semplice rispetto alla configurazione dei “trails” regolari basati su file di log. Inoltre, non hai bisogno di spazio extra per l’archiviazione dei log;
- Aumentata protezione contro le minacce interne: gli amministratori del database non hanno accesso alla raccolta, trasmissione, archiviazione e elaborazione dei flussi di attività del database;
- DAS offre maggiore flessibilità rispetto ai “trails” regolari grazie alle modalità Sincrona e Asincrona disponibili.
Il maggior svantaggio di DAS è la sua incompatibilità con alcune classi di istanze RDS e versioni di Amazon Aurora.
Il seguente diagramma mostra un cluster Aurora PG integrato con DataSunrise:
Qui, un cluster Aurora PG con DAS abilitato. Aurora invia dati sull’attività del database a AWS Kinesis. I flussi di attività sono crittografati utilizzando una chiave di crittografia AWS KMS. Kinesis a sua volta trasmette i flussi di attività del database a DataSunrise utilizzato come strumento di monitoraggio del database. DataSunrise consuma i flussi e salva i risultati dell’audit nel proprio storage di Audit. Gli eventi del database catturati sono quindi visualizzati nella sezione Trails Transazionali della Web Console di DataSunrise.
Prerequisiti per il Cluster Aurora PG
Prima di configurare DAS, assicurati che il tuo ambiente AWS rispetti i seguenti requisiti.
Versioni del database Aurora PostgreSQL supportate:
- Tutte le versioni 13
- Tutte le versioni 12
- Versione 11.6 e versioni superiori 11
- Versione 10.11 e versioni superiori 10
Classi di Istanza AWS RDS supportate:
- db.r6g
- db.r5
- db.r4
- db.x2g
I flussi di attività del database sono supportati in tutte le Regioni AWS eccetto le seguenti:
- Regione Cina (Pechino), cn-north-1
- Regione Cina (Ningxia), cn-northwest-1
- AWS GovCloud (US-East), us-gov-east-1
- AWS GovCloud (US-West), us-gov-west-1
Varie:
- DAS richiede l’uso di AWS Key Management Service (AWS KMS). AWS KMS è necessario perché i flussi di attività sono sempre crittografati
- I flussi di attività del database richiedono l’uso di Amazon Kinesis
Creazione di una Chiave AWS KMS
Poiché i flussi di attività sono sempre crittografati, è necessario usare una chiave di crittografia. Aurora usa la chiave KMS per crittografare la chiave che a sua volta crittografa l’attività del database. Se non hai una chiave KMS, creala.
Accedi a Key Management System (KMS) di AWS, clicca su Create a Key. Imposta le seguenti opzioni per la tua chiave:
- Key Type: Symmetric
- Key Material Origin: KMS
- Regionality: Single-region key
- Key Policy: predefinita
Leggi di più: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html
Avvio di DAS per il tuo Cluster Aurora PG
Dopo aver preparato l’ambiente RDS Aurora PG, puoi avviare i flussi di attività del database.
Accedi a RDS Managed Relational Database Service (RDS), seleziona Databases, scegli il cluster DB per il quale abilitare un flusso di attività, clicca su Actions -> Start Database Activity Stream:
Configura DAS nel seguente modo:
- Master Key: la tua chiave KMS
- Database Activity Stream Mode: Asynchronous o Synchronous. Raccomandiamo di usare la modalità Synchronous perché privilegia l’accuratezza del flusso di attività rispetto alle prestazioni del database. La differenza tra queste due modalità puoi trovarla qui.
- Apply Immediately: se applicare le modifiche immediatamente o su pianificazione.
- Puoi accedere al flusso nella sezione Configurazione delle impostazioni del tuo cluster (Database Activity Stream -> Kinesis Stream): Leggi di più: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Enabling.html
Configurazione dell’Audit Basato su DAS in DataSunrise
Dopo aver avviato DAS per il tuo cluster Aurora, puoi procedere alla configurazione di DataSunrise per consumare i flussi di attività del database.
Per abilitare DataSunrise a lavorare con DAS, il tuo utente IAM ha bisogno di accesso ad alcune funzionalità di Kinesis, KMS e RDS. Per concedere i permessi necessari, accedi a Identity and Access Management (IAM) -> Users, e allega la seguente policy al tuo Utente:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "Kinesis:DescribeStreamSummary", "Kinesis:ListShards", "Kinesis:GetShardIterator", "Kinesis:GetRecords", "Kinesis:DescribeStreamSummary", "KMS:Decrypt", "RDS:DescribeDBClusters"], "Resource": [""," "," "] } ] }
Crea una nuova Istanza del Database Aurora PG o usa una esistente. Apri la Web Console di DataSunrise e accedi a Configuration -> Databases.
- Fornisci i dettagli di connessione per il tuo database Aurora PG. Specifica l’endpoint del tuo cluster Aurora PG nel campo Host;
- Nella sezione Capture Mode della pagina dell’istanza, seleziona Trailing the DB Audit Logs dal menu a discesa Mode;
- Nel menu a discesa Format Type, seleziona Database Activity Stream;
- Compila tutti i campi richiesti. Salva l’istanza.
Crea una regola di audit per la tua istanza Aurora PG: accedi a Audit -> Rules e crea una Regola
Per i risultati dell’audit, accedi a Audit -> Transactional Trails. Nota che i risultati potrebbero apparire con un ritardo di circa 5-10 minuti.
Puoi anche regolare l’audit basato su DAS di DataSunrise cambiando i seguenti parametri (System Settings -> Additional Parameters):
- TrailDASIntervalTime: periodo di tempo per ottenere un elenco di eventi (es. per gli ultimi 5 minuti a partire dall’ultimo record);
- TrailDASOffsetTime: ritardo per ottenere gli eventi (necessario per la sincronizzazione, secondi).