Best Practices Regole DataSunrise
Introduzione
DataSunrise Sicurezza nel Database è una potente soluzione di Monitoraggio delle Attività del Database/Audit dei Dati e Protezione dei Dati in tempo reale e Firewall del Database che aumenta significativamente il livello di sicurezza dei dati e del database sia on-premise che nel cloud. Spesso è difficile capire quali dati debbano essere protetti, dove si trovano nel database e come configurare la Suite di DataSunrise per ottenere la massima protezione possibile.
Questo documento contiene una descrizione dettagliata delle best practices delle Regole DataSunrise che ti aiuteranno a creare la configurazione di sicurezza dei dati più efficace e appropriata.
Caratteristiche principali e capacità di DataSunrise
1. Monitoraggio delle Attività del Database / Audit dei Dati
Il monitoraggio delle attività del database (DAM) di DataSunrise consente di tracciare in tempo reale tutte le azioni degli utenti e le modifiche apportate a un database. Mentre l’audit del database è utilizzato principalmente per l’indagine delle violazioni dei dati, il monitoraggio continuo delle attività del database aiuta a rilevare tentativi di abuso dei diritti di accesso e prevenire preparativi di violazioni dei dati in anticipo.
Inoltre, DataSunrise utilizza algoritmi intelligenti di autoapprendimento e analisi comportamentale per accelerare il processo di distribuzione del firewall del database. DataSunrise analizza il comportamento tipico degli utenti e delle applicazioni e crea una “Lista Bianca” delle query SQL considerate sicure di default.
2. Protezione dei Dati e Firewall del Database
Il modulo di Sicurezza dei Dati di DataSunrise è lo strumento principale che difende i database aziendali da azioni dannose e ostili e garantisce la conformità. Dotato di monitoraggio continuo del traffico e algoritmi avanzati di analisi SQL, DataSunrise rileva SQL injections e tentativi di accesso non autorizzati in tempo reale. Quando il firewall del database di DataSunrise rileva una violazione della politica di sicurezza, blocca immediatamente la query SQL dannosa e notifica gli amministratori tramite SMTP o SNMP.
3. Compliance Manager
Compliance Manager assicura la conformità con diversi standard di sicurezza nazionali e internazionali e regolamenti come HIPAA, PCI DSS, ISO 27001, GDPR e SOX. La funzionalità di Compliance Manager prende il controllo totale sull’accesso ai database aziendali per prevenire elaborazioni illegali dei dati, modifiche non autorizzate o perdita accidentale di dati.
La funzionalità di Compliance Manager si basa su una scoperta automatica dei dati sensibili in un database target, assegnando determinati ruoli agli utenti del database target e implementazione di politiche di sicurezza, mascheratura e audit secondo questi ruoli, nonché la generazione di report di conformità periodica per una revisione permanente delle attività del database.
4. Scoperta Dati Sensibili
La Scoperta Dati di DataSunrise identifica i dati sensibili nei database aziendali e aiuta a stabilire la protezione più efficace di questi dati. Consente alle aziende di capire quale livello di controllo è appropriato per ogni tipo di dato sensibile che i loro database contengono. Inoltre, questa funzionalità aiuta a rispondere alle richieste di regolamenti come GDPR, HIPAA, SOX, PCI DSS e altri.
5. Mascheramento Dinamico dei Dati
DataSunrise previene l’esposizione dei dati sensibili con il suo Mascheramento Dinamico dei Dati (DDM).
Il DDM di DataSunrise protegge le informazioni critiche per il business offuscando i dati di interesse nel database completo o solo in tabelle o colonne selezionate per utenti non autorizzati. DataSunrise maschera i dati sostituendo effettivamente le voci del database con valori generati casualmente o predefiniti dall’utente.
Per prevenire potenziali fughe di dati, le voci del database specificate da un utente DataSunrise vengono mascherate al volo prima che i dati vengano estratti dal database.
Compliance Manager
Compliance Manager è un buon strumento per creare una configurazione iniziale di DataSunrise. In breve, automatizza i passaggi di configurazione di DataSunrise eseguendo la Scoperta Dati e creando entità di configurazione basate sui risultati della Scoperta Dati. Compliance Manager crea le seguenti entità:
- Regola di Audit per oggetti del database che contengono dati sensibili
- Regola di Sicurezza per bloccare SQL injections
- Regola di Sicurezza per bloccare l’accesso ai dati sensibili a tutti tranne a certi utenti inclusi in gruppi di utenti del database definiti durante l’operazione di Compliance Manager
- Regola di Sicurezza per bloccare tutte le query amministrative emesse da utenti del database che non appartengono ai gruppi di utenti “autorizzati”
- Regole di Mascheramento per l’offuscamento dei dati sensibili per utenti del database non inclusi nei gruppi di utenti “autorizzati” e non autorizzati a processare i dati originali.
Oltre al set di regole descritte sopra, Compliance Manager crea anche i seguenti report:
- Report di Audit su casi di accesso a oggetti del database sensibili
- Report di Sicurezza su tentativi di accesso a dati sensibili da parte di utenti non autorizzati a gestire dati protetti
- Report di Errori su query che non sono state eseguite a causa di errori di qualsiasi origine
- Report di Eventi di Sistema su eventi accaduti in DataSunrise durante il periodo di interesse
- Report di Mascheramento su casi di accesso a dati sensibili che hanno comportato l’offuscamento di dati per utenti non autorizzati a gestire i dati sensibili originali.
Nota che Compliance Manager non può garantire una copertura del 100% di tutti i dati non sicuri contenuti in un database target. Compliance manager ti fornisce una configurazione che può essere utilizzata come base, primo setup di stima per il tuo caso. Anche se questo approccio ti fornisce un’impostazione pronta per l’azione per il tuo DataSunrise Security Suite, potrebbe trovare il modello di ruolo suggerito non adatto al tuo caso particolare. In questo caso puoi personalizzare le opzioni delle Sessioni di Filtro delle tue Regole.
Scoperta Dati Sensibili
La Scoperta Dati Sensibili ti aiuta a cercare dati sensibili contenuti nel tuo database. È saggio configurare un task periodico di Scoperta Dati che scopra continuamente dati sensibili secondo i molti standard di sicurezza incorporati. Utilizzare i risultati della Scoperta Dati ti consente di proteggere i tuoi dati sensibili in base alle tue politiche di sicurezza, escludendo la ricerca manuale e la sicurezza manuale di tali dati nello stesso tempo.
Per avere una rappresentazione visiva dei dati sensibili trovati, è consigliato configurare task periodici di generazione di report PDF/CSV anche.
Tuttavia, eseguire un task di Scoperta Dati non garantisce una scoperta del 100% dei dati sensibili. La consulenza con il DBA è uno dei passaggi importanti che dovrebbe essere eseguito per non lasciare alcun dato sensibile non sicuro.
Sebbene la Scoperta Dati abbia un impatto minore sul database (rispetto ad un’applicazione client che interroga le prime N (N=100 di default) righe da ciascuna tabella in ciascun database), puoi ridurre il set di campioni utilizzando l’opzione di Impostazioni Avanzate “Conteggio Righe Analizzate”.
Regole di Audit e Regole di Sicurezza
Si prega di notare che le impostazioni delle Regole di Audit e Sicurezza sono simili eccetto per la sezione Azioni. Questo significa che puoi monitorare o bloccare l’attività del database di interesse a seconda della tua scelta senza perdere alcuna possibilità.
Quando si tratta di ottimizzazione delle regole di Audit e Sicurezza, la raccomandazione generale è di evitare di creare regole “tutto-in-uno” generali poiché potrebbero fornire troppi dati per l’analisi generati da processi esterni o da uno strumento di query SQL (come PGAdmin per PostgreSQL o SQL Server Management Studio per Microsoft SQL Server).
Considera di stabilire il monitoraggio solo per oggetti del database che contengono dati sensibili o di osservare l’accesso a dati che richiedono stretta osservazione e registrazione degli accessi ai dati. Puoi utilizzare la funzione Gruppi di Oggetti per organizzare tali oggetti del database come tabelle, viste, procedure memorizzate e funzioni in gruppi.
Utilizzare i Gruppi di Oggetti nelle tue regole di Audit/Sicurezza ti consente di stabilire controllo e monitoraggio sulle parti di memorizzazione dei dati di interesse per ottenere dati di audit chiari e pertinenti.
Di seguito, puoi trovare alcune “ricette” su come impostare le Regole DataSunrise per affrontare i problemi più diffusi che potrebbero causare problemi nel tuo database o potrebbero essere i primi segni di un attacco sul tuo Data Storage.
Audit/Blocco di un Tentativo di Connessione Sospetto (Tentativo di Login)
Nonostante il fatto che le applicazioni possano stabilire molte connessioni a un database, è importante monitorare il conteggio anomalo delle connessioni o guasti nelle connessioni o persino restringere questo tipo di attività proveniente da host e logins sospetti. Di seguito, puoi trovare alcuni consigli su come creare una Regola di Audit/Sicurezza che copra tutti i principali casi di tentativi di login sospetti che spesso indicano che un malintenzionato sta tentando di iniziare un attacco brute-force sul tuo database.
1. Audit/Blocco di Connessioni Frequenti Riuscite/Fallite (entro un periodo di tempo)
Per monitorare le connessioni riuscite a un database tramite un proxy DataSunrise, utilizza Eventi di Sessione Audit con l’opzione “Audit Frequent Connections” abilitata per auditare i casi in cui ci siano molte connessioni frequenti provenienti da un certo utente+host o host.
Per prevenire tentativi di connessioni frequenti riuscite o fallite bloccando la loro origine tramite host+nomeutente o host, abilita “Blocca DDOS o Brute Force” nella sezione Eventi di Sessione della tua Regola.
2. Blocco delle query provenienti da un intervallo IP non consentito
Per bloccare query provenienti da indirizzi IP potenzialmente pericolosi, utilizza le opzioni di Sessioni di Filtro per configurare la tua Regola di Sicurezza per essere attivata da qualsiasi query NON proveniente dagli host inclusi nell’elenco Hosts di DataSunrise.
3. Prevenzione dell’Instaurazione di Connessioni Non Sicure
Un proxy DataSunrise può essere configurato per accettare solo connessioni SSL abilitando “Accetta Solo Connessioni SSL” nelle Impostazioni Proxy del tuo profilo di database target nella Web Console.
4. Monitoraggio delle connessioni degli utenti Root e Privilegiati
L’osservazione dell’attività complessiva della connessione Root può essere realizzata creando un Gruppo di Oggetti Audit di default o una regola di Tipo di Query e configurando le impostazioni delle Sessioni di Filtro basate sul nome utente root del database (ad es. “root” per MySQL, “system/sys” per Oracle ecc.) o al nome utente del database con privilegi amministrativi se devi evitare di usare un account utente root.
Raccomandazioni per le Query (Sessione)
1. Query DML (Data Modification Language)
Le Regole di Audit/Sicurezza del Gruppo di Oggetti sono preferite rispetto alle Regole di Tipo di Query. Esse consentono di stabilire il monitoraggio e/o il blocco delle principali operazioni CRUD eseguite su un database aggiungendo gli oggetti richiesti sia dal Browser degli Oggetti scegliendo oggetti elencati nella regola da processare o specificando un Gruppo di Oggetti creato in anticipo manualmente o utilizzando la Scoperta Dati. Se è necessario l’osservazione di particolari tipi di query o il loro blocco, utilizza una regola di Audit/Sicurezza di Tipo di Query. Nota che è anche possibile monitorare l’esecuzione di specifici tipi di query su certi oggetti del database specificando un Gruppo di Oggetti nelle impostazioni della Regola. Inoltre, tutte le Regole possono essere configurate per essere attivate solo da query di una certa applicazione, utente, utente applicazione, host assicurando che la Regola di Sicurezza creata non scatti erroneamente. Per questo, configura le impostazioni delle Sessioni di Filtro della Regola.
2. Regole di Audit e Sicurezza di tipo SQL Injection
DataSunrise dispone di un meccanismo di rilevamento SQL Injection basato su punti di penalizzazione (penalità) che consente di impostare il proprio livello di query “consentite” indirizzate al tuo database.
Ti consigliamo di configurare una Regola di Audit SQL Injection per monitorare le query sospette e impostare un Avviso nella sezione Notifiche della Regola di Audit. I valori di penalità del tuo filtro dovrebbero corrispondere a query SQL-Injection “deboli” che non possono danneggiare il database.
Insieme alle Regole di Audit con Avvisi configurati, è necessario configurare una Regola di Sicurezza di tipo SQL Injection che bloccherà le query SQL Injection che superano il numero specificato di punti di penalità.
Nota che il numero di Penalità dovrebbe corrispondere a query SQL-Injection che possono arrecare un danno significativo a un database. I valori di penalità dovrebbero essere più alti di quelli nella Regola di Audit.
3. Query che restituiscono un numero enorme di righe
Un grande numero di righe interessate/recuperate quando nessuna query corrispondente è utilizzata dall’applicazione o dagli strumenti BI può indicare che c’è un’attività sospetta che avviene nel database o l’applicazione è stata compromessa. Per prevenire l’esecuzione di tali query, utilizza una regola di sicurezza tipo Gruppo di Oggetti con “Attiva la Regola Solo se il Numero di Righe Interessate/Recuperate non è Inferiore a” abilitato seguito dal numero di righe interessate/recuperate che è considerato anomalo nel tuo ambiente. Un’alternativa è utilizzare una Regola di Audit con filtro tipo Gruppo di Oggetti configurato e un Sottoscrittore allegato per ricevere notifiche su questo tipo di eventi che si verificano nel database.
4. Query eseguite per troppo tempo
Quando ci vuole troppo tempo per le tue query per essere eseguite, può portare a problemi di performance, cattiva esperienza utente e anche può essere un segnale che un insider sta cercando di rubare i tuoi dati preziosi poiché tali dati vengono ottenuti interrogando un’intera tabella che potrebbe richiedere del tempo. Utilizza una Regola di Audit con Eventi di Sessione configurati: abilita “L’Esecuzione della Query Richiede Più Tempo di” e imposta un valore (durata in secondi) che è considerato anomalo e tale query a lunga esecuzione deve essere auditata e riportata utilizzando la funzione Sottoscrittori.
5. Query con sintassi errata (quelle che restituiscono un errore)
Per monitorare le query che non sono state eseguite a causa di un errore di sintassi di qualche tipo, utilizza un tipo di Regola di Eventi di Sessione Audit con l’opzione “Audit Errori Operativi” abilitata. Configura la frequenza degli errori che è considerata sospetta e richiede l’attenzione del team DB o Sicurezza. Alleva un Sottoscrittore per informare il personale incaricato degli errori SQL che si verificano frequentemente durante l’instaurazione della connessione.
6. Query che accedono a tabelle sensibili
Per limitare l’accesso a una serie di oggetti del database, si raccomanda di utilizzare un tipo di Regola di Sicurezza tipo Gruppo di Oggetti. Utilizzare questo tipo di regole di sicurezza consente di limitare l’accesso a determinati oggetti del database utilizzando sia un elenco di oggetti che possono essere selezionati tramite il Browser degli Oggetti o utilizzando un Gruppo di Oggetti contenente oggetti del database di interesse. Per fornire un livello ragionevole di restrizione dell’accesso ai dati, è consigliabile configurare le Sessioni di Filtro per abilitare questa regola per essere attivata o saltata per certo utente/applicazione database/utente host e gruppi di utenti database/utenti applicazione/hosts.
7. Tabella Honey Pot
Considera la creazione di una tabella (tabelle) che contengano dati sensibili falsi che fungeranno da esca per gli hacker. In caso di query indirizzate a questa tabella, la fonte della query dovrebbe essere bloccata permanentemente. Puoi anche applicare una Regola di Apprendimento per ottenere maggiori dettagli sulla strategia degli attaccanti (query, host, applicazioni ecc.). In generale, considera di creare un database honeypot in un’istanza di database separata nel tuo ambiente e mettilo dietro un’altra istanza di DataSunrise con Archiviazione Audit e Dizionario database separati.
8. Blocco di query indesiderate
Per tracciare e/o bloccare certe istruzioni SQL che non vuoi vengano eseguite, utilizza i Gruppi di Query di DataSunrise. Puoi configurarli sia come modelli di query (utilizzando espressioni regolari) o come query esatte che saranno controllate e auditate/bloccate alla loro esecuzione. Una Regola di Sicurezza dovrebbe essere configurata per controllare se una query in arrivo è inclusa nel Gruppo di Query allegato alla Regola utilizzando l’elenco a tendina “Processa Gruppo di Query”. Va notato che un Gruppo di Query dovrebbe essere creato in anticipo per essere selezionabile dall’elenco sopra menzionato. Utilizzare Gruppi di Query per stabilire il monitoraggio e/o limitare l’uso di certe query come le istruzioni GRANT.
9. Query mirate a manipolazioni di privilegi
Puoi utilizzare la funzionalità di Gruppi di Query per creare set di query SQL che devono essere identificate nel traffico del database e poi auditate e/o bloccate. Tuttavia, l’opzione migliore per monitorare le query GRANT è utilizzare le Regole di Audit/Sicurezza configurate come Tipo di Query con i tipi di query corrispondenti specificati. Questo ti consente di stabilire un controllo completo sui tipi di query di interesse attraverso il monitoraggio e il restringimento dell’esecuzione di categorie di query scelte. Considera di combinare Gruppi di Query e Regole di Tipo di Query per raggiungere il livello desiderato di controllo sull’attività del database.
10. Gestione delle query SQL SELECT *
SELECT * FROM TABLE non è una query comune. In molti casi tali query possono significare che qualcuno sta cercando di ottenere più dati possibile per scaricare il set di risultati dal database. Questo può portare a una fuga di dati. Si raccomanda di controllare tali query limitando la loro esecuzione nel database. Per gestire le query SELECT *, utilizza una Regola di Sicurezza con “La Query Include l’Espressione “SELECT *”” selezionata. Quando questa opzione è selezionata, DataSunrise controlla e blocca query come SELECT * FROM TABLE e SELECT * FROM TABLE WHERE CONDITION=VALORE.
Se è necessario eseguire tali query, restringi l’elenco degli utenti/applicazioni/utenti applicazione/hosts consentiti utilizzando le opzioni delle Sessioni di Filtro.
Regole di Mascheramento Dinamico
Raccomandazioni generali
- Associa Regole di Audit con Regole di Mascheramento per fornire una copertura completa dell’accesso ai dati sensibili
- Utilizza l’opzione “Sessione di Filtro” di una Regola di Mascheramento per evitare che la Regola venga attivata da utenti indesiderati.
- Utilizza il filtro “Utente Applicazione” per i casi in cui una Regola di Mascheramento Dinamico viene utilizzata per offuscare i dati accessibili da Utenti Applicazione in sistemi complessi come SAP ECC e Oracle EBS.
- Se è necessario mascherare valori inclusi in un’intera riga, considera di utilizzare la funzionalità “Nascondi Righe” invece del normale Mascheramento Dinamico. Utilizzare Nascondi Righe consente di nascondere intere righe che soddisfano i requisiti della Regola di Mascheramento. Utilizzare Sessioni di Filtro per definire in quali condizioni la tua Regola di Mascheramento Dinamico tipo Nascondi Righe sarà attivata.
Conclusione
Questo documento accumula le raccomandazioni nella forma di Casi d’Uso che gli utenti possono incontrare quando utilizzano la Sicurezza nel Database. Le suggerimenti e i Casi d’Uso forniti non sono obbligatori ma possono essere utilizzati come riferimento quando si crea una configurazione personalizzata di DataSunrise.
Il documento copre i principali suggerimenti e raccomandazioni su quali tipi di Regole e quali Opzioni utilizzare per sfruttare il Monitoraggio delle Attività del Database, il Firewall del Database e il Mascheramento dei Dati.