Audit delle Azioni Amministrative nel Tuo Oracle RDS e EC2
Prefazione
Amazon Relational Database Service (Amazon RDS) è un servizio web che facilita la configurazione, l’esecuzione e la scalabilità di un database relazionale nel Cloud AWS. Offre capacità ridimensionabile e a basso costo per un database relazionale standard e gestisce i comuni compiti di amministrazione dei database.
DataSunrise è un AWS Advanced Technology Partner certificato per la competenza nella Sicurezza in Protezione dei Dati e Crittografia insieme ad altre qualificazioni convalidate da AWS. DataSunrise può funzionare on-premises o su una macchina EC2 o come cluster su più istanze EC2, in una macchina virtuale o su bare-metal. DataSunrise Data e Database Security Suite (DataSunrise) per tutti i tipi di Amazon RDS agisce come un firewall per applicazioni di database (DAF) e funge da intermediario per tutte le sessioni, query e comandi da qualsiasi client verso l’istanza Amazon RDS. E dato che DataSunrise è il software e non una soluzione SaaS, spetta a Lei configurare e impostare correttamente la Sua istanza DataSunrise.
L’obiettivo principale di questo articolo è introdurre l’approccio per auditare l’attività degli account privilegiati. Vedremo come impostare DataSunrise per auditare l’attività del DBA in Oracle RDS. Tuttavia, tutti i passaggi generali si applicano a qualsiasi istanza di Amazon RDS.
Panoramica di Oracle RDS e prerequisiti
Come probabilmente sa, Amazon RDS supporta l’accesso ai database tramite qualsiasi applicazione standard client SQL e non consente l’accesso diretto all’host con SSH ecc. Questa architettura non permette di installare agenti di database in Amazon RDS e limita l’utilizzo di privilegi di DBA potenti come SYSDBA. Amazon RDS adotta un modello di condivisione delle responsabilità che esclude l’intervento umano diretto sulla piattaforma di calcolo. Tuttavia con Amazon RDS può svolgere i suoi compiti in modi leggermente diversi e unificati. Ad esempio, il DBA può accedere ai log del database o eseguire il backup delle istanze Amazon RDS con snapshot utilizzando AWS Management Console, AWS CLI o RDS API. D’altro canto, non è possibile accedere a Amazon RDS utilizzando connessioni SSH o RDP per attività relative al database o al sistema operativo (e probabilmente dannose). Quindi, si ricordi che avendo il ruolo IAM richiesto può modificare e gestire la Sua istanza Amazon RDS per soddisfare le Sue esigenze di sistema senza connettersi a Amazon RDS tramite SSH/RDP.
Un aspetto importante riguarda Oracle SYSDBA e privilegi/ruoli simili. Il ruolo SYSDBA è designato solo all’utente RDSADMIN (AWS utilizza l’utente OS “rdshm”) e la password di RDSADMIN è sconosciuta. Inoltre, con Oracle RDS non può conoscere la password dell’utente SYS. E tutto ciò significa che:
- non può connettersi al Suo Oracle RDS utilizzando l’utente RDSADMIN o SYS;
- i Suoi utenti del database non possono ottenere il ruolo SYSDBA o altri ruoli potenti di Oracle Database;
- non può connettersi da remoto all’istanza Oracle RDS utilizzando il ruolo SYSDBA o altri ruoli potenti di Oracle Database.
Questi privilegi limitati proteggono e mettono in sicurezza ogni singola istanza RDS. Oracle RDS crea per Lei un utente DBA limitato (ad es. utente “admin” di default) così può connettersi all’istanza Oracle RDS utilizzando questo utente. Successivamente può creare un altro utente e questo nuovo utente non otterrà più privilegi di quanto abbia il Suo utente “admin”. Ancora una volta, questo è relativo al modello di gestione della responsabilità condivisa di AWS. Il team Amazon RDS ha impostato questa linea rossa che non può oltrepassare.
La configurazione di Oracle RDS è al di fuori dello scopo di questo articolo e per continuare con i prossimi passi avrà bisogno di un’istanza Oracle RDS attiva e funzionante e speriamo che possa avviare una nuova Oracle RDS o che abbia già accesso a un’istanza Oracle RDS esistente. Se desidera sapere le best practices per eseguire Oracle RDS si rivolga alla documentazione AWS.
Nella sezione successiva esamineremo ciò che è disponibile per auditare l’attività del DBA.
Attività del DBA su Oracle RDS e opzioni di audit
Le limitazioni delle istanze RDS sollevano molte domande su come auditare azioni specifiche del DBA come ALTER SYSTEM, CREATE USER, DROP DATABASE ecc. E come può auditare quei utenti interni di RDS come RDSADMIN? Ok, esaminiamo tutte le opzioni disponibili.
- Può visualizzare l’attività interna di RDS utilizzando File di Log del Database Amazon RDS Può visualizzare, scaricare e osservare i log del database utilizzando la console Amazon RDS, l’AWS Command Line Interface (AWS CLI) o Amazon RDS APIAmazon RDS API. Amazon fornisce il servizio di Ripristino a Punto nel Tempo e afferma che RDS carica i log delle operazioni per le istanze DB su Amazon S3 ogni 5 minuti. Quindi i File di Log del Database e il servizio CloudTrail entrambi aiutano ad analizzare l’attività dell’utente RDSADMIN insieme a informazioni aggiuntive sugli eventi di Oracle RDS. Tutte queste opzioni sono valide finché non ha bisogno di monitoraggio delle transazioni in tempo reale e avvisi.
- Con le istanze DAF in esecuzione su VM EC2 separate può auditare tutte le sessioni e le query in esecuzione attraverso la Sua istanza Amazon RDS. Lo scopo delle istanze DAF è diventare il Suo guardiano del database e poiché ha bisogno di monitorare l’attività del DBA vedremo questa opzione nei dettagli ulteriormente. Le istanze DataSunrise su EC2 sono in grado di monitorare e proteggere l’attività di rete verso Amazon RDS.
Panoramica su DataSunrise su AWS e prerequisiti
Impostare e configurare le istanze DataSunrise sicure coinvolge diversi passaggi importanti. Per preparare la Sua istanza DataSunrise sicura nell’ambiente AWS segua i passaggi descritti nel nostro documento Migliori Pratiche di Sicurezza DataSunrise AWS. Da menzionare alcuni passaggi sono i seguenti:
- assegnare i ruoli IAM appropriati alle Sue istanze EC2 con le istanze DataSunrise;
- creare e assegnare il(i) Gruppo(i) di Sicurezza VPC alla Sua istanza Amazon RDS e alle istanze EC2 che hanno il software DataSunrise;
- usare password sicure e uniche per ogni account.
L’architettura sottostante consiste di un’istanza di database (RDS o su istanza EC2) dietro DAF, un database di Archiviazione di Audit separato (RDS o su istanza EC2) e istanza DataSunrise che funge da server proxy per le connessioni utente.

Come opzione DataSunrise fornisce script CloudFormation per distribuire soluzioni di sicurezza del database sicure ed economiche in AWS. Dopo la creazione della Sua istanza Amazon RDS, questi script automatizzano tutte le attività richieste per distribuire le istanze EC2, installare DataSunrise su queste istanze EC2, impostare il Bilanciatore di Carico Amazon, nonché la creazione di tutte le altre risorse AWS richieste. Salteremo l’opzione CloudFormation e continueremo con uno scenario di istanza EC2 singola. Abbiamo preparato video su come installare l’istanza DataSunrise, guardi uno dei video e segua i passaggi richiesti:
- Installare DataSunrise su Linux https://www.youtube.com/watch?v=FWoGY2qc0F8
- Installare DataSunrise su Windows https://www.youtube.com/watch?v=wKlFUdUUbSE
Al termine del processo di installazione, la Sua istanza DataSunrise dovrebbe essere accessibile dal Suo browser Web. Avrà bisogno di un’istanza DataSunrise attiva e funzionante affinché possa accedere alla Sua Console Web DataSunrise con i privilegi richiesti.
Il prossimo prerequisito è la Configurazione del Database che dovrebbe creare nell’istanza DataSunrise per avviare un proxy per Amazon RDS. Si riferisca alla Guida Utente DataSunrise, sezione “3.1 Creazione di un Profilo Database Target e un Proxy” e sezione “5.1.6 Creazione di Utenti del Database Necesari per Ottenere i Metadati del Database”. Poiché DataSunrise in modalità proxy agisce come intermediario intercettando tutti i pacchetti TCP non AWS verso l’istanza Amazon RDS, può utilizzare la stessa porta Oracle Database standard 1521 dato che l’istanza DataSunrise è in esecuzione su un’altra istanza EC2. Infine, sia certo che la Sua istanza Amazon RDS NON sia disponibile da nessun altro IP/nome non AWS e porta se non attraverso l’istanza DataSunrise. Tutti questi passaggi garantiranno che tutte le Sue applicazioni client possano accedere alla Sua istanza Oracle RDS solo tramite la Sua istanza DataSunrise.
Configurazione di DataSunrise per auditare i DBA
Come menzionato in precedenza, una volta creata la Sua Oracle RDS riceve l’account DBA limitato e la sua password, di default Oracle RDS offre l’utente del database “admin” per accedere alla Sua istanza. E come ricorderà, Amazon RDS disabilita il privilegio SYSDBA per Lei. E questo riduce l’area possibile di potenziali minacce fatte all’istanza Amazon RDS. Se la Sua Oracle RDS è accessibile dalla Sua macchina desktop provi a connettersi alla Sua Oracle RDS come SYSDBA per dimostrare che è vero, veda un esempio qui sotto.

Vedrà che nessun SYSDBA, SYSOPER o altri privilegi correlati a SYS sono disponibili in Oracle RDS né utilizzando TCP né SSH.
Pertanto deve prendersi cura di auditare le connessioni di rete – connessioni remote utilizzando lo strumento giusto come DataSunrise DAF. Configureremo l’istanza DataSunrise per catturare qualsiasi tipo di azioni che il Suo DBA può eseguire da remoto all’istanza Amazon RDS.
Riepilogo dei prossimi passaggi
Per auditare le azioni del DBA eseguiremo i seguenti passaggi:
- Identificare i nomi/numeri di account degli utenti del DBA. DataSunrise mantiene gli Utenti del Database sotto il suo menu di Configurazione. Se ha più di un DBA allora crei un nuovo Gruppo di Utenti del Database sotto Configurazione → Utenti del Database. Nel nostro esempio utilizzeremo il DBA chiamato “admin” che è stato generato dalla nostra istanza Oracle RDS.
- Usando Configurazione → Gruppi di Oggetti crei una nuova voce e aggiunga un singolo elemento con espressione regolare “.*”.
- Creare una nuova Regola di Audit per includere Utente del Database e Gruppo di Query per Auditare l’attività del DBA.
- Controllare l’attività del DBA nell’istanza DataSunrise
1. Identificare e configurare i Suoi utenti DBA in DataSunrise
Procediamo con tutti questi passaggi. In primo luogo, sotto Configurazione → Utenti del Database controlliamo che l’utente “admin” sia noto alla nostra istanza DataSunrise. Se DataSunrise non ne ha uno, crei l’utente “admin” manualmente. Se ha diverse istanze Oracle RDS e lo stesso nome utente DBA “admin” utilizzato può scegliere <Qualsiasi> Istanze. Non dimentichi di fare clic sul pulsante Salva per salvare le Sue impostazioni su ogni pagina.

Nell’immagine sopra abbiamo creato l’utente ADMIN e incluso l’uno nel gruppo Team DBA. Se ha creato più utenti DBA, si assicuri di aggiungerli al “Team DBA Oracle” Gruppo Utenti nell’istanza DataSunrise.
2. Configurare un nuovo Gruppo di Query
Secondo passo – creeremo il nostro nuovo Gruppo di Query “AnyQuery” e aggiungeremo solo una voce “.*” nell’elemento Query. Si prega di vedere le impostazioni nell’immagine sottostante.

Quando crea una nuova Query per il Gruppo di Query (veda il pulsante “Aggiungi” sull’immagine) ad esempio si assicuri di controllare la casella “Espressione Regolare”.
A questo punto abbiamo l’utente “ADMIN” del database, il “Team DBA Oracle” Gruppo Utenti registrato nell’istanza DataSunrise e il nostro Gruppo Query “AnyQuery” con una query che ha il pattern “.*” di espressione regolare per abbinare qualsiasi query. A metà del percorso.
3. Creare e configurare una nuova Regola di Audit
Successivamente creeremo una nuova Regola di Audit con il nome “Oracle: query admin” utilizzando quello che abbiamo creato nell’istanza DataSunrise. Apra la Console Web e entri su Audit → Regole. Fare clic su Crea per creare le nuove regole. Si prega di vedere i dettagli nelle immagini sottostanti.

Utilizzeremo Filtra Dichiarazioni e Gruppo di Query sulla pagina per collegare la nostra regola con le impostazioni corrispondenti fatte precedentemente, vedere i dettagli nelle immagini seguenti.

Quando seleziona “Team DBA Oracle” Gruppo Utenti per il parametro di sessione “Gruppo Utenti DB”, fa in modo che DataSunrise catturi qualsiasi sessione proveniente da qualsiasi IP/host con un nome utente sulla lista del “Team DBA Oracle”. Quando aggiunge un altro elemento utente del database al “Team DBA Oracle” Gruppo Utenti tale regola controllerà automaticamente il nuovo utente in questa regola. E dato che utilizza la scheda Gruppo di Query sulla pagina della Regola di Audit e selezionata “AnyQuery” lì, DataSunrise controllerà qualsiasi espressione o query che il Suo team DBA eseguirà attraverso l’istanza DataSunrise. Successivamente vedrà questi eventi sotto Audit → Tracce Transazionali.
Inoltre e facoltativamente, può inviare i dettagli dell’evento di Audit a un sistema SIEM esterno utilizzando il protocollo Syslog o inviare avvisi ad altri sistemi esterni (SMTP/email, Jira, ZenDesk, messaggeri istantanei). Per configurare la connessione del server compatibile con Syslog, navigare su Configurazione → Impostazioni Syslog e configurare le impostazioni richieste su quella pagina. Veda “7.7 Impostazioni Syslog (Gruppi CEF)” e “10.6 Impostazioni di Integrazione Syslog” nella nostra Guida Utente per ulteriori dettagli. Per inviare avvisi a destinatari diversi da Syslog, aggiunga nuovi elementi ai Subscribers (Console Web: Configurazione → Subscribers → Aggiungi Server… Aggiungi menu Subscriber). Può trovare maggiori informazioni sui Subscribers nella sezione “7.5 Impostazioni dei Subscribers” della Guida Utente di DataSunrise. Successivamente può utilizzare le impostazioni Syslog e/o i Subscribers nelle Sue regole DataSunrise (veda la prima immagine sopra); veda le sezioni corrispondenti nella Guida Utente e Guida Amministrativa di DataSunrise. Una volta configurato può selezionare i Suoi elementi Syslog e Subscriber sulla Sua Regola di Audit. Non dimentichi di fare clic sul pulsante Salva sulla pagina delle Regole di Audit per salvare le nuove impostazioni.
In questo modo abbiamo selezionato i tipi di query che abbiamo bisogno di auditare (e probabilmente di notificare alcune persone con avvisi) per una concreta istanza Amazon RDS o diverse istanze se sceglie “<QUALSIASI>” articolo nel menu a discesa Istanza di regole. Ci sono diverse opzioni per evitare di auditare query tipiche come gli strumenti DBMS, per ulteriori informazioni vedere la sezione “6.4.2 Filtro di Gruppo di Query” nella Guida Utente DataSunrise in collegamento al parametro delle regole Salta Gruppo di Query.
4. Controllare l’attività del DBA nell’istanza DataSunrise
Per verificare che la nostra nuova Regola di Audit catturi query eseguiremo query CREATE USER e DROP USER utilizzando lo strumento Oracle SQL Developer. Ci connetteremo all’istanza Oracle RDS tramite istanza DataSunrise.

Successivamente possiamo controllare le Tracce Transazionali nell’istanza DataSunrise.
Dato che abbiamo impostato Log Event nell’Archiviazione opzione nella nostra Regola di Audit, possiamo trovare questi eventi su

Audit → Tracce Transazionali sulla console Web della nostra istanza DataSunrise.
Note su EC2 con istanza Oracle Database
Ci sono alcune considerazioni sull’utilizzo delle istanze di database su istanze Amazon EC2 insieme a DataSunrise. Poiché configurate queste istanze, potete per qualche ragione consentire connessioni locali (SSH, RDP ecc.) o connessioni remote (TCP database) che bypassano l’istanza DataSunrise (o il Suo Bilanciatore di Carico). Tutte queste connessioni devono essere strettamente controllate per garantire il massimo livello di sicurezza e gestione. Nel Suo VPC, si raccomanda di implementare regole severe utilizzando Gruppi di Sicurezza e ACL di Rete. L’obiettivo di tutte queste restrizioni dovrebbe essere quello di eliminare l’accesso diretto alla Sua istanza di database da qualsiasi IP o rete ma DataSunrise sulla Sua istanza EC2 alla sola porta del database.
I prossimi passi, può vederli nella sezione “Configurazione delle impostazioni DataSunrise” di questo articolo. E mentre probabilmente sta ancora pensando a come auditare i Suoi potenzialmente dannosi ruoli SYSDBA (e simili) esamineremo le capacità di audit di DataSunrise per aiutarle con questo.
A partire da DataSunrise 6.2, può includere parametri di sessione nelle condizioni di Filtra Sessioni. Si prega di vedere sotto la nostra Regola di Audit con la condizione per auditare SYSDBA e privilegi simili oltre al “Team DBA Oracle” in Gruppo Utenti DB. Assumiamo di aver configurato la nostra istanza DataSunrise per proteggere Oracle Database in esecuzione su istanza EC2 e che non ci sia altro modo per connettersi al server del database se non tramite istanza DataSunrise solo in modalità proxy.

Poiché il nostro DAF protegge Oracle Database su EC2, proveremo a connetterci a Oracle tramite proxy DataSunrise. Nelle immagini sotto ci connettiamo al database utilizzando Oracle SQL Developer tramite istanza DataSunrise e usiamo il nome utente “sys” e il ruolo SYSDBA. Impostiamo che questo sia consentito nella nostra istanza Oracle Database. Veda il risultato del test di connessione nell’immagine seguente.

Se il test è passato con stato Successo, possiamo provare a eseguire alcune query nello stesso modo in cui abbiamo fatto prima nella sezione “Configurazione di DataSunrise per auditare i DBA” di questo articolo. Oracle SQL Developer eseguirà query tramite istanza DataSunrise. Successivamente sulla console Web DataSunrise possiamo controllare Audit → Tracce Transazionali o Tracce di Sessione per vedere tutte le query e sessioni dell’utente “sys”. La nostra Regola di Audit cattura l’utente del database “sys” nonostante l’utente particolare non sia sulla lista del nostro “Team DBA Oracle” che abbiamo creato precedentemente nell’istanza DataSunrise. Quando apriamo Audit → Traccia di Sessione e un elemento particolare vedremo che l’istanza DataSunrise salva i dettagli sui ruoli del Database Oracle oltre ad altre utili informazioni.

In questo modo abbiamo configurato l’istanza DataSunrise per auditare qualsiasi attività del DBA, inclusi SYSDBA e simili privilegi di sistema che Oracle Database ha.
Conclusione
Abbiamo visto che Oracle RDS richiede meno sforzo per proteggere l’istanza del Database Oracle e auditare l’attività del DBA. Su istanze EC2 richiede di rimboccarsi le maniche e impostare i parametri delle Sessioni e grazie a DataSunrise versione 6.2 puoi auditare i ruoli incorporati del Database Oracle. Per ulteriori informazioni, veda la Guida Utente DataSunrise e i riferimenti allegati.
Riferimenti
Panoramica di Amazon RDS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html
DataSunrise Inc. e AWS
https://www.datasunrise.com/datasunrise-security-amazon-rds/
Panoramica sui File di Log del Database Amazon RDS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html
Servizio di Ripristino a Punto nel Tempo AWS
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
Migliori Pratiche di Sicurezza DataSunrise AWS
https://www.datasunrise.com/documentation/ds-aws-security-best-practices/
DataSunrise supporta AWS CloudFormation
https://www.datasunrise.com/professional-info/aws-market-commercial/
DataSunrise su AWS Marketplace
https://aws.amazon.com/marketplace/seller-profile?id=880a5857-74c1-44ea-a978-094093c08788
Manuale di Oracle Database sui Privilegi di Sistema SYSDBA e SYSOPER
https://docs.oracle.com/database/121/ADMQS/GUID-2033E766-8FE6-4FBA-97E0-2607B083FA2C.htm#ADMQS12004
Guida Utente DataSunrise
https://www.datasunrise.com/documentation/user-guide-download/