Regelpriorität
DataSunrise bietet eine intelligente Methode zur Verwaltung der Auslösefolge von Regeln, um effizient gezielte Informationen innerhalb Ihrer Datenbank zu erfassen. Unter Beibehaltung dieses Fokusses eliminiert DataSunrise die doppelte Ausführung und/oder Erzeugung von Auditprotokollen durch dasselbe Regelmodul, sodass dies bei der Festlegung der Priorität überlappender Regeln (falls vorhanden) berücksichtigt werden sollte.
In diesem Sinne wird DataSunrise immer die erste Regel in der Prioritätsreihenfolge auswählen, die natürlich nach Ihren Anforderungen geändert werden kann.
Die Engine von DataSunrise arbeitet so, dass sie alle Teile einer komplexen Abfrage in Sequenz erfasst, um eine granulare Sicherheitsüberwachung durchzusetzen; daher würde sie mehrere Audit-Trails generieren, die sich auf mehrere sich überlappende Regeln verschiedener Schweregrade beziehen, da dies für die Durchsetzung von Benachrichtigungen und/oder Warnungen für bestimmte Aktivitäten in komplexen Abfragen, die besondere Aufmerksamkeit erfordern, wesentlich sein kann, nicht aber die anderen von höherer Priorität und umgekehrt.
Auditregeln Prioritätsmanagement in DataSunrise:
Im folgenden Beispiel demonstrieren wir, wie DataSunrise die Priorität von Auditregeln mit sich überschneidenden Themen verarbeitet.
- Die folgende Liste von Regeln enthält Auditregeln für die Überwachung ALLER Datenbankaktivitäten in einer Oracle-Datenbank, doch wie aus der Benennung ersichtlich ist, wurde die Konfiguration so vorgenommen, dass einige Abfragen die Auslösekriterien in jeder von ihnen erfüllen könnten:
- 1st_EmployeesTable: Diese Regel wurde erstellt, um die Aktivitäten der Employees-Tabelle (des HR-Schemas) auf Tabelebene zu überwachen.
- 2nd_auditHRschema: Diese Regel wurde erstellt, um Aktivitäten auf Schemaebene zu überwachen.
- 3rd_audit_ORCL_db: Diese Regel wurde erstellt, um jegliche Aktivitäten in der gesamten Datenbank zu überwachen.
- QueryTypes: Diese Regel wurde erstellt, um ALLE Arten von Abfragen außer SELECT zu überwachen.
- Ich habe zwei SQL-Anweisungen ausgeführt (eine ziemlich einfache und die andere ziemlich komplex):
- Diese beiden SQL-Anweisungen haben zu den folgenden Audit-Trails geführt (ein Trail für die erste Abfrage und drei Trails für die zweite Abfrage):
- Die erste Abfrage erfüllt technisch gesehen die Kriterien zur Auslösung der ersten drei Regeln:
- EMPLOYEES-Tabelle (Regel Nr. 1).
- Mitglied des HR-Schemas (Regel Nr. 2).
- Irgendwo in der Datenbank (Regel Nr. 3).
Es wird jedoch nur Audit-ID Nr. 1 generiert, wie aus den folgenden Ergebnissen ersichtlich ist, und der Grund dafür ist, dass ein Teil dieser Abfrage auditiert werden muss, nämlich der SELECT auf die EMPLOYEES-Tabelle. Da keine anderen Teile dieser Abfrage weitere Regeln auslösen, wird keine andere Regel ausgelöst.
- Andererseits besteht der Grund, warum die zweite Abfrage drei Trails generiert, darin, dass die Engine von DataSunrise drei Komponenten in dieser Abfrage erkennt, die jeweils mit drei verschiedenen Regeln von drei verschiedenen Auslöseaspekten 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 in der ersten Regel adressiert wird.
- 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 mehrere Regeln eindeutig auslösen können, wird dies geschehen, es sei denn, es handelt sich um dieselbe Komponente, in welchem Fall nur eine Regel ausgelöst wird, wie im Audit-Trail der ersten Abfrage SELECT * FROM employees;
Sicherheitsregeln Prioritätsmanagement in DataSunrise:
Für Sicherheitsregeln gelten die oben genannten Konzepte, und eine weitere Überlegung hinsichtlich der Anzahl der betroffenen/zurückgegebenen 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 wurde der ersten Regel eine höhere Priorität gegeben als der zweiten, was praktisch bedeutet, dass jede Abfrage, die versucht, mehr als 1 Zeile abzurufen, dies unabhängig von den anderen Regeln tun darf, 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ürden dadurch zusätzliche Sicherheitskriterien abgedeckt werden, die sich nicht auf die Anzahl der abgerufenen/betroffenen Zeilen konzentrieren, und in diesem Fall wird DataSunrise die dritte Regel unabhängig von der Prioritätsebene aktivieren: