DataSunrise Regeln Beste Vorgehensweisen
Einführung
DataSunrise Database Security ist eine leistungsstarke Lösung für die Überwachung von Datenbankaktivitäten/Datenprüfungen und den Echtzeit-Datenschutz und Datenbank-Firewall, die das Sicherheitsniveau für Daten und Datenbanken sowohl vor Ort als auch in der Cloud erheblich erhöht. Oft ist es schwierig zu verstehen, welche Daten geschützt werden sollten, wo diese Daten in Ihrer Datenbank gespeichert sind und wie die DataSunrise Suite konfiguriert werden muss, um den bestmöglichen Schutz zu gewährleisten.
Dieses Dokument enthält eine detaillierte Beschreibung der besten Praktiken für DataSunrise Regeln, die Ihnen helfen werden, die effektivste und angemessenste Datensicherheitskonfiguration zu erstellen.
Hauptfunktionen und Möglichkeiten von DataSunrise
1. DB Aktivitätsüberwachung / Datenprüfung
Die Datenbankaktivitätsüberwachung (DAM) von DataSunrise ermöglicht Echtzeit-Tracking aller Benutzeraktionen und Änderungen, die an einer Datenbank vorgenommen wurden. Während die Datenbankprüfung hauptsächlich zur Untersuchung von Datenverstößen verwendet wird, hilft die kontinuierliche Überwachung der Datenbankaktivität missbräuchliche Zugriffsrechte und Vorbereitungen für Datenbrüche im Voraus zu erkennen.
Zusätzlich dazu verwendet DataSunrise intelligente selbstlernende Algorithmen und Verhaltensanalysen, um den Bereitstellungsprozess der Datenbank-Firewall zu beschleunigen. DataSunrise analysiert das typische Verhalten von Benutzern und Anwendungen und erstellt eine „Whitelist“ von SQL-Abfragen, die standardmäßig als sicher angesehen werden.
2. Daten Schutz und Datenbank-Firewall
Das Datensicherheitsmodul von DataSunrise ist das Hauptwerkzeug, das Unternehmensdatenbanken vor schädlichen und feindseligen Handlungen schützt und die Einhaltung gewährleistet. Mit kontinuierlicher Verkehrsüberwachung und fortschrittlichen SQL-Analysealgorithmen erkennt DataSunrise SQL-Injectionen und unbefugte Zugriffsversuche in Echtzeit. Wenn die Datenbank-Firewall von DataSunrise eine Verletzung der Sicherheitsrichtlinie erkennt, blockiert sie die schädliche SQL-Abfrage sofort und benachrichtigt die Administratoren über SMTP oder SNMP.
3. Compliance-Manager
Der Compliance-Manager gewährleistet die Einhaltung einer Reihe nationaler und internationaler Sicherheitsstandards und Vorschriften wie HIPAA, PCI DSS, ISO 27001, GDPR und SOX. Die Funktionalität des Compliance Managers übernimmt die vollständige Kontrolle über den Zugriff auf Unternehmensdatenbanken, um illegale Datenverarbeitung, unbefugte Datenveränderung oder versehentlichen Datenverlust zu verhindern.
Die Funktionalität des Compliance-Managers basiert auf einer automatischen Erkennung sensibler Daten in einer Ziel-Datenbank, der Zuweisung bestimmter Rollen an die Benutzer der Ziel-Datenbank und der Implementierung von Sicherheits-, Maskierungs- und Prüfungsrichtlinien entsprechend diesen Rollen sowie periodischer Compliance-Berichte zur ständigen Überprüfung der Datenbankaktivität.
4. Entdeckung sensibler Daten
DataSunrise Data Discovery erkennt sensible Daten in Unternehmensdatenbanken und hilft bei der Einrichtung des effektivsten Schutzes dieser Daten. Es ermöglicht Unternehmen zu verstehen, welches Kontrollniveau für jede Art von sensiblen Daten angemessen ist, die ihre Datenbanken enthalten. Darüber hinaus hilft diese Funktion dabei, den Anforderungen solcher Vorschriften wie GDPR, HIPAA, SOX, PCI DSS und anderen zu entsprechen.
5. Dynamische Daten Maskierung
DataSunrise verhindert die Offenlegung sensibler Daten mit seiner dynamischen Datenmaskierung (DDM).
DataSunrise DDM sichert betriebswichtige Informationen, indem es die Daten von Interesse in der kompletten Datenbank oder nur in ausgewählten Tabellen oder Spalten für unerwünschte Benutzer verschleiert. DataSunrise maskiert die Daten, indem es die tatsächlichen Datenbankeinträge durch zufällig generierte oder benutzerdefinierte Werte ersetzt.
Um potenzielle Datenlecks zu verhindern, werden Datenbankeinträge, die von einem DataSunrise-Benutzer angegeben wurden, on-the-fly maskiert, bevor die Daten aus der Datenbank extrahiert werden.
Compliance Manager
Der Compliance Manager ist ein gutes Werkzeug zur Erstellung einer Anfangskonfiguration von DataSunrise. Kurz gesagt, er automatisiert die Setup-Schritte von DataSunrise, indem er Data Discovery durchführt und Konfigurationsentitäten basierend auf den Ergebnissen der Data Discovery erstellt. Der Compliance Manager erstellt die folgenden Einheiten:
- Audit-Regel für Datenbankobjekte, die sensible Daten enthalten
- Sicherheitsregel zum Blockieren von SQL-Injection
- Sicherheitsregel zum Blockieren des Zugangs zu sensiblen Daten für alle außer bestimmten Benutzern, die während der Arbeit des Compliance Managers in Datenbankbenutzergruppen definiert sind
- Sicherheitsregel zum Blockieren aller Admin-Abfragen, die von Datenbankbenutzern ausgegeben wurden, die nicht zu den „erlaubten“ Benutzergruppen gehören
- Masking-Regeln zur Verschleierung von sensiblen Daten für Datenbankbenutzer, die nicht in „erlaubte“ Benutzergruppen aufgenommen sind und nicht berechtigt sind, die Originaldaten zu verarbeiten.
Neben dem oben beschriebenen Satz von Regeln erstellt der Compliance Manager auch die folgenden Berichte:
- Audit-Bericht über Fälle von Zugriff auf sensible Datenbankobjekte
- Sicherheitsbericht über Versuche, auf sensible Daten zuzugreifen, von Benutzern, die nicht befugt sind, geschützte Daten zu verarbeiten
- Fehlerbericht über Abfragen, die aufgrund von Fehlern jeglicher Herkunft nicht ausgeführt wurden
- Systemereignisbericht über Ereignisse, die während des interessierenden Zeitraums in DataSunrise aufgetreten sind
- Masking-Bericht über Fälle von Zugriff auf sensible Daten, die zur Verschleierung von Daten für Benutzer führten, die nicht berechtigt sind, die ursprünglichen sensiblen Daten zu verarbeiten.
Beachten Sie, dass der Compliance Manager nicht gewährleisten kann, dass 100% der unsicheren Daten abgedeckt sind, die in einer Ziel-Datenbank enthalten sind. Compliance Manager bietet Ihnen eine Konfiguration, die Sie als Basis, erste Schätzungseinrichtung für Ihren Fall verwenden können. Obwohl dieser Ansatz Ihnen eine einsatzbereite Einstellung für Ihre DataSunrise Security Suite bietet, können Sie feststellen, dass das vorgeschlagene Rollenmodell für Ihren speziellen Fall nicht geeignet ist. In diesem Fall können Sie Ihre Rules’ Filter Sessions Optionen anpassen.
Entdeckung sensibler Daten
Sensitive Data Discovery hilft Ihnen dabei, sensible Daten in Ihrer Datenbank zu suchen. Es ist ratsam, eine periodische Aufgabe für die Datenentdeckung zu konfigurieren, die kontinuierlich sensible Daten gemäß den mehreren integrierten Sicherheitsstandards entdeckt. Die Verwendung der Ergebnisse der Datenentdeckung ermöglicht es Ihnen, Ihre sensiblen Daten gemäß Ihren Sicherheitsrichtlinien zu sichern und gleichzeitig manuelle Suchen und manuelles Sichern dieser Daten auszuschließen.
Um eine visuelle Darstellung der gefundenen sensiblen Daten zu haben, wird empfohlen, auch periodische Aufgaben zur Generierung von PDF/CSV-Berichten zu konfigurieren.
Obwohl das Ausführen einer Data Discovery-Aufgabe keine 100%ige Entdeckung sensibler Daten garantiert. Die Beratung mit dem DBA ist auch einer der wichtigen Schritte, die durchgeführt werden müssen, um sicherzustellen, dass keine sensiblen Daten unsicher gelassen werden.
Obwohl Data Discovery nur geringe Auswirkungen auf die Datenbank hat (im Vergleich zu einer Client-Anwendung, die die ersten N (N=100 standardmäßig) Zeilen aus jeder Tabelle in jeder Datenbank abruft, können Sie die Stichprobengröße mit der „Analysierte Zeilenanzahl“-Option in den erweiterten Einstellungen verringern.
Audit-Regeln und Sicherheitsregeln
Bitte beachten Sie, dass die Einstellungen von Audit- und Sicherheitsregeln mit Ausnahme des Abschnitts Aktionen ähnlich sind. Das bedeutet, dass Sie die Datenbankaktivität von Interesse je nach Wahl überwachen oder blockieren können, ohne Möglichkeiten zu verpassen.
Wenn es um die Feinabstimmung von Audit- und Sicherheitsregeln geht, lautet die allgemeine Empfehlung, die Erstellung allgemeiner „All-in-one“-Regeln zu vermeiden, da dies zu viele Daten für die Analyse bereitstellen könnte, die von Drittanbieterprozessen oder von einem SQL-Abfragetool (wie PGAdmin für PostgreSQL oder SQL Server Management Studio für Microsoft SQL Server) generiert werden.
Betrachten Sie die Einrichtung einer Überwachung nur für Datenbankobjekte, die sensible Daten enthalten oder den Zugriff auf Daten überwachen, die eine strenge Datenzugriffsbeobachtung und Protokollierung erfordern. Sie können die Funktion Object Groups verwenden, um solche Datenbankobjekte wie Tabellen, Ansichten, gespeicherte Prozeduren und Funktionen in Gruppen zu ordnen.
Die Verwendung von Object Groups in Ihren Audit/Sicherheitsregeln ermöglicht es Ihnen, Kontrolle und Überwachung über Ihre Datenlagerbereiche von Interesse zu etablieren, um klare und relevante Auditdaten zu erhalten.
Unten finden Sie einige „Rezepte“, wie Sie DataSunrise-Regeln einrichten können, um mit den am weitesten verbreiteten Problemen umzugehen, die in Ihrer Datenbank auftreten können oder die ersten Anzeichen eines Angriffs auf Ihre Datenspeicherung sein könnten.
Überwachung/Blockade eines verdächtigen Verbindungsversuchs (Login-Versuch)
Trotz der Tatsache, dass Anwendungen viele Verbindungen zu einer Datenbank herstellen können, ist es wichtig, die Anzahl der abnormalen Verbindungen oder Verbindungsfehler zu überwachen oder sogar diese Art von Aktivitäten zu beschränken, die von verdächtigen Hosts und Anmeldeinformationen ausgehen. Nachfolgend finden Sie einige Tipps, wie Sie eine Audit-/Sicherheitsregel erstellen können, die alle Hauptfälle von verdächtigen Login-Versuchen abdeckt, die oft bedeuten, dass ein böser Akteur versucht, einen Brute-Force-Angriff auf Ihre Datenbank zu starten.
1. Überwachung/Blockade von häufigen erfolgreichen/fehlgeschlagenen Verbindungen (innerhalb eines Zeitraums)
Um erfolgreiche Verbindungen zu einer Datenbank über einen DataSunrise-Proxy zu überwachen, verwenden Sie Audit Session Events mit der Option „Audit Frequent Connections“ aktiviert für die Überwachung von Fällen, in denen viele häufige Verbindungen von einem bestimmten Benutzer+Host oder Host kommen.
Um häufige erfolgreiche oder fehlgeschlagene Verbindungsversuche zu verhindern, indem ihre Quelle nach Host+Benutzername oder Host blockiert wird, aktivieren Sie das „Block DDOS or Brute Force“ in den Session Events Ihrer Regel.
2. Blockierung von Abfragen, die nicht innerhalb eines erlaubten IP-Bereichs kommen
Um Abfragen zu blockieren, die von potenziell gefährlichen IP-Adressen stammen, verwenden Sie die Filter-Sitzungsoptionen, um Ihre Sicherheitsregel so zu konfigurieren, dass sie von allen Abfragen ausgelöst wird, die NICHT von den Hosts kommen, die in Ihrer Host-Liste von DataSunrise enthalten sind.
3. Verhindern, dass unsichere Verbindungen hergestellt werden
Ein DataSunrise-Proxy kann so konfiguriert werden, dass nur SSL-Verbindungen akzeptiert werden, indem „Accept Only SSL Connections“ in den Proxy-Einstellungen Ihres Ziel-Datenbankprofils in der Web-Konsole aktiviert wird.
4. Überwachung von Root- und Privileged User-Verbindungen
Die Beobachtung der gesamten Root-Verbindungsaktivität kann durch Erstellung einer standardmäßigen Audit-Objektgruppe oder einer Query-Type-Regel und durch Konfiguration der Filter-Sessions-Einstellungen basierend auf dem Root-Datenbankbenutzernamen (z.B. „root“ für MySQL, „system/sys“ für Oracle usw.) oder Datenbankbenutzername mit Admin-Rechten erreicht werden, wenn Sie die Verwendung eines Root-Benutzerkontos vermeiden müssen.
Empfehlungen für Abfragen (Sitzung)
1. Datenverändernde Sprachanfragen
Vorzugsweise sollten Audit-/Sicherheitsregeln für Objektgruppen über Abfragetyp-Regeln verwendet werden. Sie ermöglichen die Überwachung und/oder Sperrung der Haupt-CRUD-Operationen, die an einer Datenbank durchgeführt werden, indem die erforderlichen Objekte entweder aus dem Object Browser durch Auswahl der in der Regel aufgeführten Objekte zur Verarbeitung hinzugefügt oder durch Angabe einer zuvor manuell erstellten oder durch Datenentdeckung erstellten Objektgruppe angegeben werden. Wenn die Beobachtung bestimmter Abfragetypen erforderlich oder eingeschränkt ist, verwenden Sie die Audit/Sicherheitsregel des Abfragetyps. Beachten Sie, dass es auch möglich ist, die Ausführung der gewählten Abfragetypen auf bestimmte Datenbankobjekte zu überwachen, indem eine Objektgruppe in den Einstellungen der Regel angegeben wird. Darüber hinaus können alle Regeln so konfiguriert werden, dass sie nur von bestimmten Anwendungen, Benutzern, Anwendungsbenutzern und Hosts ausgelöst werden, was sicherstellt, dass die erstellte Sicherheitsregel nicht fehl auslöst. Konfigurieren Sie dafür die Einstellungen für Filter-Sitzungen der Regel.
2. SQL-Injection-Audit und Sicherheitsregeln
DataSunrise verfügt über einen SQL-Injection-Erkennungsmechanismus basierend auf Strafpunkten (Strafen), der es Ihnen ermöglicht, Ihr eigenes Niveau von „erlaubten“ Abfragen festzulegen, die an Ihre Datenbank gerichtet sind.
Wir empfehlen Ihnen, eine SQL-Injection-Audit-Regel zu konfigurieren, um verdächtige Abfragen zu überwachen und einen Alarm in der Benachrichtigungssektion der Audit-Regel einzurichten. Die Strafwerte Ihres Filters sollten „schwachen“ SQL-Injection-Abfragen entsprechen, die keinerlei Schaden an einer Datenbank anrichten können.
Neben Audit-Regeln mit konfigurierten Alarmen ist es notwendig, eine SQL-Injection-Security-Regel zu konfigurieren, die SQL-Injection-Abfragen blockiert, die die festgelegte Anzahl an Strafpunkten überschreiten.
Beachten Sie, dass die Anzahl der Strafpunkte SQL-Injection-Abfragen entsprechen sollte, die einen erheblichen Schaden an einer Datenbank verursachen können. Die Strafwerte sollten höher sein als die in der Audit-Regel.
3. Abfragen, die eine enorme Anzahl von Zeilen zurückgeben
Eine große Anzahl von betroffenen/geholten Zeilen, wenn keine entsprechenden Abfragen, die von der Anwendung oder von BI-Tools verwendet werden, können darauf hindeuten, dass in der Datenbank eine verdächtige Aktivität stattfindet oder die Anwendung kompromittiert wurde. Um solche Abfragen zu verhindern, verwenden Sie eine Security-Regel vom Typ Object Group mit „Regel auslösen, nur wenn die Anzahl der betroffenen/geholten Zeilen nicht kleiner ist”, die aktiviert ist, gefolgt von der Anzahl der betroffenen/geholten Zeilen, die als abnormal in Ihrer Umgebung erachtet wird. Eine alternative Möglichkeit besteht darin, eine Audit-Regel mit konfiguriertem Object Group-Typ und einem Abonnenten zu verwenden, um Benachrichtigungen über diese Art von Ereignissen zu erhalten, die in der Datenbank stattfinden.
4. Zu lange ausgeführte Abfragen
Wenn es zu lange dauert, bis Ihre Abfragen ausgeführt werden, kann dies zu Performanceproblemen, schlechter Benutzererfahrung und kann auch ein Zeichen dafür sein, dass ein Insider versucht, Ihre wertvollen Daten zu stehlen, da solche Daten durch Abfragen einer ganzen Tabelle erhalten werden, die eine Weile dauern kann. Verwenden Sie eine Audit-Regel mit konfigurierten Sitzungsereignissen: aktivieren Sie „Query Execution Takes Longer Than“ und setzen Sie einen Wert (Dauer in Sekunden), der als abnormal angesehen wird und deren lange ausgeführte Abfrage geprüft und gemeldet werden muss, indem die Funktion Abonnenten verwendet wird.
5. Abfragen mit falscher Syntax (die einen Fehler zurückgeben)
Um Abfragen zu überwachen, die aufgrund eines Syntaxfehlers nicht ausgeführt wurden, verwenden Sie eine Audit-Regel vom Typ Sitzungsereignisse mit der „Audit Operation Errors“-Option aktiviert. Konfigurieren Sie die Fehlerhäufigkeit, die als verdächtig angesehen wird und die Aufmerksamkeit des DBA- oder Sicherheitsteams erfordert. Fügen Sie einen Abonnenten hinzu, um das Personal darüber zu informieren, dass häufig SQL-Fehler auftreten, wenn eine Verbindung hergestellt wird.
6. Abfragen, die auf sensible Tabellen zugreifen
Um den Zugriff auf eine Reihe von Datenbankobjekten zu beschränken, wird empfohlen, eine Sicherheitsregel vom Typ Objektgruppe zu verwenden. Mit dieser Art von Sicherheitsregeln können Sie den Zugriff auf bestimmte Datenbankobjekte einschränken, indem Sie entweder eine Liste von Objekten verwenden, die über den Object Browser ausgewählt werden können, oder eine Objektgruppe, die Datenbankobjekte von Interesse enthält. Um ein angemessenes Maß an Zugriffsbeschränkung auf Daten bereitzustellen, wird empfohlen, Filter-Sitzungen zu konfigurieren, um diese Regel für bestimmte Anwendung/Datenbankbenutzer/Anwendungsbenutzer/Host und Gruppen von Datenbankbenutzern/Anwendungsbenutzern/Hosts zu aktivieren oder zu überspringen.
7. Honey Pot Tabelle
Betrachten Sie die Erstellung einer Tabelle (Tabellen), die gefälschte sensible Daten enthält, die als Köder für Hacker dienen werden. Im Falle einer Anfrage an diese Tabelle sollte die Anfragequelle dauerhaft blockiert werden. Sie können auch eine Lernregel anwenden, um mehr Einblicke in die Strategie der Angreifer zu erhalten (Abfragen, Hosts, Anwendungen usw.). Im Allgemeinen sollten Sie darüber nachdenken, eine Honigtopf-Datenbank in einer separaten Datenbankinstanz in Ihrer Umgebung einzurichten und sie hinter einer anderen Instanz von DataSunrise mit separaten Audit-Speichern und Wörterbuchdatenbanken zu platzieren.
8. Blockieren unerwünschter Abfragen
Um bestimmte SQL-Anweisungen zu verfolgen und/oder zu blockieren, die Sie nicht ausgeführt haben möchten, verwenden Sie die Query Groups von DataSunrise. Sie können diese entweder als Abfragevorlagen (durch Verwendung von Regulären Ausdrücken) oder als genaue Abfragen konfigurieren, die überprüft und bei ihrer Ausführung überprüft/blockiert werden. Eine Sicherheitsregel sollte so konfiguriert werden, dass sie prüft, ob eine eingehende Abfrage in der an die Regel angehängten Query Group enthalten ist, indem die Drop-Down-Liste „Process Group of Query“ verwendet wird. Es sollte beachtet werden, dass eine Query Group im Voraus erstellt werden muss, um aus der oben genannten Liste auswählbar zu sein. Verwenden Sie Query Groups, um die Überwachung und/oder Einschränkung der Verwendung bestimmter Abfragen wie GRANT-Anweisungen zu etablieren.
9. Abfragen, die auf Privilegien-Veränderungen abzielen
Sie können die Funktion Query Groups verwenden, um Gruppen von SQL-Abfragen zu erstellen, die in dem Datenbankverkehr identifiziert werden müssen und dann überwacht und/oder blockiert werden. Die bessere Option für die Überwachung von GRANT-Abfragen besteht jedoch darin, Audit-/Sicherheitsregeln als Abfragetyp zu verwenden, mit den entsprechenden Abfragetypen spezifiziert. Dies ermöglicht Ihnen, eine vollständige Kontrolle über Abfragetypen von Interesse durch Überwachung und Einschränkung der Ausführung von ausgewählten Kategorien von Abfragen zu etablieren. Betrachten Sie die Kombination von Query Groups und Query Type Rules, um das gewünschte Kontrollniveau über die Datenbankaktivität zu erreichen.
10. Umgang mit SELECT * SQL-Abfragen
SELECT * FROM TABLE ist keine übliche Abfrage. In vielen Fällen können solche Abfragen bedeuten, dass jemand versucht, so viele Daten wie möglich zu erhalten, um das Ergebnisset aus der Datenbank herunterzuladen. Dies könnte zu einem Datenleck führen. Es wird empfohlen, solche Abfragen zu kontrollieren, indem ihre Ausführung in der Datenbank eingeschränkt wird. Um SELECT * Abfragen zu handhaben, verwenden Sie eine Sicherheitsregel mit der Option „Query Includes „SELECT *“ Expression“ aktiviert. Wenn diese Option aktiviert ist, prüft und blockiert DataSunrise Abfragen wie SELECT * FROM TABLE und SELECT * FROM TABLE WHERE CONDITION=VALUE.
Wenn solche Abfragen ausgeführt werden müssen, begrenzen Sie die Liste der erlaubten Benutzer/Anwendungen/Anwendungsbenutzer/Hosts, indem Sie die Filter-Sessions-Optionen verwenden.
Dynamische Masking-Regeln
Allgemeine Empfehlungen
- Koppeln Sie Audit-Regeln mit Masking-Regeln, um eine vollständige Abdeckung des Zugangs zu sensiblen Daten zu gewährleisten
- Verwenden Sie die „Filter Session“-Option einer Masking-Regel, um zu verhindern, dass die Regel von unerwünschten Benutzern ausgelöst wird
- Verwenden Sie den „Application User“-Filter für die Fälle, in denen die dynamische Masking-Regel verwendet wird, um Daten zu verschleiern, auf die von Anwendungsbenutzern in komplexen Systemen wie SAP ECC und Oracle EBS zugegriffen wird.
- Wenn es erforderlich ist, Werte in einer gesamten Zeile zu maskieren, sollten Sie die Funktion „Hide Rows“ anstelle der regulären Dynamic Masking verwenden. Mit Hide Rows können ganze Zeilen, die die Anforderungen der Masking-Regel erfüllen, versteckt werden. Verwenden Sie Filter-Sessions, um zu definieren, unter welchen Bedingungen Ihre Hide Rows Dynamic Masking-Regel ausgelöst wird.
Fazit
Dieses Dokument fasst die Empfehlungen in Form von Anwendungsfällen zusammen, die Benutzer beim Umgang mit Datenbanksicherheit antreffen können. Die bereitgestellten Anregungen und Anwendungsfälle sind nicht obligatorisch, können jedoch als Referenz beim Erstellen einer benutzerdefinierten DataSunrise-Konfiguration verwendet werden.
Das Dokument umfasst die wichtigsten Tipps und Empfehlungen zu welchen Arten von Regeln und welchen Optionen sollten verwendet werden, um die Datenbankaktivitätsüberwachung, die Datenbank-Firewall und das Daten-Masking zu nutzen.