ScyllaDB Daten Audit Trail
Daten-Audits sind ein entscheidender Aspekt des Datenbankmanagements und ermöglichen Administratoren die Überwachung und Nachverfolgung von Änderungen, Abfragen und Ereignissen innerhalb ihrer Systeme. ScyllaDB bietet robuste Werkzeuge für Daten-Audits, die Compliance, Sicherheit und betriebliche Effizienz gewährleisten. Dieser Artikel untersucht die nativen Fähigkeiten des ScyllaDB Daten Audit Trails und die zusätzlichen Vorteile der Integration von DataSunrise für umfassende Datenbank-Audits.
Verständnis von Daten Audit Trails
Ein Daten Audit Trail erfasst sorgfältig jede Operation innerhalb einer Datenbank und dokumentiert Aktivitäten wie Datenänderungen, ausgeführte Abfragen und administrative Aktionen. Dieses umfassende Protokoll ermöglicht es Organisationen, gesetzliche Anforderungen zu erfüllen, Sicherheitslücken schnell zu erkennen und zu beheben und historische Daten zu analysieren, um Trends und Erkenntnisse zu gewinnen, wodurch die betriebliche Transparenz und Kontrolle gestärkt wird.
ScyllaDB erleichtert diesen Prozess durch sowohl native Fähigkeiten als auch externe Werkzeuge und ermöglicht eine effektive Nachverfolgung und Analyse von Datenbankereignissen für unterschiedliche geschäftliche Bedürfnisse.
Native Daten-Audit-Funktionen von ScyllaDB
ScyllaDB Enterprise unterstützt native Daten-Audits durch Konfiguration der scylla.yaml-Datei. Administratoren können Aktivitäten entweder in ein Syslog oder eine ScyllaDB-Tabelle protokollieren, abhängig von ihren Speicher- und Überwachungspräferenzen.
Aktivieren von ScyllaDB Audits
Um Audits zu aktivieren, setzen Sie den Audit-Parameter in der scylla.yaml-Datei:
- none: Deaktiviert Audits (Standard).
- table: Speichert Audit-Logs in einer ScyllaDB-Tabelle.
- syslog: Sendet Audit-Logs an Syslog.
Beispielkonfiguration für Audits:
# Audit-Einstellungen audit: "table" # Audit-Kategorien audit_categories: "DCL,DDL,AUTH" # Bestimmte Tabellen und Keyspaces zum Auditieren audit_tables: "mykeyspace.mytable" audit_keyspaces: "mykeyspace"
Starten Sie den Scylla-Knoten neu, um Änderungen zu übernehmen:
sudo systemctl restart scylla-server
Konfigurierbare Audit-Parameter
ScyllaDB ermöglicht die Feinabstimmung der Audit-Einstellungen mit den folgenden Parametern:
Parameter | Beschreibung |
audit_categories | Komma-separierte Liste von Ereigniskategorien. |
audit_tables | Tabellen zum Auditing im <keyspace>.<table>-Format. |
audit_keyspaces | Keyspaces, die vollständig auditiert werden sollen. |
Ereigniskategorien
- AUTH: Protokolliert Login-Ereignisse.
- DML: Verfolgt Datenmanipulationen (INSERT, UPDATE, DELETE).
- DDL: Protokolliert Schema-Änderungen (CREATE, ALTER, DROP).
- DCL: Protokolliert Berechtigungsänderungen.
- QUERY: Erfasst alle Abfragen (hoher Speicherbedarf).
- ADMIN: Protokolliert administrative Operationen.
Anzeigen von Audit Logs
Logs werden basierend auf der konfigurierten Methode gespeichert:
Beispiel Syslog
Logs erscheinen im Syslog des Systems unter dem Prozessnamen scylla-audit. Beispielausgabe:
Mar 18 09:53:52 scylla-audit[28387]: "10.143.2.108", "DDL", "ONE", "team_roster", "nba", "DROP TABLE nba.team_roster;", "127.0.0.1", "anonymous", "false"
Beispiel Tabelle
Audit-Logs in einer Tabelle können mit SQL abgefragt werden:
SELECT * FROM audit.audit_log;
Ausgabe:
Datum | Kategorie | keyspace_name | Operation |
2024-12-01 12:00:00 | DDL | nba | DROP TABLE nba.team_roster; |
Native Daten-Auditfunktionen mit SQL
ScyllaDB unterstützt Audits durch SQL-Funktionen wie Views und gespeicherte Prozeduren. Lassen Sie uns einige Beispiele erkunden.
Verwendung von Views zum Auditing
Views können Änderungen nachverfolgen, indem sie ein Audit-View erstellen, das mit einer Tabelle verknüpft ist:
CREATE MATERIALIZED VIEW audit_view AS SELECT * FROM mykeyspace.mytable WHERE timestamp > now() - interval '1 day';
Diese Abfrage erfasst aktuelle Änderungen zu Überwachungszwecken.
Verwendung von gespeicherten Prozeduren zum Auditing
Gespeicherte Prozeduren können Ereignisse in eine benutzerdefinierte Audit-Tabelle protokollieren:
CREATE OR REPLACE FUNCTION log_audit(event TEXT, user TEXT) RETURNS VOID AS $$ BEGIN INSERT INTO mykeyspace.audit_log (event, user, event_time) VALUES (event, user, NOW()); END; $$ LANGUAGE plpgsql;
Rufen Sie die Funktion während der Operationen auf, um einen Audit-Trail zu führen.
Verbindung mit ScyllaDB
Um eine Verbindung herzustellen und Audits zu konfigurieren, verwenden Sie Ihren bevorzugten Client, wie cqlsh oder eine Programmiersprache wie Python:
from cassandra.cluster import Cluster cluster = Cluster(["127.0.0.1"]) session = cluster.connect("mykeyspace") session.execute("ALTER TABLE mytable ...")
DataSunrise-Integration für ScyllaDB Audits
DataSunrise verbessert die Auditfunktionen von ScyllaDB mit erweiterten Features und bietet zentrale Kontrolle und detaillierte Analysen.
Konfiguration von DataSunrise für ScyllaDB Audits
- Erstellen einer Instanz: Starten Sie eine neue DataSunrise-Instanz und verbinden Sie sich mit Ihrer ScyllaDB-Datenbank.
- Filter einrichten: Definieren Sie Filtraussagen für das Auditing:
- Objektgruppe: Überwachen Sie bestimmte Datenbankobjekte.
- Abfragegruppe: Filtern Sie Abfragen basierend auf Typen (DML, DDL).
- Abfragetypen: Erkennen Sie SQL-Injektionsversuche.
- SQL-Injektionen:
- Sitzungsereignisse: Erfassen Sie Aktivitäten der Benutzersitzungen.
Anzeigen von Audit-Daten in DataSunrise
Audit-Ergebnisse sind im DataSunrise-Dashboard verfügbar. Exportieren Sie Logs oder generieren Sie Berichte zur Analyse.
Vorteile von DataSunrise
- Zentrale Kontrolle: Einheitliche Regeln über mehrere Datenbanken hinweg.
- Compliance-Sicherung: Vereinfacht die Erfüllung gesetzlicher Anforderungen.
- Erhöhte Sicherheit: Erkennt anomales Verhalten, einschließlich SQL-Injektionen.
Schlussfolgerung
Die Implementierung eines ScyllaDB Daten Audit Trails ist ein entscheidender Schritt hin zu robuster Datenbanksicherheit und betrieblicher Aufsicht. Nativ ScyllaDB Audit-Funktionen bieten präzise und konfigurierbare Mechanismen zur Überwachung von Benutzeraktionen und Datenbankänderungen, gewährleisten Compliance und enthüllen potenzielle Schwachstellen. Durch den Einsatz von SQL-basierten Werkzeugen wie Views und gespeicherten Prozeduren können Administratoren maßgeschneiderte, anpassbare Auditprozesse entwickeln, die auf die Bedürfnisse der Organisation zugeschnitten sind.
Die Integration von DataSunrise erhöht diese Fähigkeit weiter, indem sie zentrale Audits und Sicherheit bietet. Die erweiterten Filter und die Sitzungsverfolgung der Plattform gewährleisten einen einheitlichen Ansatz zur Datenverwaltung über mehrere Systeme hinweg, was Compliance und betriebliche Effizienz verbessert. Zudem vereinfachen die Analysen und detaillierten Berichte von DataSunrise die Identifizierung von Anomalien und Bedrohungen.
Um zu erfahren, wie DataSunrise Ihre Datenbank-Auditstrategie rationalisieren und verbessern kann, besuchen Sie die offizielle Website und entdecken Sie dessen umfassende Funktionen durch eine Online-Demonstration.