auditd scrive su /var/log/audit/audit.log, leggibile solo da root. L’esportazione più veloce di una finestra temporale nel formato originale è:
sudo ausearch --raw -ts yesterday > web-03_audit.log
Se /var/log/audit non esiste, auditd non è installato. Questa è l’impostazione predefinita su Debian e Ubuntu. Gli eventi di audit del kernel vanno poi al journal, dove journalctl _TRANSPORT=audit li trova.
auditd è la risposta di Linux a “chi ha eseguito cosa e ha toccato quale file”: esecuzione dei processi, accesso ai file, modifiche alle autorizzazioni e modifiche degli account, fino alla syscall. Prime Core ha 1350 regole di rilevamento per i dati auditd, mappati su 440 tecniche MITRE ATT&CK. Tra queste: uso maligno della shell (T1059.004), chiavi SSH introdotte (T1098.004) e modifiche alle autorizzazioni su file sensibili (T1222.002).
Prima di iniziare
È in esecuzione e cosa sta registrando?
systemctl is-active auditd
sudo auditctl -l
I sistemi della famiglia Red Hat installano auditd per impostazione predefinita; Debian e Ubuntu richiedono il pacchetto auditd. Se auditctl -l stampa Nessuna regola, avrai comunque una base di accessi, autenticazioni e negazioni SELinux. Tuttavia, non otterrai registrazioni di esecuzione di comandi o accesso ai file, perché nessuno le ha richieste.
Solo root. /var/log/audit è fortemente protetto, quindi prevedi di usare sudo.
La rotazione è propria di auditd. auditd ruota i suoi log da solo, in base a max_log_file e num_logs in /etc/audit/auditd.conf, in audit.log.1, audit.log.2, e così via. La cronologia più vecchia si trova in questi file.
Il formato richiede un po’ di tempo per abituarcisi. Un evento è spesso su più righe (SYSCALL, EXECVE, CWD, PATH, PROCTITLE) che condividono lo stesso timbro msg=audit(<epoch>:<serial>). I valori con spazi sono codificati in esadecimale. È normale.
Passo 1: Esporta con ausearch
ausearch filtra per tempo, tipo di record o chiave di regola, e –raw mantiene il formato originale:
# un giorno, raw
sudo ausearch --raw -ts ieri -te oggi > web-03_audit.log
Le parole chiave oggi, ieri, questa-settimana e recenti (ultimi dieci minuti) ti salvano dai formati di data. Le date esplicite seguono la tua località, 10/19/2026 00:00:00 in en_US, ed è da lì che provengono la maggior parte delle sorprese di “nessuna corrispondenza”.
Per un upload, mantieni –raw: i record originali portano più rispetto alla vista interpretata.
Se preferisci semplicemente prendere tutto, concatena i file dal più vecchio al più recente:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
Passo 2 (senza auditd): Ottieni eventi di audit dal journal
Senza auditd, i record di audit del kernel raggiungono comunque journald:
sudo journalctl _TRANSPORT=audit --since ieri -o json --no-pager > web-03_audit.jsonl
Senza regole caricate, aspettati principalmente accessi e messaggi SELinux o AppArmor, ma è meglio di niente.
Carica, sanitizza e rivedi in LogTotal
[PROOF: confirm LogTotal parses raw auditd format. If it doesn’t yet, publish this guide with the journal JSON route only, or hold it until support lands.]
- Carica. Apri logtotal.com e trascina il file.
- Sanitizza. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
- Verifica.
Quando va storto
| Sintomo | Probabile causa | Fix |
|---|---|---|
| /var/log/audit non esiste | auditd non è installato | Usa il percorso del journal (Passo 2) |
| Permesso negato | Non root | sudo |
| Solo accessi, niente comandi | Nessuna regola exec caricata | Previsto; aggiungi regole per il futuro |
| <nessuna corrispondenza> da ausearch | Il formato della data non corrisponde alla tua località | Usa oggi, ieri, questa-settimana |
| “limite backlog superato” nei messaggi del kernel | Il kernel ha perso eventi di audit sotto carico | Considera il log come se avesse delle lacune; aumenta backlog_limit |
FAQ
Dovrei attivare auditd ora?
Sì, per la prossima volta. Le regole decidono tutto, quindi inizia da un set di regole noto piuttosto che scrivere le tue da zero. Il pacchetto audit fornisce esempi di regole, e ci sono set comunitari ben mantenuti.
auditd o il journal: qual è il record reale?
Con auditd in esecuzione, /var/log/audit/audit.log è quello completo. Il journal può contenere una copia parziale, a seconda della configurazione.