Regeln-Priorität
DataSunrise bietet eine intelligente Möglichkeit, die Auslöserreihenfolge von Regeln zu verwalten, um gezielte Informationen innerhalb Ihrer Datenbank effizient zu erfassen. Dabei sorgt DataSunrise dafür, dass redundante Ausführungen und/oder Generierungen von Prüfdaten durch dasselbe Regelmodul zweimal vermieden werden, was bei der Reihenfolge der Priorität überlappender Regeln (falls vorhanden) berücksichtigt werden sollte.
In diesem Zusammenhang wird DataSunrise immer die erste Regel in der Prioritätenreihenfolge auswählen, die natürlich entsprechend Ihren Anforderungen geändert werden kann.
Die Engine von DataSunrise arbeitet so, dass alle Teile einer komplexen Abfrage nacheinander erfasst werden, um eine detaillierte Sicherheitsüberwachung durchzusetzen; daher würden mehrere Prüfdaten generiert, die sich auf mehrere sich überlappende Regeln unterschiedlicher Schweregrade beziehen. Dies kann notwendig sein, um Benachrichtigungen und/oder Alarme für bestimmte Aktivitäten in komplexen Abfragen durchzusetzen, die spezielle Aufmerksamkeit erfordern, im Gegensatz zu anderen von höherer Priorität oder umgekehrt.
Verwaltung der Priorität von Prüfregeln in DataSunrise:
Im folgenden Beispiel demonstrieren wir, wie DataSunrise die Priorität von Prüfregeln mit überlappenden Themen verarbeitet.
- Die folgende Liste von Regeln enthält Prüfregeln für die Überprüfung ALLER Datenbankaktivitäten in einer Oracle-Datenbank. Wie aus der Benennung ersichtlich ist, wurde die Konfiguration so vorgenommen, dass einige Abfragen möglicherweise die Auslöserkriterien in jeder einzelnen von ihnen erfüllen:
- 1st_EmployeesTable: Diese Regel wurde erstellt, um Aktivitäten auf Tabellenebene der Employees-Tabelle (des HR-Schemas) zu prüfen.
- 2nd_auditHRschema: Diese Regel wurde erstellt, um Aktivitäten auf Schema-Ebene zu prüfen.
- 3rd_audit_ORCL_db: Diese Regel wurde erstellt, um jegliche Aktivitäten in der gesamten Datenbank zu prüfen.
- QueryTypes: Diese Regel wurde erstellt, um ALLE anderen Abfragearten außer SELECT zu prüfen.
- Ich habe zwei SQL-Anweisungen ausgeführt (eine recht einfache und die andere recht komplex):
- Diese beiden SQL-Anweisungen haben die folgenden Prüfspuren erzeugt (eine Spur für die erste Abfrage und drei Spuren für die zweite Abfrage):
- Die erste Abfrage qualifiziert technisch alle ersten drei Regeln, nämlich:
- EMPLOYEES-Tabelle (Regel Nr. 1).
- Mitglied des HR-Schemas (Regel Nr. 2).
- in der Datenbank (Regel Nr. 3).
Dennoch erzeugt sie nur die Prüf-ID Nr. 1, wie aus den Ergebnissen unten ersichtlich ist. Der Grund dafür ist, dass ein Teil dieser Abfrage den Prüfungsschwerpunkt erfordert, nämlich das SELECT auf der EMPLOYEES-Tabelle, sodass keine weiteren Teile dieser Abfrage weitere Regeln auslösen, es wird keine weiter ausgelöst.
- Auf der anderen Seite besteht der Grund, warum die zweite Abfrage drei Spuren erzeugt, darin, dass die Engine von DataSunrise drei Komponenten in dieser Abfrage erkennt, die jeweils eindeutig mit drei verschiedenen Regeln unterschiedlicher Auslöseaspekte verbunden sind:
- Die erste Regel 1st_EmployeesTable wurde durch die SELECT-Anweisung ausgelöst, die die EMPLOYEES-Tabelle aus der Haupt-CTAS-Anweisung (Create Table As Select) umfasste.
- Die zweite Regel 2nd_auditHRschema wurde durch die JOIN-Klausel in derselben SELECT-Anweisung aus der Haupt-CTAS-Anweisung ausgelöst, die eine andere Tabelle (DEPARTMENTS) aufruft, die nicht von der ersten Regel erfasst wurde.
- Die vierte Regel QueryTypes wurde durch die CREATE-Klausel der CTAS-Anweisung ausgelöst.
Zusammengefasst, wenn die Engine von DataSunrise mehrere Komponenten in der Abfrage erkennt, die unterschiedliche Regeln auslösen können, wird sie dies tun, es sei denn, es handelt sich um die gleiche Komponente. In diesem Fall würde sie die Regel nur einmal auslösen, wie im Prüfpfad der ersten Abfrage für SELECT * FROM employees;.
Verwaltung der Priorität von Sicherheitsregeln in DataSunrise:
Für Sicherheitsregeln gelten die gleichen oben genannten Konzepte und eine weitere Überlegung hinsichtlich der Anzahl der betroffenen/abgerufenen Zeilen sollte berücksichtigt werden:
- Die folgenden Regeln verfolgen zwei verschiedene Ziele:
- Die erste Regel erlaubt die Ausführung jeder Abfrage, die mehr als 1 Zeile abruft/betrifft.
- Die zweite Regel blockiert die Ausführung jeder Abfrage, die mehr als 10 Zeilen abruft/betrifft.
- In diesem Fall hat die erste Regel eine höhere Priorität als die zweite, was praktisch bedeutet, dass jede Abfrage, die versucht, 1 Zeile oder mehr abzurufen, dies tun darf, unabhängig von den anderen Regeln, die sich mit den Kriterien (Anzahl der abgerufenen/betroffenen Zeilen) befassen.
- Wenn wir einen Schritt weiter gehen und eine dritte Regel aktivieren, die alle Abfragen bedingungslos blockiert, würde dies zusätzliche Sicherheitskriterien abdecken, die sich nicht nur auf die Anzahl der abgerufenen/betroffenen Zeilen konzentrieren. In diesem Fall wird DataSunrise unabhängig von der Prioritätsebene die dritte Regel aktivieren:
