Registrazione degli audit

DefectDojo registra una cronologia di controllo (audit trail) delle modifiche ai propri dati. Ogni oggetto monitorato registra automaticamente eventi di create, update e delete, e le tabelle di relazione (molti-a-molti) registrano eventi di add e remove.

Come funziona

Il tracciamento degli audit รจ guidato da trigger di database registrati per ciascun modello. Per ogni oggetto monitorato, possono scattare tre tipi di evento:

Tipo di eventoQuando scattaAzione
InsertEventViene creato un nuovo recordCreate
UpdateEventUn record cambia โ€” solo quando il valore di un campo reale cambia effettivamenteUpdate
DeleteEventUn record viene eliminatoDelete

Le tabelle di relazione molti-a-molti (tag, revisori, intervalli IP del firewall) tracciano solo add (InsertEvent) e remove (DeleteEvent) โ€” non esiste un “update” per una riga di relazione.

Cosa viene acquisito con ogni evento

  • Who โ€” l’utente che ha eseguito l’azione, ricavato dal contesto della richiesta.
  • When โ€” un timestamp.
  • Source IP โ€” l’indirizzo remoto, rispettando le catene di proxy X-Forwarded-For.
  • Before/after snapshot โ€” i valori completi dei campi del record.
  • Context / label โ€” raggruppa gli eventi originati dalla stessa richiesta. L’etichetta initial_backfill contrassegna i record storici importati quando il tracciamento รจ stato attivato per la prima volta.

Gli eventi prodotti dai job in background vengono ricollegati al contesto della richiesta di origine, cosรฌ un’azione completata in modo asincrono viene comunque attribuita all’utente che l’ha avviata.

Core (Open Source) โ€” azioni monitorate

OggettoCreateUpdateDeleteNote
Utenteโœ…โœ…โœ…password esclusa dagli snapshot
Tipo di prodottoโœ…โœ…โœ…
Prodottoโœ…โœ…โœ…
Engagementโœ…โœ…โœ…
Testโœ…โœ…โœ…
Riscontroโœ…โœ…โœ…
Gruppo di Riscontriโœ…โœ…โœ…
Modello di Riscontroโœ…โœ…โœ…
Accettazione del rischioโœ…โœ…โœ…
Endpointโœ…โœ…โœ…
Posizioneโœ…โœ…โœ…
URLโœ…โœ…โœ…
Webhook di Notificaโœ…โœ…โœ…header_name / header_value esclusi (segreti)

Core โ€” eventi di relazione (add / remove)

RelazioneAddRemove
Riscontro โ†’ Revisoriโœ…โœ…
Riscontro โ†’ Tagโœ…โœ…
Riscontro โ†’ Tag ereditatiโœ…โœ…
Prodotto โ†’ Tagโœ…โœ…
Engagement โ†’ Tagโœ…โœ…
Engagement โ†’ Tag ereditatiโœ…โœ…
Test โ†’ Tagโœ…โœ…
Test โ†’ Tag ereditatiโœ…โœ…
Endpoint โ†’ Tagโœ…โœ…
Endpoint โ†’ Tag ereditatiโœ…โœ…
Modello di Riscontro โ†’ Tagโœ…โœ…
App Analysis (Technology) โ†’ Tagโœ…โœ…
Objects/Product โ†’ Tagโœ…โœ…

Pro โ€” azioni monitorate

OggettoCreateUpdateDeleteNote
Enhanced Findingโœ…โœ…โœ…Companion Pro del Riscontro
Regolaโœ…โœ…โœ…Motore delle regole
Azione della regolaโœ…โœ…โœ…
Condizione dell’azione della regolaโœ…โœ…โœ…
Voce di filtro della regolaโœ…โœ…โœ…
Operazione del motore delle regoleโœ…โœ…โœ…
Messaggio dell’operazione del motore delle regoleโœ…โœ…โœ…
Attivitร  pianificataโœ…โœ…โœ…
Esecuzione dell’attivitร  pianificataโœ…โœ…โœ…
Policy di mitigazioneโœ…โœ…โœ…
Impostazione configurabileโœ…โœ…โœ…Modifiche alla configurazione di sistema
Stato Feature Flagโœ…โœ…โœ…Attivazione/disattivazione flag + pin di sistema
Definizione Feature Flagโœ…โœ…โœ…Sincronizzazione di metadata / registro
Cloud Firewallโœ…โœ…โœ…campo locked escluso
Maschera IP Firewallโœ…โœ…โœ…

Pro โ€” RBAC / permessi

OggettoCreateUpdateDelete
Gruppoโœ…โœ…โœ…
Ruoloโœ…โœ…โœ…
Appartenenza al gruppoโœ…โœ…โœ…
Ruolo globaleโœ…โœ…โœ…
Assegnazione gruppo al prodottoโœ…โœ…โœ…
Assegnazione gruppo al tipo di prodottoโœ…โœ…โœ…
Membro del prodottoโœ…โœ…โœ…
Membro del tipo di prodottoโœ…โœ…โœ…

Pro โ€” eventi di relazione (add / remove)

RelazioneAddRemove
Cloud Firewall โ†’ Intervalli IPโœ…โœ…

Configurazione e conservazione (On-Premise Controls)

ImpostazioneVariabile d’ambientePredefinitoEffetto
Abilita la registrazione degli auditDD_ENABLE_AUDITLOGTrueQuando รจ False, tutti i trigger di cronologia sono disabilitati e nessun evento viene registrato
Periodo di conservazioneDD_AUDITLOG_FLUSH_RETENTION_PERIOD-1 (mai eliminare)Mesi di cronologia da conservare; gli eventi piรน vecchi vengono eliminati in blocco dal job di pulizia
Dimensione del batch di puliziaDD_AUDITLOG_FLUSH_BATCH_SIZE1000Righe eliminate per batch durante la pulizia
Numero massimo di batch di puliziaDD_AUDITLOG_FLUSH_MAX_BATCHES100Limite al numero di batch per ogni esecuzione di pulizia

Note e limitazioni

  • I segreti non vengono mai acquisiti. Le password degli utenti e i valori degli header dei webhook di notifica sono esplicitamente esclusi dagli snapshot degli eventi.
  • Gli update vengono registrati solo in caso di modifica reale. Un salvataggio che non altera alcun valore di campo non produce alcun evento di update; i campi gestiti automaticamente come il solo last_updated non ne fanno scattare uno.
  • Gli eventi di autenticazione non vengono acquisiti qui. Solo le modifiche ai dati. Le attivitร  di login, logout e tentativo di accesso fallito sono gestite separatamente e non fanno parte di questo log di audit.