Audit delle Azioni Amministrative nel Suo Oracle RDS e EC2
Prefazione
Amazon Relational Database Service (Amazon RDS) è un servizio web che semplifica la configurazione, la gestione e la scalabilità di un database relazionale nel Cloud AWS. Esso fornisce una capacità ridimensionabile e a costi contenuti per un database relazionale standard del settore e gestisce le normali attività di amministrazione del database.
DataSunrise è un AWS Advanced Technology Partner certificato nella competenza in Sicurezza per la Protezione e Cifratura dei Dati, unitamente ad altre qualifiche validate da AWS. DataSunrise può essere eseguito on-premises oppure su una istanza EC2, o come cluster su più istanze EC2, in una macchina virtuale o su bare-metal. DataSunrise Data and Database Security Suite (DataSunrise) per tutti i tipi di Amazon RDS agisce come un firewall applicativo per il database (DAF) e come un man-in-the-middle per tutte le sessioni, query e comandi da qualsiasi client verso un’istanza Amazon RDS. E poiché DataSunrise è un software e non una soluzione SaaS, Lei è responsabile di configurare e impostare correttamente la Sua istanza DataSunrise.
L’obiettivo principale di questo articolo è illustrare l’approccio su come effettuare l’audit dell’attività degli account privilegiati. Vedremo come configurare DataSunrise per monitorare l’attività dei DBA in Oracle RDS. Tuttavia, tutti i passaggi generali si applicano a qualsiasi istanza Amazon RDS.
Panoramica di Oracle RDS e prerequisiti
Come probabilmente Lei sa, Amazon RDS supporta l’accesso ai database utilizzando qualsiasi applicazione client SQL standard e non consente un accesso diretto al sistema host tramite SSH, ecc. Questa architettura non permette l’installazione di agenti per il database in Amazon RDS e limita l’utilizzo di potenti privilegi da DBA come SYSDBA. Amazon RDS adotta un modello di responsabilità condivisa che esclude l’intervento umano diretto sulla piattaforma di elaborazione. Tuttavia, con Amazon RDS, Lei può eseguire le Sue attività in modalità leggermente diversa e in maniera unificata. Ad esempio, il DBA può accedere ai log del database o eseguire il backup delle istanze Amazon RDS tramite AWS Management Console, AWS CLI o le API RDS. D’altra parte, non è possibile accedere ad Amazon RDS utilizzando connessioni SSH o RDP per attività correlate al database o al sistema operativo (ed eventualmente dannose). Pertanto, tenga presente che, disponendo del ruolo IAM appropriato, Lei può modificare e gestire la Sua istanza Amazon RDS per soddisfare i requisiti del Suo sistema senza connettersi ad Amazon RDS tramite SSH/RDP.
Un aspetto importante riguarda i privilegi/ruoli Oracle SYSDBA e simili. Il ruolo SYSDBA è assegnato esclusivamente all’utente RDSADMIN (AWS utilizza l’utente OS “rdshm”) e la password di RDSADMIN è sconosciuta. Inoltre, in Oracle RDS non è possibile conoscere la password dell’utente SYS. Tutto ciò implica che:
- non può connettersi al Suo Oracle RDS utilizzando l’utente RDSADMIN o SYS;
- gli utenti del Suo database non possono ottenere il privilegio SYSDBA o altri ruoli potenti di Oracle Database;
- non può connettersi in remoto all’istanza Oracle RDS utilizzando SYSDBA o altri ruoli potenti di Oracle Database.
Questi privilegi limitati garantiscono e proteggono ogni singola istanza RDS. Oracle RDS crea per Lei un utente DBA con privilegi limitati (ad esempio l’utente “admin” per impostazione predefinita) in modo da poter connettersi all’istanza Oracle RDS utilizzando questo utente. Successivamente, potrà creare un altro utente e questo nuovo utente non otterrà privilegi superiori a quelli dell’utente “admin”. Ancora una volta, ciò è dovuto al modello di responsabilità condivisa adottato da AWS. Il team di Amazon RDS ha tracciato questa linea rossa che non può essere superata.
La configurazione di Oracle RDS è al di fuori dell’ambito di questo articolo e, per continuare con i passaggi successivi, Lei dovrà disporre di un’istanza Oracle RDS attiva e speriamo che possa avviare un nuovo Oracle RDS oppure ha già accesso a un’istanza Oracle RDS esistente. Se desidera conoscere le best practices per la gestione di Oracle RDS, La invitiamo a consultare la documentazione AWS.
Nella prossima sezione vedremo cosa è disponibile per l’audit dell’attività dei DBA.
Attività dei DBA su Oracle RDS e opzioni di audit
Le limitazioni delle istanze RDS sollevano molte domande su come monitorare azioni specifiche dei DBA, come ALTER SYSTEM, CREATE USER, DROP DATABASE, ecc. E come può Lei eseguire l’audit degli utenti interni a RDS come RDSADMIN? Bene, esaminiamo tutte le opzioni disponibili.
- Può visualizzare l’attività interna di RDS utilizzando Amazon RDS Database Log Files. Può visualizzare, scaricare e monitorare i log del database utilizzando la console Amazon RDS, l’AWS Command Line Interface (AWS CLI) oppure l’API Amazon RDSAPI Amazon RDS. Amazon offre il servizio di Point-In-Time Recovery e afferma che RDS carica i log delle transazioni per le istanze DB su Amazon S3 ogni 5 minuti. Quindi, i Database Log Files e il servizio CloudTrail La assistono nell’analisi dell’attività dell’utente RDSADMIN insieme ad ulteriori informazioni sugli eventi di Oracle RDS. Tutte queste opzioni sono valide finché non necessita di un monitoraggio in tempo reale delle transazioni e di un sistema di allerta.
- Con istanze DAF in esecuzione su VM EC2 separate, è possibile monitorare tutte le sessioni e query che transitano verso la Sua istanza Amazon RDS. Lo scopo delle istanze DAF è fungere da guardiano per il database e, poiché Lei necessita di monitorare l’attività dei DBA, esamineremo questa opzione in dettaglio più avanti. Le istanze DataSunrise su box EC2 sono in grado di monitorare e proteggere l’attività di rete verso Amazon RDS.
Panoramica di DataSunrise su AWS e prerequisiti
L’impostazione e la configurazione di istanze DataSunrise sicure implicano diversi passaggi importanti. Per preparare la Sua istanza DataSunrise sicura nell’ambiente AWS, La invitiamo a seguire i passaggi descritti nel nostro documento DataSunrise AWS Security Best Practices. Per citare alcuni passaggi:
- assegnare i ruoli IAM appropriati alle istanze EC2 su cui risiedono le istanze DataSunrise;
- creare e assegnare i VPC Security Group alla Sua istanza Amazon RDS e alle istanze EC2 che eseguono il software DataSunrise;
- utilizzare password sicure e uniche per ogni account.
L’architettura qui sotto è composta da un’istanza di database (RDS o su istanza EC2) posta dietro un DAF, un database separato di Audit Storage (RDS o su istanza EC2) e un’istanza DataSunrise che funge da server proxy per le connessioni degli utenti.

Come opzione, DataSunrise fornisce script CloudFormation per il deployment in AWS di soluzioni di sicurezza per database sicure e a costi contenuti. In seguito alla creazione della Sua istanza Amazon RDS, questi script automatizzano tutti i passaggi necessari per il deployment delle istanze EC2, l’installazione di DataSunrise su tali istanze EC2, la configurazione di un Amazon Load Balancer nonché la creazione di tutte le altre risorse AWS richieste. Salteremo l’opzione CloudFormation e proseguiremo con uno scenario a istanza EC2 singola. Abbiamo preparato dei video su come installare un’istanza DataSunrise; La invitiamo a visionare uno di tali video e a seguire i passaggi richiesti:
- Installazione di DataSunrise su Linux Installazione di DataSunrise su Linux — YouTube
- Installazione di DataSunrise su Windows Installazione di DataSunrise su Windows — YouTube
Al termine del processo di installazione, la Sua istanza DataSunrise dovrebbe essere accessibile dal Suo browser web. Dovrà disporre di un’istanza DataSunrise attiva e funzionante affinché possa accedere alla Web Console di DataSunrise con i privilegi richiesti.
Il prossimo prerequisito è la Configurazione del Database che dovrà creare nell’istanza DataSunrise per avviare un proxy per Amazon RDS. La invitiamo a consultare la Guida Utente di DataSunrise, nelle sezioni “3.1 Creating a Target Database Profile and a Proxy” e “5.1.6 Creating Database Users Required for Getting the Database’s Metadata”. Poiché DataSunrise in modalità proxy agisce come un man-in-the-middle intercettando tutti i pacchetti TCP non AWS verso l’istanza Amazon RDS, può utilizzare la stessa porta standard di Oracle Database (1521), dato che l’istanza DataSunrise è eseguita su un’altra istanza EC2. Infine, si assicuri che la Sua istanza Amazon RDS NON sia accessibile da alcun altro IP/nome e porta non AWS, se non attraverso l’istanza DataSunrise. Tutti questi passaggi garantiranno che tutte le applicazioni client possano accedere all’istanza Oracle RDS esclusivamente tramite l’istanza DataSunrise.
Configurare DataSunrise per l’audit dei DBA
Come menzionato in precedenza, al momento della creazione del Suo Oracle RDS riceverà un account DBA con privilegi limitati e la relativa password; per impostazione predefinita Oracle RDS fornisce l’utente “admin” per accedere alla Sua istanza. E, come ricorderà, Amazon RDS disabilita il privilegio SYSDBA per Lei. Ciò riduce le possibili aree di rischio per l’istanza Amazon RDS. Se il Suo Oracle RDS è accessibile dal Suo computer desktop, provi a connettersi al Suo Oracle RDS come SYSDBA per verificarne l’impossibilità, come mostrato nell’esempio seguente.

Noterà che in Oracle RDS non sono disponibili né SYSDBA, né SYSOPER, né altri privilegi correlati a SYS, sia utilizzando TCP che SSH.
Di conseguenza, Lei deve provvedere a monitorare le connessioni di rete – connessioni remote utilizzando lo strumento appropriato, come DataSunrise DAF. Configureremo l’istanza DataSunrise per catturare qualsiasi tipo di azione che i Suoi DBA possano eseguire in remoto sull’istanza Amazon RDS.
Riepilogo dei passaggi successivi
Per monitorare le azioni dei DBA, eseguiremo i seguenti passaggi:
- Identificare i nomi/account degli utenti DBA. DataSunrise memorizza gli Utenti del Database nel suo menu di Configurazione. Se dispone di più DBA, crei un nuovo Gruppo Utenti del Database sotto Configurazione → Database Users. Nel nostro esempio utilizzeremo il DBA denominato “admin” generato dalla nostra istanza Oracle RDS.
- Utilizzando Configurazione → Object Groups, crei un nuovo elemento e aggiunga un singolo elemento con l’espressione regolare “.*”.
- Crei una nuova Regola di Audit per includere il Gruppo Utenti del Database e il Gruppo Query per monitorare l’attività dei DBA.
- Verifichi l’attività dei DBA nell’istanza DataSunrise.
1. Identificare e configurare i Suoi utenti DBA in DataSunrise
Procediamo con i passaggi. In primo luogo, nel menu Configurazione → Database Users, verifichi che l’utente “admin” sia presente nell’istanza DataSunrise. Se DataSunrise non lo possiede, crei manualmente l’utente “admin”. Se dispone di più istanze Oracle RDS in cui viene utilizzato lo stesso nome utente DBA “admin”, può selezionare l’istanza <Any>. Non dimentichi di cliccare sul pulsante Salva per memorizzare le impostazioni in ogni pagina.

Nell’immagine sopra, abbiamo creato l’utente ADMIN e l’abbiamo inserito nel gruppo DBA Team. Se ha creato più utenti DBA, Li preghiamo di aggiungerli al Gruppo Utenti “Oracle DBA Team” nell’istanza DataSunrise.
2. Configurare un nuovo Gruppo Query
Secondo passaggio – creeremo il nuovo Gruppo Query “AnyQuery” e aggiungeremo un solo elemento “.*” nell’item Query. Veda le impostazioni nell’immagine seguente.

Quando crea una nuova Query per il Gruppo Query (vedi pulsante “Aggiungi” nell’immagine), si assicuri di spuntare la casella “Regular Expression”.
A questo punto, ha registrato l’utente del database “ADMIN”, il gruppo utenti “Oracle DBA Team” nell’istanza DataSunrise e il nostro Gruppo Query “AnyQuery” con una Query che utilizza il pattern di espressione regolare “.*” per corrispondere a qualsiasi query. Siamo a metà del percorso.
3. Creare e configurare una nuova Regola di Audit
Successivamente, creeremo una nuova Regola di Audit denominata “Oracle: admin queries” utilizzando quanto configurato nell’istanza DataSunrise. Acceda alla Web Console e vada in Audit → Rules. Clicchi su Crea per creare la nuova regola. Veda i dettagli nelle immagini seguenti.

Utilizzerà le schede Filter Statements e Query Group nella pagina per collegare la regola alle impostazioni definite in precedenza, come illustrato nelle immagini seguenti.

Quando seleziona il gruppo “Oracle DBA Team” per il parametro di sessione DB User Group, DataSunrise cattura ogni sessione da qualsiasi IP/host il cui nome utente sia presente nella lista “Oracle DBA Team”. Quando aggiunge un ulteriore utente a questo gruppo, la regola lo includerà automaticamente. E poiché utilizza la scheda Query Group nella pagina della Regola di Audit ed ha selezionato “AnyQuery”, DataSunrise controllerà ogni espressione o query eseguita dal Suo team DBA. Successivamente, potrà visualizzare questi eventi in Audit → Transactional Trails.
Inoltre, facoltativamente, può inviare i dettagli degli eventi di audit a un SIEM esterno utilizzando il protocollo Syslog oppure inviare alert ad altri sistemi esterni (SMTP/email, Jira, ZenDesk, messaggeria istantanea). Per configurare la connessione a un server compatibile con Syslog, vada in Configurazione → Syslog Settings e configuri le impostazioni richieste. Veda “7.7 Syslog Settings (CEF Groups)” e “10.6 Syslog Integration Settings” nella nostra Guida Utente per maggiori dettagli. Per inviare alert a destinatari diversi da Syslog, aggiunga nuovi elementi in Subscribers (Web Console: Configurazione → Subscribers → Aggiungi Server…). Può trovare ulteriori informazioni sui Subscribers nella sezione “7.5 Subscriber Settings” della Guida Utente di DataSunrise. Successivamente, potrà utilizzare le impostazioni Syslog e/o i Subscribers nelle regole di DataSunrise; veda le sezioni corrispondenti nelle Guide Utente e Amministrative di DataSunrise. Non dimentichi di cliccare sul pulsante Salva nella pagina della Regola di Audit per memorizzare le nuove impostazioni.
In questo modo, ha selezionato i tipi di query da monitorare (ed eventualmente per notificare alcune persone tramite alert) per una specifica istanza Amazon RDS o per più istanze, se seleziona l’elemento “<ANY>” nel menu Instance della pagina della regola. Esistono diverse opzioni per escludere dall’audit query tipiche, come quelle degli strumenti DBMS; per ulteriori informazioni, veda la sezione “6.4.2 Query Group Filter” della Guida Utente di DataSunrise in relazione al parametro Skip Group of Query delle regole.
4. Verificare l’attività dei DBA nell’istanza DataSunrise
Per verificare che la nuova Regola di Audit stia catturando le query, eseguirà le query CREATE USER e DROP USER utilizzando lo strumento Oracle SQL Developer. Ci si connetterà all’istanza Oracle RDS tramite l’istanza DataSunrise.

Dopo di che, potrà verificare le Transactional Trails nell’istanza DataSunrise.
Poiché ha impostato l’opzione Log Event in Storage nella Regola di Audit, potrà trovare tali eventi su

nella pagina Audit → Transactional Trails della Web Console della Sua istanza DataSunrise.
Note su EC2 con istanza Oracle Database
Vi sono alcune considerazioni sull’utilizzo delle istanze di database su istanze Amazon EC2 in combinazione con DataSunrise. Poiché Lei configura e gestisce queste istanze, per qualche motivo potrebbe consentire connessioni locali (SSH, RDP, ecc.) oppure connessioni remote (TCP per il database) che bypassano l’istanza DataSunrise (o il Suo Load Balancer). Tutte queste connessioni devono essere rigorosamente limitate per garantire il massimo livello di sicurezza e gestione. Nel Suo VPC, raccomandiamo di implementare regole rigorose utilizzando Security Groups e Network ACLs. L’obiettivo di tali restrizioni è eliminare l’accesso diretto alla Sua istanza di database da qualsiasi IP o rete, consentendo l’accesso unicamente alla porta del database tramite l’istanza DataSunrise su EC2.
I passaggi successivi sono descritti nella sezione “Configuring DataSunrise settings” di questo articolo. E poiché probabilmente si sta ancora chiedendo come monitorare i potenzialmente dannosi ruoli SYSDBA (e simili), esamineremo le capacità di audit di DataSunrise per assisterLa in questo compito.
A partire da DataSunrise 6.2, è possibile includere parametri di sessione nelle condizioni di Filter Sessions. Di seguito, la nostra Regola di Audit include la condizione per monitorare i privilegi SYSDBA e simili, oltre al gruppo utenti Oracle DBA Team in DB User Group. Supponiamo di aver configurato l’istanza DataSunrise per proteggere Oracle Database in esecuzione su un’istanza EC2 e che non vi siano altri modi per connettersi al server del database se non tramite l’istanza DataSunrise in modalità proxy.

Poiché il nostro DAF protegge Oracle Database su EC2, proveremo a connetterci a Oracle tramite il proxy DataSunrise. Nelle immagini seguenti, ci connetteremo al database utilizzando Oracle SQL Developer tramite l’istanza DataSunrise e utilizzeremo il nome utente “sys” con il ruolo SYSDBA. Abbiamo predisposto l’istanza Oracle Database affinché tale connessione sia consentita. Veda il risultato del test di connessione nell’immagine seguente.

Se il test risulterà con stato Success, potrà eseguire alcune query nello stesso modo descritto nella sezione “Configurare DataSunrise per l’audit dei DBA”. Oracle SQL Developer eseguirà le query tramite l’istanza DataSunrise. Successivamente, nella Web Console di DataSunrise, potrà controllare Audit → Transactional Trail oppure Session Trails per visualizzare tutte le query e sessioni dell’utente “sys”. La Regola di Audit cattura l’utente del database “sys” nonostante questo utente non sia presente nella lista del gruppo “Oracle DBA Team” precedentemente creato nell’istanza DataSunrise. Aprendo Audit → Session Trail e selezionando un determinato elemento, vedrà che l’istanza DataSunrise registra dettagli relativi ai ruoli di Oracle Database, oltre ad altre informazioni utili.

In questo modo, ha configurato l’istanza DataSunrise per monitorare qualsiasi attività dei DBA, inclusi i privilegi di sistema SYSDBA e simili offerti da Oracle Database.
Conclusione
Abbiamo visto che Oracle RDS richiede meno sforzo per proteggere l’istanza Oracle Database e monitorare l’attività dei DBA. Su istanze EC2, invece, è necessario rimboccarsi le maniche e configurare i parametri di sessione; grazie a DataSunrise versione 6.2, è inoltre possibile eseguire l’audit dei ruoli incorporati in Oracle Database. Per ulteriori informazioni, La invitiamo a consultare la Guida Utente di DataSunrise e le referenze allegate.
Riferimenti
Panoramica di Amazon RDS
AWS RDS – Panoramica sull’istanza DB
DataSunrise Inc. e AWS
DataSunrise Security per Amazon RDS
Panoramica dei Database Log Files di Amazon RDS
AWS RDS – Panoramica sui Log del Database
Servizio AWS Point-In-Time Recovery
AWS RDS – Point-In-Time Recovery
DataSunrise AWS Security Best Practices
DataSunrise – AWS Security Best Practices
DataSunrise supporta AWS CloudFormation
DataSunrise – Supporto AWS CloudFormation
DataSunrise su AWS Marketplace
DataSunrise – Profilo AWS Marketplace
Manuale Oracle Database sui privilegi di sistema SYSDBA e SYSOPER
Oracle Database – Privilegi SYSDBA e SYSOPER
Guida Utente di DataSunrise