Priorità delle Regole
DataSunrise fornisce un modo intelligente di gestire la sequenza di innesco delle regole per catturare in modo efficiente le informazioni mirate all’interno del Suo database. Mantenendo questo livello di focalizzazione, DataSunrise elimina l’esecuzione ridondante e/o la generazione di registri di audit dallo stesso modulo delle 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à elencato, che ovviamente può essere cambiato in base alle Sue esigenze.
Il motore di DataSunrise opera in modo da catturare tutte le parti di una query complessa in sequenza per applicare un monitoraggio di sicurezza granulare; di conseguenza, genererà più Tracce di Audit che si riferiscono a più regole sovrapposte di diversi livelli di gravità, poiché questo potrebbe essere essenziale per imporre notifiche e/o allarmi per determinate attività in query complesse che richiedono attenzione specifica, non quelle di priorità più alta o viceversa.
Gestione della Priorità delle Regole di Audit in DataSunrise:
Nell’esempio seguente, dimostriamo come DataSunrise elaborerà la priorità delle regole di audit con soggetti sovrapposti.
- Il seguente elenco di regole contiene regole di audit per auditing tutte le attività del database in un database Oracle, ma come è chiaro dalla denominazione, la configurazione è stata eseguita in modo tale che alcune query potrebbero corrispondere ai criteri di innesco in ciascuna e ogni una di esse:
- 1st_EmployeesTable: questa regola è creata per audit delle attività del livello della tabella Employees (dello schema HR).
- 2nd_auditHRschema: questa regola è creata per audit delle attività del livello dello schema.
- 3rd_audit_ORCL_db: questa regola è creata per audit di qualsiasi attività nell’intero database.
- QueryTypes: questa regola è creata per audit di tutti i tipi di query tranne SELECT.
- Ho eseguito due istruzioni SQL (una abbastanza semplice e l’altra piuttosto complessa):
- Quelle due istruzioni SQL hanno portato alle seguenti Tracce di Audit (una traccia per la prima query e tre tracce per la seconda query):
- La prima query tecnicamente soddisfa i criteri per innescare tutte le prime tre regole, essendo:
- tabella EMPLOYEES (Regola #1).
- membro dello schema HR (Regola #2).
- in nel database (Regola #3).
Tuttavia, genera solo Audit ID# 1 come si può vedere dai risultati sotto e il motivo è che una parte di quella query richiede la focalizzazione dell’audit che è il SELECT sulla tabella EMPLOYEES, quindi dato che nessuna altra parte di quella query innesca ulteriori regole, nessuna verrà innescata.
- 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 con tre diverse regole di tre diversi aspetti di innesco:
- La prima regola 1st_EmployeesTable è stata innescata dall’istruzione SELECT che coinvolgeva la tabella EMPLOYEES dall’istruzione principale CTAS (Create Table As Select).
- La seconda regola 2nd_auditHRschema è stata innescata dalla clausola JOIN nella stessa istruzione SELECT dall’istruzione principale CTAS che chiama un’altra tabella (DEPARTMENTS) che non è stata presa in esame dalla prima regola.
- La quarta regola QueryTypes è stata innescata dalla clausola CREATE CTAS.
Quindi, per riassumere tutto questo, se il motore di DataSunrise riconosce più componenti nella query che possono distintamente innescare più regole, lo farà, a meno che non fosse lo stesso componente nel qual caso innescherà la regola solo una volta come accaduto 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 descritti e un’altra considerazione riguardo il 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/interessa più di 1 riga.
- La seconda regola blocca l’esecuzione di qualsiasi query che recupera/interessa più di 10 righe.
- In tal caso, alla prima regola è stata data una priorità più alta rispetto alla seconda, il che significa virtualmente che qualsiasi query che tenta di recuperare 1 riga o più sarà autorizzata a farlo indipendentemente dalle altre regole che trattano i criteri (numero di righe recuperate/interessate).
- Se facciamo un passo avanti e abilitiamo una terza regola che bloccherebbe tutte le query senza condizioni, che coprirebbe criteri di sicurezza aggiuntivi oltre alla focalizzazione sul numero di righe recuperate/interessate e, in tal caso, indipendentemente dal livello di priorità, DataSunrise abiliterà la terza regola:
