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

Audit dei Dati in PostgreSQL

Audit dei Dati in PostgreSQL

Introduzione: La Necessità Crescente di un Efficace Audit dei Dati

L’importanza dell’audit dei dati non può essere sottovalutata, soprattutto per le industrie governate da rigorosi standard di sicurezza, come finanza, sanità e commercio elettronico. Con regolamenti come GDPR e HIPAA, le organizzazioni devono garantire capacità di audit robuste per proteggere i dati sensibili e mantenere la conformità. Senza un’adeguata attività di audit, le aziende rischiano pesanti multe e danni reputazionali, soprattutto di fronte all’aumento delle minacce cibernetiche. Meccanismi di audit completi sono cruciali per soddisfare questi requisiti di sicurezza ed evitare costose violazioni.

Lo sapevate che, secondo un rapporto di IBM, il costo medio globale di una violazione dei dati nel 2024 è aumentato del 10% raggiungendo il più alto totale di $4.88M? Questa realtà drammatica sottolinea l’importanza di specifiche tracce di audit robuste e complete.

L’audit del database è un pilastro per monitorare le attività degli utenti, identificare comportamenti sospetti e garantire l’osservanza dei mandati di conformità. PostgreSQL è un sistema di database ampiamente affidabile, noto per la sua affidabilità, e offre funzionalità di audit essenziali progettate per soddisfare i bisogni di base di conformità. In questo articolo, forniremo una guida passo-passo sulla configurazione di un audit dei dati di base in PostgreSQL utilizzando queste capacità integrate. Inoltre, esploreremo strumenti e approcci alternativi per affrontare requisiti di audit dei dati più avanzati in PostgreSQL.

Audit dei Dati in PostgreSQL con Capacità Native

PostgreSQL fornisce diverse opzioni incorporate per l’audit delle attività del database. Queste funzionalità sono versatili ma possono richiedere una configurazione manuale per casi d’uso avanzati. Di seguito, descriveremo uno dei metodi più semplici e comunemente usati: il logging delle query SQL con il parametro log_statement.

Utilizzo del Logging di PostgreSQL (log_statement)

Uno dei modi più semplici per auditare l’attività del database in PostgreSQL è abilitare il logging delle query. Il parametro log_statement permette di catturare le query SQL eseguite sul database, che possono poi essere archiviate in un file di log per l’analisi.

1. Trova il file di configurazione di PostgreSQL

Per abilitare il logging delle query, è necessario modificare il file di configurazione postgresql.conf. Se non sei sicuro di dove si trovi questo file, puoi trovare il suo percorso eseguendo il seguente comando:


sudo -u postgres psql -c "SHOW config_file;"

Questo comando restituirà la posizione del file di configurazione, come:

/etc/postgresql/16/main/postgresql.conf

Assicurati di avere le necessarie autorizzazioni per modificare questo file. Se stai utilizzando un account superutente diverso dal predefinito, sostituisci "postgres" nel comando con il tuo nome utente.

2. Configura postgresql.conf

Una volta localizzato il file postgresql.conf, aprilo in un editor di testo (ad esempio, nano o vim) ed aggiungi o modifica le seguenti righe per abilitare l’audit:


# Abilita il logging delle dichiarazioni SQL
log_statement = 'all'  # Opzioni: 'none', 'ddl', 'mod', 'all'
# Log della durata di ciascuna dichiarazione completata
log_duration = on  
# Log delle statistiche dettagliate per le dichiarazioni SQL (parsing, pianificazione, esecuzione)
log_statement_stats = on  
# Log quando viene stabilita una nuova connessione
log_connections = on  
# Log quando una connessione viene terminata
log_disconnections = on  
# Log delle query che richiedono più di 1000 ms (aggiusta se necessario)
log_min_duration_statement = 1000  
# Configura la directory e la denclazione del file di log
log_directory = '/var/log/postgresql'  
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'  
# Opzione: Ruota i file di log quando raggiungono 10MB
log_rotation_size = 10MB

Capire le Opzioni di PostgreSQL log_statement

Il parametro log_statement controlla quali tipi di dichiarazioni SQL vengono registrate nel log. A seconda delle tue esigenze, puoi selezionare una delle seguenti opzioni:

  • none: Nessuna dichiarazione SQL viene registrata. Questo è il valore predefinito.
  • ddl: Registra le dichiarazioni di Data Definition Language (DDL) come CREATE, ALTER e DROP. Utile per tracciare le modifiche allo schema.
  • mod: Registra le dichiarazioni DDL e quelle che modificano i dati (DML) come INSERT, UPDATE e DELETE. Ideale per monitorare le modifiche ai dati senza registrare ogni query.
  • all: Registra tutte le dichiarazioni SQL, inclusi SELECT. Meglio per un audit completo ma potrebbe generare file di log di grandi dimensioni.

3. Riavvia PostgreSQL per Applicare le Modifiche

Dopo aver apportato modifiche al file postgresql.conf, riavvia PostgreSQL per rendere effettive le nuove impostazioni

# Per sistemi Linux
sudo systemctl restart postgresql
# Per macOS usando Homebrew
brew services restart postgresql

4. Controlla i Log di PostgreSQL

Una volta applicate le modifiche, puoi eseguire alcune query SQL nel tuo database e navigare nella directory specificata nelle impostazioni del log_directory (ad esempio, /var/log/postgresql) per vedere le query registrate nei file .log.

Per visualizzare le voci di log più recenti, usa il seguente comando:


tail -f /var/log/postgresql/postgresql-*.log

Se hai personalizzato la posizione del log nelle impostazioni, sostituisci il percorso predefinito con il percorso del file di log configurato.

Questo mostrerà i log in tempo reale delle query in esecuzione, insieme ai loro tempi di esecuzione, agli eventi di connessione e agli eventuali errori. Ad esempio, nello screenshot qui sotto, la query SELECT * FROM data_test WHERE id = 1 è stata registrata correttamente, mostrando la dichiarazione stessa, la durata necessaria per eseguire e altre informazioni aggiuntive.

Oltre le Basi: Audit dei Dati Avanzato in PostgreSQL

Pur offrendo un audit di base attraverso le sue funzionalità di logging nativo, queste capacità di PostgreSQL sono spesso limitate nella loro portata, mancando di filtri avanzati, tracciamento delle sessioni e monitoraggio specifico degli oggetti. La performance può inoltre degradare quando si gestiscono volumi di dati elevati o parametri aggiuntivi. Per affrontare requisiti di audit più avanzati, gli utenti possono ricorrere a soluzioni personalizzate come tabelle di audit e trigger o estensioni come pgAudit. Tuttavia, questi approcci dipendono ancora dal framework di logging di PostgreSQL, che può essere difficile da scalare e gestire man mano che i database crescono.

DataSunrise per l’Audit di PostgreSQL: Una Soluzione Completa

Per le aziende che necessitano di soluzioni più robuste e scalabili, strumenti di terze parti come DataSunrise risolvono senza difficoltà queste lacune. Queste soluzioni non solo potenziano la funzione di audit ma offrono anche funzionalità avanzate come avvisi in tempo reale, mascheramento dei dati e reportistica di conformità, fornendo un’alternativa completa ed efficiente per le moderne esigenze di sicurezza dei dati.

Ecco una breve panoramica su come ottenere una configurazione simile a ‘log_statement = all’ usando DataSunrise:

1. Collegare un’istanza di Database a DataSunrise

Imposta un’istanza PostgreSQL in DataSunrise fornendo i dettagli di connessione (host, porta, nome utente, password, database). Questo permette di monitorare e auditare tutte le interazioni con il database.

Una volta stabilita la connessione, la tua nuova istanza di database aggiunta apparirà nell’elenco. Puoi collegare più database PostgreSQL, o anche tipi diversi di database, poiché DataSunrise supporta una vasta gamma di piattaforme di database.

2. Impostare una Regola di Audit

In DataSunrise, simile alla configurazione log_statement = all descritta nella sezione precedente, puoi configurare una regola per registrare tutte le query o impostare più filtri per tracciare diverse azioni.

Puoi creare e gestire più regole con vari filtri, abilitandole o disabilitandole a tuo piacimento, tutto tramite un’interfaccia utente semplice e conveniente.

3. Controllare le Tracce di Audit

Una volta attivate le regole, puoi accedere ai log di audit per esaminare rapporti dettagliati sulle attività, inclusi l’utente che ha eseguito l’azione e le eventuali modifiche apportate. I filtri rendono facile cercare e monitorare eventi specifici.

Vantaggi Chiave dell’Implementazione di Soluzioni di Livello Enterprise

  • Opzioni di Audit Estese: Definisci regole precise per monitorare azioni specifiche del database (es. SELECT, DDL), offrendo molta più flessibilità rispetto al logging nativo di PostgreSQL.

  • Conformità Regolamentare: Genera report automatici per soddisfare standard come GDPR, HIPAA e PCI DSS, garantendo la corretta conformità.

  • Interfaccia Utente Amichevole: Semplifica l’audit con una dashboard intuitiva che semplifica la configurazione, la gestione e il controllo dei log.

  • Sicurezza dei Dati Migliorata: Proteggi le informazioni sensibili con funzionalità avanzate come il mascheramento dei dati e la crittografia.

  • Avvisi in Tempo Reale: Ricevi notifiche immediate per attività sospette, consentendo risposte rapide alle potenziali minacce.

  • Reportistica Dettagliata: Accedi a report approfonditi e personalizzabili per ottenere migliori informazioni sulle attività e sulla sicurezza del database.

  • Scalabilità: Adattati facilmente alle crescenti esigenze aziendali con capacità di audit pronte per il livello enterprise.

Conclusione

L’audit dei dati in PostgreSQL è essenziale per proteggere i dati e garantire la conformità regolamentare. Mentre PostgreSQL offre funzionalità di audit native, soluzioni più estese come DataSunrise offrono capacità avanzate con un ambiente flessibile e ricco di funzionalità per il monitoraggio delle attività del database.

L’audit efficace dei dati è un processo continuo, non un impegno una tantum. Monitorare continuamente, aggiornare regolarmente le strategie e utilizzare gli strumenti giusti sono essenziali per mantenere un ambiente di database sicuro e conforme.

DataSunrise fornisce strumenti versatili e facili da usare per l’audit dei dati in PostgreSQL, nonché per la sicurezza del database, il mascheramento dei dati, la scoperta dei dati e molti altri. Esplora le nostre soluzioni con una demo online per vedere come possono migliorare le tue capacità di audit.

Successivo

Audit del Database per Amazon Aurora

Audit del Database per Amazon Aurora

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]