Linux Auditd registra gli eventi rilevanti per la sicurezza direttamente dal kernel e mi fornisce una traccia di controllo completa per gli accessi, le modifiche ai file, l'esecuzione dei comandi e le chiamate di sistema. Corretto Una volta configurato, rilevo tempestivamente gli attacchi, soddisfo i requisiti di conformità quali ISO 27001 o PCI DSS ed eseguo analisi forensi attendibili degli incidenti.
Punti centrali
Questo Ho volutamente sintetizzato questa panoramica in modo conciso, orientato alla pratica e senza frasi di circostanza, affinché tu possa capire immediatamente come definire le regole di audit, proteggere i log e trarne conclusioni. I Indica i componenti principali, i casi d’uso tipici, le regole da seguire e le fonti di errore che in molti contesti causano punti ciechi. Quindi puoi vedere a colpo d’occhio quali impostazioni in auditd.conf sono rilevanti e quali strumenti sono disponibili per l’analisi. Successivamente Approfondisco ogni argomento con esempi, consigli chiari e una tabella dei parametri fondamentali. Così che riuscirai a passare da „Auditd è in esecuzione“ a „Auditd fornisce segnali di sicurezza utilizzabili“.
- Traccia di controllo: completa tracciabilità delle azioni rilevanti per la sicurezza
- Regole: file critici specifici, execve, privilegi e configurazioni
- Protezione dei log: rotazione, trigger di stoccaggio, reazione in caso di colli di bottiglia
- Remoto: raccolta centralizzata tramite TCP/TLS e integrazione con SIEM
- Analisi: ausearch, aureport, chiavi chiare e documentazione ben strutturata
Linux Auditd nel piano di sicurezza
Auditd integra i log di sistema classici concentrandosi in modo mirato sulle azioni rilevanti per la sicurezza e registrando gli eventi tramite l'interfaccia del kernel. Il sito Per impostazione predefinita, Daemon registra questi eventi in /var/log/audit/audit.log e registra quale utente ha eseguito quale azione e in quale momento. Di conseguenza posso verificare rapidamente eventuali elementi sospetti, come ad esempio modifiche involontarie a /etc/ssh/sshd_config oppure su file sensibili come /etc/shadow. All'indirizzo In contesti regolamentati, in questo modo garantisco la documentazione delle violazioni delle linee guida e soddisfo i requisiti relativi a una registrazione affidabile. Di fronte a Rispetto ai classici dati di log o Syslog, Auditd offre quella visione approfondita e incentrata sulla sicurezza che è fondamentale per l'analisi degli attacchi.
Architettura: kernel, daemon, strumenti
Il sito Il sistema di auditing è suddiviso in un sottosistema kernel per la registrazione e nel servizio dello spazio utente auditd per l'archiviazione e gli strumenti di gestione e analisi. Circa auditctl impostare regole durante l'esecuzione oppure caricare regole persistenti all'avvio /etc/audit/rules.d/*.rules. Con ausearch filtro gli eventi in base all'ora, all'utente, alla chiave o al file, mentre aureport genera report sintetici. Quindi Combino una raccolta dei dati gestita in modo granulare con un’analisi rapida e garantisco la tracciabilità continua del percorso di audit. Importante è una nomenclatura coerente relativa a -k Chiavi, affinché le successive interrogazioni funzionino correttamente.
Installazione e attivazione
All'indirizzo Sto installando RHEL/CentOS audit via dnf install audit oppure yum install audit, su Debian/Ubuntu utilizzo apt install auditd audispd-plugins. Secondo Una volta completata l'installazione, avvio e attivo il servizio con systemctl start auditd e systemctl enable auditd, verifico lo stato con systemctl status auditd. Non appena Quando il sottosistema di audit e il servizio sono in esecuzione, gli eventi vengono indirizzati, in base alle regole, in /var/log/audit/audit.log. I Verifica il corretto funzionamento effettuando un accesso mirato a un file monitorato e poi cerca l'evento con ausearch -k keyname. Per Per garantire un avvio coerente ad ogni avvio del sistema, mi assicuro che siano presenti regole permanenti e che vengano caricate correttamente.
Avvio anticipato, backlog e protezione delle regole
A Per non perdere gli eventi iniziali dell'avvio, attivo il sottosistema di audit già all'avvio del kernel. A tal proposito Impostiamo i parametri del kernel e una dimensione del backlog sufficiente, in modo che gli eventi non vadano persi durante la fase di avvio. Inoltre Dopo il caricamento, blocco il database delle regole per impedirne la manomissione.
- Parametri del kernel:
audit=1 audit_backlog_limit=8192in/etc/default/grubaggiungere, quindiaggiornare-grub(Debian/Ubuntu) ogrub2-mkconfig -o /boot/grub2/grub.cfg(RHEL/CentOS). - Arretrato nelle regole: Nelle regole di avvio imposto
-b 8192, per dimensionare correttamente la coda del kernel. - Blocca regole: Dopo aver caricato il set di regole definitivo, attivo la modalità immutabile con
-e 2. A quel punto sarà possibile apportare modifiche solo dopo il riavvio: una protezione efficace contro le manomissioni in tempo reale. - Comportamento in caso di trabocco: In
/etc/audit/auditd.confdefiniscooverflow_action(es.SYSLOGoppureSINGOLO), in modo da ottenere reazioni ben definite quando il buffer è pieno.
Definire correttamente le regole di audit
Il sito La qualità dell'audit trail dipende da regole chiare e mirate, che coprano le azioni critiche ed evitino il rumore di fondo superfluo. Per I file sensibili, ad esempio, li metto -w /etc/passwd -p warx -k passwd_changes e aggiungo le regole appropriate per /etc/shadow, /etc/sudoers oppure /etc/ssh/. A Per registrare l'esecuzione dei comandi, utilizzo -a always,exit -F arch=b64 -S execve nonché la versione a 32 bit, affinché ogni versione rimanga visibile, anche tramite radice. Per Filtro in modo mirato le utility come Apache in base al percorso del file binario, ad esempio -a always,exit -F arch=b64 -S all -F exe=/usr/sbin/apache2 -k apache_activity. I Documenta ogni regola con commenti concisi e chiavi univoche, in modo che le analisi rimangano riproducibili e i colleghi possano comprenderne l'intento.
Esempi di regole avanzate e ottimizzazione
Per Per approfondire ulteriormente, realizzo un set mirato che metta in evidenza i cambiamenti dei privilegi, gli interventi sul kernel, le modifiche relative al tempo e alla rete, nonché i meccanismi persistenti – senza il rumore dei pacchetti o dei backup.
- Solo utenti interattivi:
-F auid>=1000 -F auid!=4294967295integrato conexecve-Regole per escludere i servizi di sistema. - Cambio di privilegi:
-a always,exit -F arch=b64 -S setuid,setreuid,setresuid -k priv_changee la versione a 32 bit. Opzionale:-C uid!=euid, qualora siano supportati i confronti tra campi. - Moduli del kernel:
-a always,exit -F arch=b64 -S init_module,finit_module,delete_module -k kmod_change; inoltre:-w /sbin/insmod -p x -k kmod_exec,-w /sbin/modprobe -p x -k kmod_exec. - Modifiche agli orari:
-a always,exit -F arch=b64 -S adjtimex,settimeofday,clock_settime -k time_changee-w /etc/localtime -p wa -k time_change. - Mount e file system:
-a always,exit -F arch=b64 -S mount,umount2 -k fs_mount;-w /etc/fstab -p wa -k fs_mount. - Base di rete:
-a always,exit -F arch=b64 -S sethostname,setdomainname -k net_conf;-w /etc/hosts -p wa -k net_conf,-w /etc/hostname -p wa -k net_conf,-w /etc/resolv.conf -p wa -k net_conf. - Cron e timer:
-w /etc/crontab -p wa -k sched,-w /etc/cron.d/ -p wa -k sched,-w /var/spool/cron/ -p wa -k sched,-w /etc/systemd/system/ -p wa -k sched,-w /usr/lib/systemd/system/ -p wa -k sched. - Persistenza tramite SSH:
-w /root/.ssh/ -p wa -k ssh_keys,-w /home/ -p wa -k ssh_keys(sentiero stretto suauthorized_keys-file per utente, per evitare il rumore di fondo). - Limitare l'uso improprio dei permessi SUID/SGID: Concentrarsi sulle directory contenenti file eseguibili:
-w /usr/bin/ -p wa -k bin_change,-w /usr/sbin/ -p wa -k bin_change,-w /bin/ -p wa -k bin_change,-w /sbin/ -p wa -k bin_change. - Registrare solo gli errori (per le chiamate di sistema rumorose):
-a always,exit -F arch=b64 -S open,openat -F success=0 -k file_denied. - Attenuare il rumore: Escludere i gestori di pacchetti/i backup, ad esempio.
-a never,exit -F exe=/usr/bin/dpkg,-a never,exit -F exe=/usr/bin/apt,-a never,exit -F exe=/usr/bin/yum,-a never,exit -F exe=/usr/bin/rpm,-a never,exit -F exe=/usr/bin/rsync(Verificare il percorso per ciascuna distribuzione).
Gestione dei log e protezione contro la perdita dei log
Senza Se la rotazione non è corretta e le soglie non sono definite con chiarezza, i log di audit rischiano di perdere dati preziosi o di riempire il file system. All'indirizzo /etc/audit/auditd.conf Tra le altre cose, definisco max_log_file, max_log_file_action, num_logs, space_left e reazioni come space_left_action, disk_full_action oppure disk_error_action. I preferisco iniziative come ROTATE e una notifica tempestiva a Syslog, in modo da poter reagire per tempo in caso di colli di bottiglia. Inoltre Salvo i log di audit su un host separato, per rendere più difficile qualsiasi manomissione sul sistema interessato e per conservare le prove. Il sito La tabella seguente elenca i parametri principali e indica le impostazioni tipiche e adatte all'uso pratico.
| Parametri | Scopo | Esempio | Suggerimento |
|---|---|---|---|
file di log | Percorso di archiviazione dei log di audit | /var/log/audit/audit.log | Mantenere il percorso predefinito e proteggerlo in modo chiaro |
log_format | Formato degli eventi | RAW | RAW facilita l'analisi forense senza perdita di informazioni |
max_log_file | Dimensione massima del file (MB) | 100 fino a quando 500 | Adattare le dimensioni al volume degli eventi e allo spazio di archiviazione |
max_log_file_action | Promozione al raggiungimento di una certa taglia | ROTATE | La rotazione impedisce il blocco o la sovrascrittura |
num_logs | Numero di file archiviati | 5 fino a quando 10 | Dati storici sufficienti per le analisi, senza occupare troppo spazio di memoria |
space_left | Soglia di memoria libera (MB) | 1024 o superiore | Gli avvisi tempestivi consentono di reagire in tempo |
space_left_action | Reazione in caso di valore inferiore alla soglia | SYSLOG | Valutare inoltre l'invio di un'e-mail o di un allarme SIEM |
disk_full_action | Cosa fare quando il supporto di dati è pieno | SOSPESO oppure FERMA | Una decisione chiara dipende dalla propensione al rischio |
Registrazione remota e analisi centralizzata
Per Per molti host utilizzo il monitoraggio centralizzato tramite TCP/TLS, controllato da parametri quali tcp_listen_port e i terminali corrispondenti. Circa Tramite i plugin audispd o rsyslog inoltro gli eventi a una piattaforma SIEM o di sicurezza, mettendo in correlazione gli errori di accesso, le modifiche alla configurazione e l'avvio di processi sospetti. Quindi Rilevo schemi che su un singolo server passano inosservati, ma che, se considerati nel loro insieme, fanno scattare immediatamente l'allarme. Chi chi già utilizza i dashboard, beneficia di Aggregazione dei log in hosting, poiché in quel contesto gli eventi di audit vengono integrati con altri dati di telemetria. I Assicurati inoltre che il percorso di trasporto sia protetto e che vi sia una chiara separazione tra i sistemi produttivi e l'istanza di raccolta.
Analisi: come utilizzare in modo mirato ausearch e aureport
Dati grezzi non servono a nulla se non riesco a filtrarli rapidamente, quindi parto da chiavi chiare e utilizzo ausearch per ricerche mirate. Con ausearch -k passwd_changes -ts today valuto, ad esempio, le modifiche recenti a /etc/passwd ; se necessario, perfezionerò gli intervalli di tempo e i filtri utente. Per Fornisce rapporti di sintesi aureport --summary tabelle sintetiche che mettono in evidenza gli accessi sospetti, le modifiche ai file e la frequenza delle chiamate di sistema. Inoltre Aggiungo alla panoramica sull'avvio dei processi e sull'utilizzo delle risorse Contabilità dei processi, al fine di correlare le sequenze di esecuzioni e i picchi di carico. Su Ciò che conta è che io riesca a rispondere alle domande in pochi secondi: chi, cosa, quando, dove e in che modo.
Approfondire l'analisi: interpretare correttamente i campi degli eventi
Così che Per garantire che le analisi siano accurate, conosco i campi e i tipi di evento più importanti. SYSCALL- Le voci includono, tra l'altro,. auid (UID di registrazione), uid/euid/suid (UID reale/effettivo/salvato), ses (ID sessione) e exe (file eseguibile). PATH-I blocchi indicano i percorsi interessati, EXECVE elenca gli argomenti, CWD fornisce la directory di lavoro. Con ausearch -m SYSCALL -sc execve -ua 1000 -ts recent mi concentro sulle presentazioni interattive; aureport -x --summary -i mi mostra le frequenze e le anomalie a colpo d'occhio. Importante: auid rimane su sudo oppure i salti setuid sono costanti e rappresentano quindi il criterio di filtraggio più affidabile per determinare „Chi ha dato il via all’operazione?“.
Evitare gli errori tipici
A Le regole troppo generiche ingombrano i log e nascondono le informazioni davvero importanti; per questo mi concentro sui file critici, su execve, sui cambiamenti di privilegi e sulle configurazioni rilevanti per la sicurezza. Manca Una rotazione ben gestita: i sistemi vanno a rischio, pertanto stabilisco limiti chiari in termini di dimensioni, numero e azioni da intraprendere in caso di colli di bottiglia. I controlla anche la configurazione dell'audit e la directory /var/log/audit/, perché gli aggressori vogliono coprire le tracce. E Documento ogni regola indicando il codice, l'obiettivo e una breve motivazione, in modo che le analisi rimangano coerenti. Chi Chi ha problemi di prestazioni dovrebbe applicare filtri mirati, eliminare i percorsi superflui e verificare innanzitutto l'effetto delle nuove regole tramite dei test.
Prestazioni, stabilità e controlli di qualità
Audit non deve rallentare l'attività. I controlla regolarmente con auditctl -s, se perso-Verifica se si verificano eventi e monitora i valori del backlog in seguito alle modifiche alle regole. All'indirizzo In caso di elevato carico di eventi, aumento la coda del dispatcher (q_depth) dei plugin audispd e imposta overflow_action consapevolmente. Dove execve-Se le regole generano troppo volume, lo limito tramite auid oppure tramite exe=- Imposta le whitelist/blacklist e, in caso di syscall rumorose, registra solo gli errori. Prima di Prima del lancio su larga scala, valido le nuove regole nell'ambiente di staging, misuro la frequenza degli eventi e il carico della CPU e confronto i dati aureport --summary prima/dopo la modifica, per quantificare l'effetto.
Ambienti containerizzati e di virtualizzazione
All'indirizzo Oltre agli host dei container, il kernel registra anche i processi dei container: si tratta di un comportamento previsto, ma può generare molto rumore. I mi baso sulla protezione dell'host (ad es. dockerd o Podman), percorsi binari e configurazioni sicuri e filtri la visualizzazione dell'utente tramite auid. Esempi: -w /usr/bin/dockerd -p x -k container_runtime, -w /etc/docker/ -p wa -k container_conf, oltre a regole generiche per gli host come execve con auid-Filtro. All'indirizzo Per le macchine virtuali, tratto i log di audit come dati temporanei: attivo l'inoltro remoto, imposto un intervallo di rotazione breve e, per gli snapshot, mi assicuro che siano temporalmente coerenti. Importante Rimane da garantire una sincronizzazione NTP/Chrony accurata, affinché le analisi della timeline siano affidabili.
Conformità e documentazione
Per In base alle norme ISO 27001 (tra cui A.12.4 Registrazione/Monitoraggio, A.16 Gestione degli incidenti) e PCI DSS (cap. 10), formulo prove verificabili: Cosa Viene registrato per quanto tempo, chi ha accesso, come viene garantita l'integrità? I Mantenere la base delle regole con un sistema di versionamento, documentare le chiavi e le finalità, firmare i log d’archivio con hash e archiviarli in modo che non possano essere manomessi. All'indirizzo Per quanto riguarda i dati personali, applico il principio di minimizzazione dei dati (regole mirate, periodi di conservazione brevi) e definisco procedure di cancellazione chiare. Quindi Si ottengono report in grado di convincere i revisori e di fornire risposte concrete in caso di incidente.
Gestione, monitoraggio e playbook
All'indirizzo Quando lavoro senza sosta, ho bisogno di routine fisse: controlli a campione quotidiani con aureport, allarmi in caso di lost > 0, Verifica della partizione di audit libera e dell'inoltro remoto. I Crea dei playbook: „Dirigenti che si fanno notare“ (filtro per exe= e auid), „File critico modificato“ (correlazione tra PATH, SYSCALL, EXECVE), „Intervento sul kernel“ (regole relative a init_module e mount). Conosciuto Tipi di eventi come ANOM_PROMISCUOUS (Interfaccia in modalità promiscua) oppure MAC_POLICY_LOAD (Politica MAC caricata) valuto in base alle priorità e avvio le fasi di risposta.
Risoluzione dei problemi e riavvio
Quando Se non arrivano eventi, per prima cosa controllo ausearch -m DAEMON -ts today e auditctl -s (Stato/Backlog). Mancanza Regole: le carico con augenrules --load nuovo e controlla con auditctl -l. È la modalità Immutable è attiva (-e 2), l'unica soluzione è un riavvio con regole di avvio modificate. All'indirizzo Problemi di autorizzazione su /var/log/audit/ ripristino il proprietario e la modalità; se SELinux è attivo, correggo i contesti. E Verifico che log_format = RAW è garantito: dati di input leggibili per l'analisi forense e i parser.
Audit negli ambienti di hosting
Dritto Nelle configurazioni di hosting con numerosi carichi di lavoro, Auditd mi aiuta a rendere tracciabile la separazione dei clienti e a individuare tempestivamente eventuali abusi. I Monitorare i server web, i database e le applicazioni tramite set di regole a più livelli e integrare gli eventi nei sistemi esistenti di monitoraggio e risposta agli incidenti. Per Garantisco una separazione netta grazie all'archiviazione centralizzata, a ruoli distinti e a diritti restrittivi sulle directory dei log. A Se necessario, integro la diagnosi di sistema con journalctl per la ricerca degli errori, ma conservo le analisi critiche per la sicurezza principalmente nel canale di audit. Quindi Si crea così una traccia di audit affidabile che concilia gli interessi dei clienti, i requisiti di conformità e l'efficienza operativa.
In breve: il mio approccio
I Inizia con un obiettivo chiaro, formula regole mirate per i file critici, execve e i cambiamenti di privilegi e proteggi la rotazione dai rischi di perdita di dati. Allora Attivo l'inoltro remoto con TLS, documento le chiavi e verifico l'efficacia di ogni regola prima che venga implementata su larga scala. Per Per il lavoro quotidiano mi affido a ausearch e aureport, effettua ricerche mirate e crea report chiari per la gestione operativa e la sicurezza. All'indirizzo Quando rilevo anomalie, metto in correlazione gli eventi di audit con altri segnali, come i dati di processo o di rete, per isolare rapidamente la causa. Quindi In Linux, Auditd non mi sommerge di log, ma mi fornisce risposte chiare a domande relative alla sicurezza in ambienti di produzione.


