
Traccia di Audit di MySQL

Violazioni dei dati e accessi non autorizzati possono avere conseguenze devastanti per le aziende. Per proteggere le informazioni sensibili e mantenere la conformità normativa, tracciare le attività del database è essenziale. Questo è dove una Traccia di Audit di MySQL diventa preziosa. Una traccia di audit registra ogni cambiamento, accesso e azione all’interno del tuo database MySQL, fornendo una chiara cronologia di tutte le interazioni.
In questo articolo, esploreremo cos’è una traccia di audit, come puoi crearne una in MySQL utilizzando strumenti nativi e plugin, e come puoi migliorare l’audit con DataSunrise.
Che Cos’è una Traccia di Audit?
Una traccia di audit è un registro dettagliato di tutte le attività svolte all’interno di un database. Registra azioni come inserimenti di dati, aggiornamenti, cancellazioni e accessi degli utenti. Mantenendo questo registro, le organizzazioni possono tracciare i cambiamenti, identificare potenziali violazioni della sicurezza e garantire la conformità normativa.
Per le aziende, mantenere una traccia di audit non è solo una questione di sicurezza, ma anche un requisito per la conformità a regolamentazioni come GDPR, HIPAA, o SOX. Una traccia di audit fornisce un modo per dimostrare che sono in atto adeguati controlli e che i dati sono gestiti in modo responsabile. Aiuta anche nell’analisi forense, qualora si verifichi un incidente.
Inoltre, le tracce di audit sono cruciali per audit interni e reportistica. Avendo un registro completo delle attività del database, le organizzazioni possono condurre revisioni approfondite, identificare modelli e prendere decisioni informate sulle future politiche del database e misure di sicurezza. Questo non solo aiuta a prevenire potenziali violazioni, ma anche a ottimizzare le prestazioni del database comprendendo il comportamento degli utenti e le interazioni del sistema.
Creazione di una Traccia di Audit in MySQL
Utilizzando gli Strumenti Nativi di MySQL
MySQL offre strumenti integrati per impostare una traccia di audit, con il plugin MySQL Enterprise Audit che è il più prominente. Questo plugin consente di registrare una varietà di attività del database, garantendo una traccia di audit completa.
Abilitazione del Plugin MySQL Enterprise Audit
Per creare una traccia di audit utilizzando gli strumenti nativi di MySQL, puoi abilitare il plugin Enterprise Audit. Ecco un semplice esempio per iniziare:
- Verifica l’installazione: Innanzitutto, assicurati che il plugin sia installato eseguendo:
SHOW PLUGINS;
- Installa il Plugin: Se non è installato, attivalo utilizzando:
INSTALL PLUGIN audit_log SONAME 'audit_log.so';
- Configurazione: Modifica il file di configurazione di MySQL (my.cnf) per specificare quali attività devono essere registrate, come connessioni, query o modifiche ai dati.
Una volta configurato, questo plugin registrerà automaticamente le attività specificate in un file di log di audit sicuro, creando una traccia di audit dettagliata in MySQL.
Creazione di una Traccia di Audit con Trigger
Un altro metodo per costruire una traccia di audit è l’uso di trigger. I trigger sono azioni automatiche che si eseguono in risposta a eventi specifici del database come INSERT, UPDATE o DELETE. Sono particolarmente utili per catturare modifiche dettagliate ai dati.
Supponiamo di avere una tabella chiamata employees e di voler registrare ogni aggiornamento a questa tabella:
- Crea una Tabella di Log di Audit: Innanzitutto, crea una tabella per memorizzare i log di audit:
CREATE TABLE audit_log ( id INT AUTO_INCREMENT PRIMARY KEY, action VARCHAR(255), old_data TEXT, new_data TEXT, action_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
- Imposta il Trigger: Crea un trigger che registri gli aggiornamenti:
CREATE TRIGGER before_update_employee BEFORE UPDATE ON employees FOR EACH ROW BEGIN INSERT INTO audit_log (action, old_data, new_data) VALUES ('UPDATE', OLD.name, NEW.name); END;
Questo trigger catturerà i vecchi e nuovi valori ogni volta che si verifica un aggiornamento, aggiungendo un’entrata dettagliata alla tabella audit_log.
Migliorare le Tracce di Audit di MySQL con DataSunrise
Sebbene gli strumenti nativi di MySQL offrano capacità di audit solide, potrebbero non soddisfare tutte le esigenze, specialmente in ambienti complessi o ad alta sicurezza. DataSunrise fornisce una soluzione più completa e user-friendly, progettata per semplificare il processo di audit e offrire funzionalità aggiuntive come il mascheramento dei dati e gli avvisi in tempo reale.
DataSunrise si integra facilmente con MySQL, offrendo un’interfaccia intuitiva per configurare le tue tracce di audit. Il processo è semplice, concentrandosi su cosa monitorare piuttosto che affrontare procedure di installazione complesse. Per vedere DataSunrise in azione, puoi schedulare una demo e fare domande al nostro team di supporto tecnico.
Supponiamo tu voglia monitorare tutte le query SELECT su una tabella sensibile:
- Connetti DataSunrise a MySQL. Aggiungi il database e attendi che il proxy diventi attivo.

Il monitoraggio delle audit è possibile solo quando le operazioni avvengono tramite il proxy di DataSunrise. Assicurati di usare la connessione corretta. Vedi questo articolo per ulteriori informazioni su come configurare MySQL con DataSunrise per il mascheramento e l’audit.
- Crea una Nuova Regola: Definisci una regola che registri le istruzioni SELECT sulla tabella specifica.
Seleziona le caselle di controllo sotto il Filtro Istruzioni come segue: Select, Where Join, Without Where.
Salva la regola.
Come si Presenta una Traccia di Audit in DataSunrise?
Per controllare la regola, connettiti al database tramite proxy. Ad esempio, puoi usare l’applicazione DBeaver.
Quindi, esegui la query SQL contro la tua tabella sensibile. Ad esempio:
select * from audit_example;
Dopo l’esecuzione della SQL, puoi controllare le tracce di audit nell’applicazione DataSunrise.
DataSunrise offre un cruscotto visivo dove puoi visualizzare e analizzare i log di audit. Vai a Audit – Tracce Transazionali.
I log sono presentati in un formato chiaro, mostrando dettagli come il tipo di azione, l’utente coinvolto e l’orario esatto in cui è avvenuta.

Clicca sull’ID dell’entrata per ulteriori informazioni. Si presenterà come segue:

Come puoi vedere, tutte le informazioni sono accessibili in un unico posto. Non è necessario raccoglierle dai log o impostare trigger complessi.
Conclusione
Creare una robusta Traccia di Audit di MySQL è essenziale per proteggere i tuoi dati e garantire la conformità agli standard normativi. Che tu utilizzi gli strumenti nativi di MySQL o opti per le funzionalità avanzate di DataSunrise, avere una traccia di audit affidabile ti aiuta a mantenere il controllo sul tuo ambiente database.
DataSunrise offre una soluzione flessibile e user-friendly per la sicurezza del database, inclusi audit, mascheramento e scoperta dei dati. Per saperne di più su come DataSunrise può aiutare a proteggere i tuoi database MySQL, visita il nostro sito web e richiedi una demo online.