
Traccia di Audit dei Dati di ScyllaDB

L’auditing dei dati è un aspetto cruciale della gestione dei database, che consente 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 della traccia di audit dei dati di ScyllaDB e i benefici aggiuntivi dell’integrazione di DataSunrise per un auditing completo del database.
Comprendere le Tracce di Audit dei Dati
Una traccia di audit dei dati cattura meticolosamente ogni operazione all’interno di un database, documentando attività quali modifiche ai dati, query eseguite e azioni amministrative. Questo registro esaustivo consente alle organizzazioni di mantenere la conformità normativa, di identificare e affrontare tempestivamente le vulnerabilità di sicurezza e di analizzare i dati storici per individuare tendenze e approfondimenti, rafforzando così la trasparenza operativa e il controllo.
ScyllaDB facilita questo processo attraverso sia le capacità native sia strumenti esterni, consentendo il tracciamento e l’analisi efficace degli eventi del database per svariate esigenze aziendali.
Funzionalità di Auditing Nativo di ScyllaDB
ScyllaDB Enterprise supporta l’auditing dei dati nativo configurando il file scylla.yaml. Gli amministratori possono registrare le attività in un Syslog oppure in una tabella di ScyllaDB, a seconda delle proprie preferenze per l’archiviazione e il monitoraggio.
Abilitare l’Auditing in ScyllaDB
Per abilitare l’auditing, imposti il parametro audit nel file scylla.yaml:
- none: Disabilita l’auditing (predefinito).
- table: Memorizza i log di audit in una tabella di ScyllaDB.
- syslog: Invia i log di audit a Syslog.
Esempio di configurazione per l’auditing:
# Impostazioni Audit audit: "table" # Categorie di Audit audit_categories: "DCL,DDL,AUTH" # Tabelle e keyspace specifici da monitorare audit_tables: "mykeyspace.mytable" audit_keyspaces: "mykeyspace"
Riavii il nodo Scylla per applicare le modifiche:
sudo systemctl restart scylla-server
Parametri di Audit Configurabili
ScyllaDB consente di perfezionare le impostazioni di audit utilizzando i seguenti parametri:
Parametro | Descrizione |
---|---|
audit_categories | Elenco separato da virgola delle categorie di eventi. |
audit_tables | Tabelle da monitorare nel formato <keyspace>.<table>. |
audit_keyspaces | Keyspace da monitorare per intero. |
Categorie di Eventi
- AUTH: Registra eventi di login.
- DML: Traccia la manipolazione dei dati (INSERT, UPDATE, DELETE).
- DDL: Registra le modifiche dello schema (CREATE, ALTER, DROP).
- DCL: Registra le modifiche ai permessi.
- QUERY: Cattura tutte le query (elevato sovraccarico di storage).
- ADMIN: Registra operazioni amministrative.
Visualizzazione dei Log di Audit
I log vengono memorizzati in base al metodo configurato:
Esempio 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 Tabella
I log di audit memorizzati 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 dei Dati Nativo tramite SQL
ScyllaDB supporta l’auditing tramite funzionalità SQL come le viste e le stored procedure. Esploriamo alcuni esempi.
Utilizzo delle 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';
Utilizzo di Stored Procedure per l’Auditing
Le stored procedure 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;
Connessione a ScyllaDB
Per connettersi e configurare l’auditing, utilizzi 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 in ScyllaDB
DataSunrise migliora l’auditing di ScyllaDB con funzionalità avanzate, fornendo controllo centralizzato e analisi dettagliate.
Configurazione di DataSunrise per l’Auditing in ScyllaDB
- Crea un’Istanza: Avvii una nuova istanza di DataSunrise e si connetta al suo database ScyllaDB.
- Configura i Filtri: Definisca le istruzioni di filtro per l’auditing:
- Gruppo Oggetti: Monitora specifici oggetti del database.

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

- Tipi di Query: Rileva tentativi di SQL injection.

- SQL Injection:

- Eventi di Sessione: Cattura le attività delle sessioni degli utenti.

Visualizzazione dei Dati di Audit in DataSunrise
I risultati dell’audit sono disponibili nel cruscotto di DataSunrise. È possibile esportare i log o generare report per l’analisi.

Vantaggi di DataSunrise
- Controllo Centralizzato: Regole uniformi su più database.
- Assicurazione della Conformità: Semplifica il rispetto dei requisiti normativi.
- Sicurezza Avanzata: Rileva comportamenti anomali, inclusi i tentativi di SQL injection.
Conclusione
Implementare una traccia di audit dei dati in ScyllaDB è un passo fondamentale verso una sicurezza robusta del database e un controllo operativo efficace. Le funzionalità di auditing nativo di ScyllaDB forniscono meccanismi precisi e configurabili per monitorare le azioni degli utenti e le modifiche al database, garantendo conformità e individuando potenziali vulnerabilità. Sfruttando strumenti basati su SQL, come viste e stored procedure, gli amministratori possono realizzare processi di auditing personalizzati e adattabili alle esigenze organizzative.
L’integrazione di DataSunrise eleva ulteriormente questa capacità offrendo auditing e sicurezza centralizzati. I filtri avanzati della piattaforma e il monitoraggio delle sessioni assicurano un approccio uniforme alla governance dei dati su più sistemi, migliorando la conformità e l’efficienza operativa. Inoltre, le analisi e i report dettagliati di DataSunrise semplificano l’identificazione di anomalie e minacce.
Per scoprire come DataSunrise può semplificare ed elevare la strategia di auditing del database, visiti il sito ufficiale e scopra le sue funzionalità complete attraverso una dimostrazione online.