Priorità delle Regole
DataSunrise fornisce un modo intelligente di gestire la sequenza di attivazione delle regole per catturare efficacemente le informazioni mirate all’interno del Suo database. Mantenendo questo livello di attenzione, DataSunrise elimina l’esecuzione ridondante e/o la generazione di record di audit dallo stesso modulo di regole due volte, quindi questo deve essere tenuto presente quando si ordina la priorità delle regole sovrapposte (se presenti).
In tal senso, DataSunrise opterà sempre per la prima regola nell’ordine di priorità, che ovviamente può essere modificata secondo le Sue esigenze.
Il motore di DataSunrise opera in modo tale da catturare tutte le parti di una query complessa in sequenza per imporre un monitoraggio della sicurezza dettagliato; perciò genererebbe più Tracce di Audit che riguardano più regole sovrapposte di diversi livelli di gravità, poiché questo potrebbe essere essenziale per imporre notifiche e/o avvisi per determinate attività in query complesse che richiedono attenzione specifica, non quelle di priorità superiore o viceversa.
Gestione della Priorità delle Regole di Audit in DataSunrise:
Nel seguente esempio, dimostriamo come DataSunrise gestirà la priorità delle regole di audit con soggetti sovrapposti.
- Il seguente elenco di regole contiene regole di audit per l’audit di TUTTE le attività del database in un database Oracle, tuttavia, è chiaro dalla denominazione che la configurazione è stata eseguita in modo che alcune query possano corrispondere ai criteri di attivazione di ciascuna di esse:
- 1st_EmployeesTable: questa regola è creata per auditare le attività a livello della tabella Employees (dello schema HR).
- 2nd_auditHRschema: questa regola è creata per auditare le attività a livello di schema.
- 3rd_audit_ORCL_db: questa regola è creata per auditare qualsiasi attività nell’intero database.
- QueryTypes: questa regola è creata per auditare TUTTI i tipi di query diversi da SELECT.
- Ho eseguito due dichiarazioni SQL (una abbastanza semplice e l’altra piuttosto complessa):
- Queste due dichiarazioni SQL hanno generato le seguenti Tracce di Audit (una traccia per la prima query e tre tracce per la seconda query):
- La prima query tecnicamente si qualifica per attivare tutte e tre le prime regole, essendo:
- TABELLA EMPLOYEES (Regola# 1).
- membro dello schema HR (Regola# 2).
- una nel database (Regola# 3).
Tuttavia, genera solo l’ID Audit# 1 come possiamo vedere dai risultati di seguito e il motivo è che una parte di quella query richiede focus di Audit, che è la SELECT sulla tabella EMPLOYEES; dato che nessuna altra parte di quella query attiva ulteriori regole, nessuna sarà attivata.
- D’altra parte, il motivo per cui la seconda query genera tre tracce è il fatto che il motore di DataSunrise riconosce tre componenti in quella query associati distintamente a tre diverse regole di tre aspetti di attivazione diversi:
- La prima regola 1st_EmployeesTable è stata attivata dall’istruzione SELECT che ha coinvolto la tabella EMPLOYEES dalla dichiarazione principale CTAS (Create Table As Select).
- La seconda regola 2nd_auditHRschema è stata attivata dalla clausola JOIN nella stessa istruzione SELECT dalla dichiarazione principale CTAS che richiama un’altra tabella (DEPARTMENTS) non tratta dalla prima regola.
- La quarta regola QueryTypes è stata attivata dalla clausola CREATE della dichiarazione CTAS.
Quindi, per riassumere tutto questo, se il motore di DataSunrise riconosce più componenti nella query che possono attivare distintamente più regole, lo farà, a meno che non sia lo stesso componente, nel qual caso attiverà la regola una sola volta, come è successo nella traccia di audit della prima query per SELECT * FROM employees;.
Gestione della Priorità delle Regole di Sicurezza in DataSunrise:
Per le regole di sicurezza si applicano gli stessi concetti sopra indicati e un’altra considerazione riguardo al numero di righe interessate/recuperate deve essere considerata:
- Le seguenti Regole raggiungono due obiettivi diversi:
- La prima regola consente l’esecuzione di qualsiasi query che recupera/colpisce più di 1 riga.
- La seconda regola blocca l’esecuzione di qualsiasi query che recupera/colpisce più di 10 righe.
- In tal caso, la prima regola è stata data una priorità maggiore rispetto alla seconda, il che virtualmente significa che qualsiasi query che tenta di recuperare 1 riga o più sarà consentito farlo indipendentemente dalle altre regole che trattano i criteri (numero di righe recuperate/colpite).
- Se facciamo un passo avanti e abilitiamo una terza regola che bloccherebbe tutte le query incondizionatamente, coprirebbe ulteriori criteri di sicurezza diversi dalla concentrazione sul numero di righe recuperate/colpite e in tal caso, indipendentemente dal livello di priorità, DataSunrise abiliterà la terza regola: