DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

CockroachDB Audit Log

CockroachDB Audit Log

Nell’attuale panorama dei dati complesso, mantenere registri di controllo completi, specialmente attraverso sistemi come il CockroachDB Audit Log, è diventato essenziale per le organizzazioni che gestiscono informazioni sensibili. Secondo l’IBM Cost of a Data Breach Report 2024, le organizzazioni con registri di controllo implementati correttamente individuano le violazioni 74 giorni prima, riducendo così i costi fino al 28%. Senza dubbio, robusti percorsi di audit migliorano la postura di sicurezza, incrementando nel contempo la prontezza alla conformità.

Pur essendo una potente piattaforma SQL distribuita, CockroachDB fornisce funzionalità di audit native che offrono comunque la base necessaria per tracciare le attività del database e identificare comportamenti sospetti. Inoltre, queste funzionalità aiutano a soddisfare i requisiti normativi senza configurazioni complesse. A differenza di altre soluzioni, questa piattaforma lo realizza con un setup minimo.

Il nostro articolo esplora le capacità di audit native in CockroachDB ed esamina come soluzioni di terze parti possano migliorare il monitoraggio e la sicurezza. In effetti, combinare questi approcci spesso produce la protezione più completa. Esaminiamo innanzitutto le funzionalità integrate.

Capacità native di Audit Log in CockroachDB

Sono disponibili diversi meccanismi integrati per stabilire il logging di audit attraverso l’interfaccia SQL e le tabelle di sistema. Sebbene non siano complete come le soluzioni dedicate all’audit, queste funzionalità native forniscono comunque la funzionalità essenziale per il monitoraggio di base. Molte organizzazioni iniziano con queste funzionalità per poi esplorare opzioni avanzate. Comprendere le capacità di base rimane fondamentale, indipendentemente dall’approccio di implementazione.

1. Tabelle di Sistema per il Logging di Audit

Le tabelle di sistema interne al database catturano informazioni di audit preziose. Gli amministratori possono eseguire query su queste tabelle per recuperare dati storici. Il tracciamento automatico degli eventi avviene senza richiedere una configurazione esplicita, il che rappresenta sicuramente un vantaggio in termini di risparmio di tempo. La funzionalità integrata rappresenta uno dei vantaggi chiave della piattaforma:

-- Interroga i tentativi di login recenti
SELECT 
  event_timestamp,
  username,
  application_name,
  client_address,
  session_id
FROM 
  system.eventlog
WHERE 
  event_type = 'session_log' 
  AND "eventType" = 'CLIENT_SESSION_CONNECT'
ORDER BY 
  event_timestamp DESC
LIMIT 5;

Esempio di output:

event_timestampusernameapplication_nameclient_addresssession_id
2024-02-18 15:42:31.523admincockroach192.168.1.100145732
2024-02-18 15:30:12.892analystDBeaver192.168.1.105145731
2024-02-18 14:55:08.217adminpsql192.168.1.100145729
2024-02-18 13:22:45.981reporterTableau192.168.1.112145725
2024-02-18 12:10:03.456dbadmincockroach192.168.1.101145720

2. Creazione di Tabelle di Audit Personalizzate

Un controllo più granulare si ottiene creando tabelle di audit personalizzate popolate mediante trigger. Tale approccio offre maggiore flessibilità rispetto all’uso esclusivo delle tabelle di sistema. Le tabelle personalizzate permettono di memorizzare contesti cruciali per l’analisi forense, migliorando così le capacità investigative. Ulteriori vantaggi includono politiche di conservazione personalizzate in base alla sensibilità dei dati:

-- Crea tabella per l'audit log
CREATE TABLE audit_log (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    timestamp TIMESTAMPTZ DEFAULT current_timestamp(),
    user_id STRING,
    action STRING,
    table_name STRING,
    query TEXT,
    old_value JSONB,
    new_value JSONB
);

-- Crea indici per le prestazioni
CREATE INDEX idx_audit_log_timestamp ON audit_log(timestamp);
CREATE INDEX idx_audit_log_user ON audit_log(user_id);
CREATE INDEX idx_audit_log_table ON audit_log(table_name);

Dopo aver predisposto questa struttura, si possono configurare trigger per popolare l’audit log. Questi trigger vengono eseguiti ogniqualvolta si verifichino modifiche ai dati. Qualsiasi modifica genera automaticamente una voce di audit corrispondente. Complessivamente, questo approccio offre un monitoraggio completo senza richiedere modifiche all’applicazione:

-- Esempio di funzione trigger per l'audit log
CREATE OR REPLACE FUNCTION log_data_changes()
RETURNS TRIGGER AS $$
BEGIN
    IF (TG_OP = 'INSERT') THEN
        INSERT INTO audit_log (user_id, action, table_name, query, new_value)
        VALUES (current_user, 'INSERT', TG_TABLE_NAME, current_query(), to_jsonb(NEW));
    ELSIF (TG_OP = 'UPDATE') THEN
        INSERT INTO audit_log (user_id, action, table_name, query, old_value, new_value)
        VALUES (current_user, 'UPDATE', TG_TABLE_NAME, current_query(), to_jsonb(OLD), to_jsonb(NEW));
    ELSIF (TG_OP = 'DELETE') THEN
        INSERT INTO audit_log (user_id, action, table_name, query, old_value)
        VALUES (current_user, 'DELETE', TG_TABLE_NAME, current_query(), to_jsonb(OLD));
    END IF;
    RETURN NULL;
END;
$$ LANGUAGE plpgsql;

3. Visualizzazioni SQL per l’Audit e l’Analisi

La creazione di viste semplifica l’analisi dei log di audit per casi d’uso legati alla sicurezza. Le viste consentono di filtrare dati di audit complessi e concentrarsi sulle attività ad alto rischio. È possibile condividerle con i team di sicurezza senza concedere l’accesso alle tabelle sottostanti. Gli strati di sicurezza si formano in modo naturale anche tramite le viste. La maggior parte delle implementazioni allinea questo approccio ai principi della sicurezza del minimo privilegio:

-- Vista per attività sospette
CREATE VIEW suspicious_audit_events AS
SELECT
    timestamp,
    user_id,
    action,
    table_name,
    SUBSTRING(query, 1, 50) AS query_preview
FROM
    audit_log
WHERE
    (action = 'DELETE' AND table_name IN ('users', 'roles', 'permissions'))
    OR (action = 'UPDATE' AND table_name = 'user_roles')
    OR (user_id NOT IN (SELECT username FROM authorized_users) AND table_name IN ('sensitive_data', 'financial_records'));

4. Utilizzo della CLI di CockroachDB per la Gestione dell’Audit Log

L’interfaccia a riga di comando consente di eseguire query e gestire i log di audit con potenti capacità di automazione. Nonostante la sua natura basata su testo, la CLI eccelle nelle attività pianificate. Gli strumenti possono essere integrati negli script per report periodici. L’integrazione senza soluzione di continuità con i flussi operativi esistenti diventa possibile grazie a questo approccio:

# Estrai gli eventi di audit recenti in un file CSV
cockroach sql --execute="
COPY (
    SELECT timestamp, user_id, action, table_name, query
    FROM audit_log
    WHERE timestamp > current_timestamp - INTERVAL '24 hours'
    ORDER BY timestamp DESC
) TO '/tmp/recent_audit.csv' WITH CSV HEADER;"

Accesso ai Log di Audit tramite CockroachDB Web UI

L’interfaccia di amministrazione basata sul web, con capacità di monitoraggio complete, è integrata nella piattaforma. Gli utenti possono accedere facilmente a strumenti visivi per l’analisi dei log di audit, grazie a un design intuitivo. Molte attività di audit sono semplificate tramite l’interfaccia web, offrendo l’approccio più user-friendly al monitoraggio. Un’analisi avanzata potrebbe richiedere l’esportazione dei dati per strumenti specializzati:

  1. Accedi al Web UI: Naviga verso l’interfaccia di amministrazione di CockroachDB (tipicamente all’indirizzo http://localhost:8080)
  2. Dashboard delle Attività SQL: Esamina l’esecuzione delle query e le informazioni sulle sessioni
  3. Statistiche delle Query: Analizza i modelli di query e individua anomalie
  4. Pagina dei Job: Monitora i processi in background e le operazioni
cockroachdb web ui statements

Audit Logging Potenziato con DataSunrise

Le capacità di audit native del database forniscono una funzionalità di base, tuttavia le organizzazioni con requisiti avanzati spesso necessitano di soluzioni più complete. DataSunrise estende efficacemente queste capacità con funzionalità progettate per la sicurezza a livello enterprise. Le capacità aggiuntive giustificano l’investimento per la maggior parte delle organizzazioni, data la sua integrazione perfetta. Molte organizzazioni riportano un ROI positivo già nel primo anno:

Vantaggi Chiave di DataSunrise per l’Audit Logging di CockroachDB

Configurare DataSunrise per l’Audit Logging di CockroachDB

Distribuire DataSunrise comporta la connessione al proprio database e la configurazione delle regole. Il monitoraggio delle attività può iniziare immediatamente dopo il setup. Il processo di configurazione richiede tipicamente meno di un’ora, a differenza delle tradizionali implementazioni di sicurezza. Un vantaggio significativo deriva da questa efficienza, considerando la complessità di altri strumenti di sicurezza:

1. Connettersi all’Istanza CockroachDB

Il primo passo richiede di stabilire una connessione tra DataSunrise e il cluster del database tramite l’interfaccia. È quindi necessario inserire le credenziali di base e le informazioni di rete. Una connettività adeguata è assolutamente essenziale per prestazioni di monitoraggio affidabili. La verifica della connessione dovrebbe avvenire prima di procedere, per evitare lacune nel monitoraggio.

2. Configurare le Regole di Audit

Il secondo passo prevede la creazione di regole di audit personalizzate per specificare quali attività devono essere registrate nell’ambiente. Le regole determinano quali eventi vengono catturati durante il funzionamento. Regole ben progettate bilanciano le esigenze di sicurezza con considerazioni sulle prestazioni. Le operazioni ad alto rischio dovrebbero avere la priorità per minimizzare l’impatto sulle prestazioni.

3. Monitorare i Log di Audit

L’ultimo passo richiede di accedere ai log di audit dettagliati attraverso l’intuitiva interfaccia di DataSunrise per un’analisi in tempo reale. Il filtraggio di questi log aiuta a identificare incidenti di sicurezza o problemi di conformità. L’obiettivo primario è trasformare i dati grezzi dell’audit in informazioni di sicurezza utili. Vengono fornite analisi visive per l’identificazione delle tendenze, affiancate da capacità di reporting:

Visualizzazione del CockroachDB Audit Log in DataSunrise
Visualizzazione del CockroachDB Audit Log in DataSunrise

Migliori Pratiche per l’Audit Logging in CockroachDB

Un audit logging efficace richiede un’attenzione particolare a diverse aree chiave. Le organizzazioni dovrebbero concentrarsi su questi cinque aspetti critici dell’implementazione. Un approccio completo produce quasi sempre i migliori risultati in termini di sicurezza e conformità in tali circostanze. Seguire le migliori pratiche rappresenta uno standard del settore per ottenere risultati ottimali:

1. Ottimizzazione delle Prestazioni

  • Logging Selettivo: Registra solo le attività essenziali per minimizzare l’impatto
  • Gestione degli Indici: Crea indici appropriati per query efficienti
  • Rotazione dei Log: Stabilisci l’archiviazione automatica dei record più vecchi
  • Pianificazione dello Storage: Assegna uno storage sufficiente per l’audit in base alle necessità di conservazione

2. Implementazione della Sicurezza

  • Controlli di Accesso: Restringi l’accesso utilizzando controlli basati sui ruoli
  • Crittografia: Proteggi i dati di audit sia a riposo che in transito attraverso una crittografia robusta
  • Protezione da Manomissioni: Applica checksum per rilevare modifiche non autorizzate
  • Strategia di Backup: Mantieni backup separati dei log di audit

3. Gestione della Conformità

  • Politiche di Conservazione: Definisci periodi basati sui requisiti di conformità
  • Classificazione dei Dati: Prioritizza il logging per i dati sensibili
  • Validazione Regolare: Verifica periodicamente la completezza dei log
  • Documentazione: Mantieni registrazioni dettagliate delle procedure

4. Monitoraggio e Analisi

  • Allarmi in Tempo Reale: Configura notifiche per attività sospette
  • Revisione Periodica: Stabilisci procedure di revisione programmata
  • Rilevamento Anomalo: Adotta analisi dei pattern per identificare comportamenti insoliti
  • Reporting: Crea visualizzazioni per i metriche di sicurezza

5. Integrazione di Soluzioni di Terze Parti

Conclusione

La funzionalità essenziale per il monitoraggio di base e le esigenze di conformità deriva dalle capacità di audit native di CockroachDB. Le organizzazioni con requisiti avanzati di sicurezza traggono spesso beneficio da soluzioni integrate come DataSunrise.

Combinare questa piattaforma di database con le funzionalità di DataSunrise consente alle organizzazioni di instaurare un monitoraggio robusto, assicurando al contempo la conformità SOX. Questo approccio integrato affronta efficacemente le sfide moderne della sicurezza del database mantenendo elevate le prestazioni. Una strategia ben strutturata riduce in modo significativo gli incidenti di sicurezza e semplifica notevolmente i processi di conformità.

Pronto a potenziare le tue capacità di audit? Richiedi una dimostrazione oggi stesso per scoprire come DataSunrise possa rafforzare immediatamente la tua postura di sicurezza.

Successivo

Strumenti di Audit di CockroachDB

Strumenti di Audit di CockroachDB

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]