
Traccia di Audit dei Dati di ScyllaDB

L’auditing dei dati è un aspetto cruciale della gestione dei database, consentendo agli amministratori di monitorare e tracciare modifiche, query ed eventi all’interno dei loro sistemi. ScyllaDB offre strumenti robusti per l’auditing dei dati, garantendo conformità, sicurezza ed efficienza operativa. Questo articolo esplora le capacità native di traccia di audit dei dati di ScyllaDB e i benefici aggiuntivi dell’integrazione di DataSunrise per un auditing dei database completo.
Comprendere le Tracce di Audit dei Dati
Una traccia di audit dei dati cattura meticolosamente ogni operazione all’interno di un database, documentando attività come modifiche ai dati, query eseguite e azioni amministrative. Questo record completo consente alle organizzazioni di mantenere la conformità regolatoria, identificare e risolvere rapidamente le vulnerabilità di sicurezza e analizzare i dati storici per tendenze e approfondimenti, rafforzando così la trasparenza e il controllo operativi.
ScyllaDB facilita questo processo attraverso capacità sia native che strumenti esterni, permettendo un monitoraggio e un’analisi efficaci degli eventi del database per diverse esigenze aziendali.
Funzionalità Native di Auditing dei Dati di ScyllaDB
ScyllaDB Enterprise supporta l’auditing dei dati nativo configurando il file scylla.yaml. Gli amministratori possono registrare le attività sia in un Syslog che in una tabella di ScyllaDB, a seconda delle loro preferenze di archiviazione e monitoraggio.
Abilitare l’Auditing di ScyllaDB
Per abilitare l’auditing, impostare il parametro audit nel file scylla.yaml:
- none: Disabilita l’auditing (default).
- table: Archivia i log di audit in una tabella di ScyllaDB.
- syslog: Invia i log di audit a Syslog.
Esempio di configurazione per l’auditing:
# Impostazioni di audit audit: "table" # Categorie di audit audit_categories: "DCL,DDL,AUTH" # Tabelle e keyspace specifici da auditare audit_tables: "mykeyspace.mytable" audit_keyspaces: "mykeyspace"
Riavviare il nodo Scylla per applicare le modifiche:
sudo systemctl restart scylla-server
Parametri di Audit Configurabili
ScyllaDB consente di affinare le impostazioni di audit utilizzando i seguenti parametri:
Parametro | Descrizione |
audit_categories | Elenco separato da virgole delle categorie di eventi. |
audit_tables | Tabelle da auditare nel formato <keyspace>.<table>. |
audit_keyspaces | Keyspace da auditare interamente. |
Categorie di Eventi
- AUTH: Registra gli eventi di login.
- DML: Traccia la manipolazione dei dati (INSERT, UPDATE, DELETE).
- DDL: Registra le modifiche dello schema (CREATE, ALTER, DROP).
- DCL: Registra i cambiamenti di permessi.
- QUERY: Cattura tutte le query (alto consumo di archiviazione).
- ADMIN: Registra le operazioni amministrative.
Visualizzare i Log di Audit
I log sono archiviati in base al metodo configurato:
Esempio di Syslog
I log appaiono nel Syslog del sistema sotto il nome del processo scylla-audit. Esempio di output:
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"
Esempio di Tabella
I log di audit in una tabella possono essere interrogati utilizzando SQL:
SELECT * FROM audit.audit_log;
Output:
data | categoria | keyspace_name | operazione |
2024-12-01 12:00:00 | DDL | nba | DROP TABLE nba.team_roster; |
Auditing Nativo dei Dati con SQL
ScyllaDB supporta l’auditing attraverso le funzionalità SQL come viste e procedure memorizzate. Esploriamo alcuni esempi.
Utilizzare le Viste per l’Auditing
Le viste possono tracciare le modifiche creando una vista di audit collegata a una tabella:
CREATE MATERIALIZED VIEW audit_view AS SELECT * FROM mykeyspace.mytable WHERE timestamp > now() - interval '1 day';
Questa query cattura le modifiche recenti per scopi di monitoraggio.
Utilizzare le Procedure Memorizzate per l’Auditing
Le procedure memorizzate possono registrare eventi in una tabella di audit personalizzata:
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;
Invocare la funzione durante le operazioni per mantenere una traccia di audit.
Collegarsi a ScyllaDB
Per connettersi e configurare gli audit, utilizzare il client preferito, come cqlsh o un linguaggio di programmazione come Python:
from cassandra.cluster import Cluster cluster = Cluster(["127.0.0.1"]) session = cluster.connect("mykeyspace") session.execute("ALTER TABLE mytable ...")
Integrazione di DataSunrise per l’Auditing di ScyllaDB
DataSunrise migliora l’auditing di ScyllaDB con funzionalità avanzate, offrendo controllo centralizzato e analisi dettagliate.
Configurare DataSunrise per l’Auditing di ScyllaDB
- Creare un’Istanza: Avviare una nuova istanza di DataSunrise e connettersi al database ScyllaDB.
- Impostare i Filtri: Definire dichiarazioni di filtro per l’auditing:
- Gruppo di Oggetti: Monitorare oggetti specifici del database.

- Gruppo di Query: Filtrare le query in base ai tipi (DML, DDL).

- Tipi di Query: Rilevare tentativi di SQL injection.

- SQL Injection:

- Eventi della Sessione: Catturare le attività della sessione utente.

Visualizzare i Dati di Audit in DataSunrise
I risultati dell’audit sono disponibili nella dashboard di DataSunrise. Esportare i log o generare report per l’analisi.

Benefici di DataSunrise
- Controllo Centralizzato: Regole uniformi attraverso più database.
- Assicurazione della Conformità: Semplifica il rispetto dei requisiti normativi.
- Sicurezza Avanzata: Rileva comportamenti anomali, inclusi SQL injection.
Conclusione
Implementare una traccia di audit dei dati di ScyllaDB è un passo fondamentale verso una robusta sicurezza del database e supervisione operativa. Le funzionalità di auditing native di ScyllaDB forniscono meccanismi precisi e configurabili per monitorare le azioni degli utenti e le modifiche del database, garantendo conformità e rilevando potenziali vulnerabilità. Utilizzando strumenti basati su SQL come viste e procedure memorizzate, gli amministratori possono costruire processi di auditing personalizzati e adattabili alle esigenze dell’organizzazione.
L’integrazione di DataSunrise eleva ulteriormente questa capacità offrendo auditing e sicurezza centralizzati. I filtri avanzati della piattaforma e il tracciamento delle sessioni garantiscono un approccio uniforme alla governance dei dati attraverso più sistemi, migliorando la conformità e l’efficienza operativa. Inoltre, le analisi dettagliate e i report di DataSunrise semplificano l’identificazione di anomalie e minacce.
Per esplorare come DataSunrise può semplificare e migliorare la sua strategia di auditing dei database, visiti il sito web ufficiale e scopra le sue funzionalità complete attraverso una dimostrazione online.