Audit del Database per ScyllaDB
Introduzione
Nel mondo odierno, guidato dai dati, le organizzazioni stanno affrontando petabyte di dati. Di conseguenza, la necessità di archiviare e gestire questi dati in modo efficiente non è mai stata così grande. Le principali aziende IT sono costantemente in competizione per sviluppare le soluzioni più integrate e scalabili per gestire grandi volumi di dati non strutturati, come messaggi, log o dati dei sensori. Una delle scelte più popolari per l’archiviazione distribuita dei dati è Apache Cassandra, un database NoSQL noto per la sua scalabilità e tolleranza ai guasti.
Tuttavia, è emerso un nuovo contendente: ScyllaDB. Promettendo di superare Cassandra sia in termini di velocità che di scalabilità, ScyllaDB sta attirando attenzione per le sue capacità ad alte prestazioni e le funzionalità aziendali, tra cui l’audit nativo del database. In questo articolo esploreremo le capacità di audit nativo di ScyllaDB e come poterle sfruttare per migliorare la sicurezza, la conformità e la trasparenza operativa.
Cos’è l’Audit del Database?
L’audit del database si riferisce al processo di tracciamento e registrazione delle varie attività del database, come eventi di login, query eseguite e modifiche dei dati. L’auditing serve a molteplici scopi, tra cui:
- Conformità Regolamentare: Garantire che le operazioni del database rispettino gli standard di settore e i requisiti legali.
- Monitoraggio della Sicurezza: Rilevare e prevenire accessi non autorizzati o attività sospette.
- Integrità dei Dati: Mantenere la coerenza e l’accuratezza dei dati tramite un tracciamento completo.
- Protezione dei Dati Sensibili: Mascherare o registrare gli accessi alle informazioni sensibili per prevenire perdite.
Sebbene l’audit del database sia una pratica comune nei sistemi di gestione dei database relazionali (RDBMS), è meno comunemente disponibile nei sistemi NoSQL come ScyllaDB. Tuttavia, ScyllaDB, nella sua Enterprise Edition, offre caratteristiche di auditing native progettate per soddisfare le esigenze delle aziende attente alla sicurezza.
Audit Nativo del Database in ScyllaDB
L’audit nativo del database in ScyllaDB è disponibile come parte della Enterprise Edition. Fornisce un potente meccanismo per la registrazione e il monitoraggio delle attività del database, aiutando a garantire che i dati sensibili siano protetti e che i requisiti di conformità siano soddisfatti.
Di default, l’audit del database è disabilitato in ScyllaDB. Per abilitare l’audit, gli amministratori devono modificare il file di configurazione di ScyllaDB (scylla.yaml
) e specificare quali eventi devono essere registrati e dove devono essere memorizzati i log di audit.
Configurare l’Audit del Database in ScyllaDB
Ecco i passaggi per abilitare e configurare l’audit in ScyllaDB:
- Accedi all’Istanza di ScyllaDB: Prima, connettiti al contenitore o all’istanza di ScyllaDB dove la tua istanza di ScyllaDB è in esecuzione. Questo può essere fatto tipicamente tramite Docker o direttamente su un server che ospita ScyllaDB.
- Modifica il File di Configurazione: Apri il file di configurazione
scylla.yaml
, dove puoi abilitare e personalizzare le impostazioni di audit.
docker exec -it <container_id> /bin/bash
nano /etc/scylla/scylla.yaml
Nel file di configurazione, cerca i seguenti parametri e regolali in base alle tue necessità:
audit
: Imposta questo parametro sutable
per abilitare la registrazione in una tabella specifica.audit_categories
: Specifica i tipi di operazioni del database da auditare. Puoi includere categorie comeDCL
(Data Control Language),DDL
(Data Definition Language), eAUTH
(eventi relativi all’autenticazione).audit_keyspaces
: Definisci gli spazi di chiavi per cui desideri raccogliere i log di audit. Ad esempio, se hai creato uno spazio di chiavi chiamatomy_keyspace
, specificalo qui.
Esempio di configurazione:
audit: "table"
audit_categories: "DCL, DDL, AUTH"
audit_keyspaces: "my_keyspace"
- Salva e Riavvia ScyllaDB: Dopo aver apportato le modifiche alla configurazione, salva il file e riavvia ScyllaDB per applicare le nuove impostazioni.
docker exec -it <container_id> supervisorctl restart scylla
- Verifica la Configurazione: Una volta applicate le modifiche, puoi verificare che l’audit sia attivo connettendoti a ScyllaDB tramite cqlsh ed eseguendo alcune operazioni sul database, come la creazione o l’eliminazione di tabelle.
Esempio di creazione di una tabella di test:
CREATE TABLE my_keyspace.users (
user_id UUID PRIMARY KEY,
first_name TEXT,
last_name TEXT,
email TEXT,
date_of_birth DATE
);
Dopo aver eseguito alcune query, puoi interrogare i log di audit per verificare se le operazioni vengono registrate.
Categorie di Audit e Personalizzazione
La funzionalità di audit di ScyllaDB offre flessibilità nella scelta delle operazioni del database che desideri registrare. Le categorie di audit disponibili includono:
- DCL (Data Control Language): Include comandi relativi ai permessi e al controllo degli accessi al database, come
GRANT
eREVOKE
. - DDL (Data Definition Language): Traccia le modifiche allo schema, come i comandi
CREATE
,ALTER
eDROP
. - AUTH (Autenticazione e Autorizzazione): Registra eventi relativi all’autenticazione e all’autorizzazione degli utenti, come i tentativi di login e le modifiche alle autorizzazioni.
Queste categorie possono essere personalizzate in base alle esigenze dell’organizzazione. Ad esempio, se hai solo bisogno di auditare le modifiche allo schema dei dati, puoi impostare il audit_categories
su DDL
da solo.
Struttura della Tabella di Audit
I log di audit in ScyllaDB vengono memorizzati in una tabella dedicata che specifichi nel file di configurazione. Lo schema predefinito per la tabella di audit include tipicamente colonne per il tipo di evento, il timestamp, i dettagli dell’utente, la risorsa interessata e l’operazione eseguita. Questa registrazione strutturata facilita l’interrogazione e l’analisi dei log di audit per rilevare attività sospette o violazioni della conformità.
Integrazione con DataSunrise
Per le aziende che richiedono funzionalità avanzate di sicurezza del database, l’integrazione di ScyllaDB con DataSunrise Database Security fornisce una protezione avanzata. DataSunrise offre monitoraggio completo del database, auditing e funzionalità di rilevamento delle minacce in tempo reale, assicurando che i dati critici siano salvaguardati.
Aggiungere ScyllaDB a DataSunrise
Per integrare ScyllaDB con DataSunrise, segui questi passaggi:
- Aggiungi l’Istanza di ScyllaDB: Apri la console di gestione di DataSunrise e aggiungi la tua istanza di ScyllaDB fornendo i dettagli di connessione necessari (ad esempio, indirizzo IP, porta, credenziali).
- Crea Regole di Sicurezza per ScyllaDB: DataSunrise consente di creare regole di sicurezza su misura per ScyllaDB. Queste regole possono essere utilizzate per monitorare i modelli di accesso, impostare avvisi per attività sospette e garantire la conformità alle normative sulla protezione dei dati.
Questa breve panoramica evidenzia solo alcune delle capacità della suite di sicurezza del database offerta da DataSunrise. Se desideri una revisione più approfondita delle funzionalità più rilevanti per le tue esigenze, puoi programmare una demo online personalizzata. In alternativa, puoi esplorare lo strumento di prima mano scaricandone la versione di prova.
Conclusione
Le capacità di audit nativo del database di ScyllaDB nella Enterprise Edition forniscono uno strumento essenziale per le organizzazioni che necessitano di mantenere operazioni di database sicure, conformi e trasparenti. Abilitando e personalizzando l’audit, gli amministratori possono garantire che le attività critiche del database siano tracciate e registrate in modo da supportare le esigenze di sicurezza e i requisiti normativi.
Man mano che ScyllaDB continua a evolversi, le sue funzionalità di audit probabilmente diventeranno ancora più robuste, aiutando le organizzazioni a proteggere meglio i propri dati e a soddisfare le esigenze delle norme di conformità e sicurezza moderni.