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

Cos’è Aurora PostgreSQL Audit Trail?

Cos’è Aurora PostgreSQL Audit Trail?

Introduzione

Un audit trail in Aurora PostgreSQL è un meccanismo completo di registrazione che cattura e documenta tutte le attività significative del database, fornendo alle organizzazioni informazioni cruciali sulle interazioni con il database, i modelli di accesso e i potenziali eventi di sicurezza. In un’era di crescenti minacce informatiche e requisiti di conformità sempre più stringenti, comprendere e implementare audit trail robusti (database audit trails) è diventato essenziale per proteggere i dati sensibili e mantenere l’integrità organizzativa.

Secondo il NIST Database Security Guide, un auditing robusto del database è cruciale per individuare tentativi di accesso non autorizzati, monitorare operazioni privilegiate e mantenere prove per indagini di sicurezza e analisi forensi. Questa guida descrive un’implementazione pratica utilizzando i servizi AWS.

Comprendere l’Aurora PostgreSQL Audit Trail

Un audit trail in Amazon Aurora PostgreSQL fornisce un monitoraggio sistematico delle modifiche al database, essenziale per la conformità e il monitoraggio della sicurezza. Questa guida descrive un’implementazione pratica utilizzando i servizi AWS.

Cos'è Aurora PostgreSQL Audit Trail - Flusso di replica multi-stage DMS dalla sorgente alla tabella di audit
Flusso di replica multi-stage DMS dalla sorgente alla tabella di audit

Panoramica dell’Architettura

Il sistema di audit utilizza tre componenti principali:

  1. Database Sorgente: Istanza primaria di Aurora PostgreSQL
  2. AWS DMS: Servizio di cattura delle modifiche ai dati
  3. Database di Destinazione: Archiviazione del log di audit

Dettagli di Implementazione

Abilitazione delle Funzionalità di Audit

Per prima cosa, abilita l’auditing di base in Aurora PostgreSQL:

-- Abilita la registrazione per tutte le operazioni DDL
ALTER SYSTEM SET log_statement = 'ddl';

-- Abilita la registrazione per tutte le operazioni
ALTER SYSTEM SET log_statement = 'all';

-- Abilita la registrazione delle connessioni
ALTER SYSTEM SET log_connections = 'on';
ALTER SYSTEM SET log_disconnections = 'on';

Progettazione dello Schema

Esempio di tabella di origine:

CREATE TABLE items (
    item_id integer PRIMARY KEY,
    name varchar(64),
    price decimal(12,2),
    created_at timestamp DEFAULT CURRENT_TIMESTAMP,
    updated_at timestamp DEFAULT CURRENT_TIMESTAMP
);

Tabella del log di audit:

CREATE TABLE items_audit_log (
    audit_id bigserial PRIMARY KEY,
    item_id integer,
    name varchar(64),
    price decimal(12,2),
    committed_at timestamp,
    operation character(1),
    transaction_id character varying,
    old_row_data jsonb,
    user_id text DEFAULT current_user
);

-- Crea indice per migliori prestazioni nelle query
CREATE INDEX idx_items_audit_committed_at ON items_audit_log(committed_at);
CREATE INDEX idx_items_audit_item_id ON items_audit_log(item_id);

Componenti Chiave dell’Aurora PostgreSQL Audit Trail

Cos'è Aurora PostgreSQL Audit Trail - Struttura della tabella per items, staging e tabelle del log di audit
Struttura della tabella per items, staging e tabelle del log di audit

Configurazione AWS DMS

(Scopri di più sulla configurazione di DMS)

Esempio di impostazioni del task DMS:

{
  "TargetMetadata": {
    "TargetSchema": "",
    "SupportLobs": true,
    "FullLobMode": false,
    "LobChunkSize": 64,
    "LimitedSizeLobMode": true,
    "LobMaxSize": 32768
  },
  "FullLoadSettings": {
    "TargetTablePrepMode": "DROP_AND_CREATE"
  }
}

Funzione Trigger

CREATE OR REPLACE FUNCTION process_audit_trail()
RETURNS TRIGGER AS $$
BEGIN
    IF (TG_OP = 'DELETE') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at, 
            operation, transaction_id, old_row_data
        )
        VALUES (
            OLD.item_id, OLD.name, OLD.price, CURRENT_TIMESTAMP,
            'D', txid_current()::text, to_jsonb(OLD)
        );
        RETURN OLD;
    ELSIF (TG_OP = 'UPDATE') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at,
            operation, transaction_id, old_row_data
        )
        VALUES (
            NEW.item_id, NEW.name, NEW.price, CURRENT_TIMESTAMP,
            'U', txid_current()::text, to_jsonb(OLD)
        );
        RETURN NEW;
    ELSIF (TG_OP = 'INSERT') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at,
            operation, transaction_id, old_row_data
        )
        VALUES (
            NEW.item_id, NEW.name, NEW.price, CURRENT_TIMESTAMP,
            'I', txid_current()::text, NULL
        );
        RETURN NEW;
    END IF;
    RETURN NULL;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER items_audit_trigger
AFTER INSERT OR UPDATE OR DELETE ON items
FOR EACH ROW EXECUTE FUNCTION process_audit_trail();

Esempi di Query

-- Visualizza le modifiche recenti
SELECT * FROM items_audit_log
ORDER BY committed_at DESC
LIMIT 10;

-- Visualizza le modifiche per un item specifico
SELECT * FROM items_audit_log
WHERE item_id = 123
ORDER BY committed_at;

-- Visualizza le modifiche per un utente specifico
SELECT * FROM items_audit_log
WHERE user_id = 'admin'
AND committed_at >= CURRENT_DATE - INTERVAL '1 day';

Di seguito sono riportati gli esempi di query e l’output della tabella di audit:

Cos'è Aurora PostgreSQL Audit Trail - Verifica in azione dell'inserimento, aggiornamento, cancellazione SQL e del log di audit
Verifica in azione dell’inserimento, aggiornamento, cancellazione SQL e log di audit

Migliori Pratiche

  • Monitora il ritardo di replica
  • Cripta i dati in transito e a riposo
  • Implementa ruoli IAM appropriati
  • Archivia regolarmente i dati di audit obsoleti
  • Imposta avvisi per attività sospette

Per una guida all’implementazione dettagliata, consulta l’AWS Database Blog.

Funzionalità Avanzate

Per una sicurezza avanzata, considera l’integrazione con:

DataSunrise: Capacità Complete di Audit Trail per PostgreSQL

Cos'è Aurora PostgreSQL Audit Trail - Istanza assegnata alla regola di audit di Aurora PostgreSQL in DataSunrise
Istanza assegnata alla regola di audit di Aurora PostgreSQL in DataSunrise

Mentre gli strumenti di audit nativi forniscono un monitoraggio essenziale, la piattaforma DataSunrise eleva le capacità di audit trail per ambienti enterprise:

Funzionalità di Monitoraggio Avanzato

Benefici Aziendali dell’Implementazione di Aurora PostgreSQL Audit Trail

Cos'è Aurora PostgreSQL Audit Trail - Query di select e insert registrate nel trail transazionale di DataSunrise
Query di select e insert registrate nel trail transazionale di DataSunrise

Sicurezza Avanzata

  • Rilevamento e avvisi di minacce in tempo reale
  • Capacità complete di indagini forensi
  • Identificazione proattiva di modelli sospetti

Conformità Normativa

  • Aderenza a GDPR, HIPAA, SOX e PCI DSS
  • Reportistica di conformità automatizzata
  • Dimostrazione chiara dei controlli di sicurezza

Efficienza Operativa

  • Approfondimenti sull’ottimizzazione delle prestazioni del database
  • Visibilità completa sulle attività degli utenti
  • Processi di audit e reportistica semplificati

Conclusione

Un audit trail per Amazon Aurora PostgreSQL non è solo un requisito di conformità – è uno strumento critico per la sicurezza e l’intelligence operativa. Mentre AWS fornisce potenti capacità native di audit, gli ambienti enterprise beneficiano di ulteriori livelli di monitoraggio e analisi.

DataSunrise offre una soluzione completa che estende le capacità native di audit, fornendo approfondimenti dettagliati, rilevamento avanzato delle minacce e una gestione della conformità senza soluzione di continuità.

Fai il Prossimo Passo

Pronto a trasformare la tua strategia di audit trail? Prenota una dimostrazione personalizzata e scopri come una sicurezza avanzata del database può proteggere i tuoi asset di dati più preziosi.

Successivo

Audit di Percona Server per MySQL

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]