17.4. Configurazione dell'Audit

Tutti i file di configurazione per l'audit di sicurezza si trovano in /etc/security. I seguenti file devono essere presenti prima dell'avvio del demone audit:

Avvertimento:

I file di configurazione dell'audit dovrebbero essere editati e manotenuti con attenzione, dato che errori nella configurazione possono risultare in un tracciamento improprio degli eventi.

17.4.1. Espressioni per la Selezione degli Eventi

Le espressioni per la selezione sono usate in un certo numero di posti nella configurazione dell'audit per determinare quali eventi dovrebbero essere sotto audit. Le espressioni contengono una serie di classi di eventi, ognuna con un prefisso che indica se i record che sono indicati debbano essere accettati o ignorati, ed opzionalmente ad indicare se i record che vengono individuati siano da tracciare ad un successo o ad un fallimento. Le espressioni di selezione sono valutate da sinistra a destra, e due espressioni sono combinate aggiungendo una all'altra.

La seguente lista contiene le classi di eventi di default presenti in audit_class:

  • all - all - Indica tutte le classi di eventi.

  • ad - administrative - Le azioni amministrative eseguite su un sistema nel suo complesso.

  • ap - application - Azioni definite dall'applicazione.

  • cl - file close - Chiamate audit alla system call close.

  • ex - exec - Fa l'audit delle esecuzioni di un programma. L'audit degli argomenti della command line e delle variabili di ambiente è controllato da audit_control(5) usando i parametri argv e envv nelle impostazioni della policy.

  • fa - file attribute access - Fa l'audit dell'accesso ad attributi di accesso come stat(1), pathconf(2) ed eventi simili.

  • fc - file create - Fa l'audit di eventi che hanno come risultato la creazione di un file.

  • fd - file delete - Fa l'audit di eventi in cui avvenga una cancellazione di file.

  • fm - file attribute modify - Fa l'audit di eventi in cui avvenga una modifica degli attributi dei file, come chown(8), chflags(1), flock(2), etc.

  • fr - file read - Fa l'audit di eventi nei quali dei dati siano letti, file siano aperti in lettura, etc.

  • fw - file write - Fa l'audit di eventi in cui dati siano scritti, file siano scritti o modificati, etc.

  • io - ioctl - Fa l'audit dell'uso della system call ioctl(2).

  • ip - ipc - Fa l'audit di varie forme di Inter-Process Communication, incluse pipe POSIX e operazioni IPC System V.

  • lo - login_logout - Fa l'audit di eventi di login(1) e logout(1) che occorrano nel sistema.

  • na - non attributable - Fa l'audit di eventi non attribuibili.

  • no - invalid class - Indica nessun evento di audit.

  • nt - network - Fa l'audit di eventi relativi ad azioni di rete, come connect(2) e accept(2).

  • ot - other - Fa l'audit di eventi miscellanei.

  • pc - process - Fa l'audit di operazioni dei processi, come exec(3) e exit(3).

Queste classi di eventi audit possono essere personalizzate modificando i file di configurazione audit_class e audit_event.

Ogni classe di audit nella lista è combinata con un prefisso che indica se le operazione di successo o andate in fallimento siano intercettate, e se la entry sta aggiungendo o togliendo delle regole di intercettazione per la classe ed il tipo.

  • (none) Fa l'audit di istanze dell'evento sia di successo che fallite.

  • + Fa l'audit di eventi di successo in questa classe.

  • - fa l'audit di eventi falliti in questa classe.

  • ^ Non fa l'audit di eventi nè di successo nè falliti in questa classe.

  • ^+ Non fa l'audit di eventi di successo in questa classe.

  • ^- Non fa l'audit di eventi falliti in questa classe.

Il seguente esempio di selezione indica eventi di login/logout sia di successo che non, ma solo eventi di successo di esecuzione:

lo,+ex

17.4.2. File di Configurazione

Nella maggior parte dei casi, gli amministratori dovranno solo modificare due file quando configurano il sistema audit: audit_control ed audit_user. Il primo controlla le proprietà e le politiche di tutto il sistema, il secondo può essere usato per fare del fine tuning iper il singolo utente.

17.4.2.1. Il File audit_control

Il file audit_control specifica un certo numero di valori di default per il sottosistema audit. Leggendo i contenuti di questo file, notiamo le seguenti righe:

dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0

L'opzione dir viene usata per impostare una o più directory dove i file di log dell'audit vengono salvati. Se appare più di una directory, saranno usati in ordine uno dopo l'altro, dopo che uno si riempie. È comune configurare audit cosicchè i log siano tenuti in un filesystem dedicato, per prevenire interferenze fra il sottosistema audit ed altri sottosistemi se il filesystem si riempie.

Il campo flags imposta la maschera di preselzione per gli eventi attribuibili per tutto il sistema. Nell'esempio sopra, i login ed i logout di successo e quelli falliti sono tenuti sotto audit per tutto il sistema.

L'opzione minfree definisce la minima percentuale di spazio libero per i file system dove vengono conservate le tracce dell'audit. Quando questo limite viene superato, sarà generato un warning. L'esempio sopra imposta il minimo spazio libero al venti per cento.

L'opzione naflags specifica le classi di audit da tenere sotto audit per gli eventi non attribuibili, come il processo di login ed i demoni di sistema.

L'opzione policy specifica una lista separata da virgole di flag per le politiche che controllano vari aspetti del comportamento dell'audit. Il flag di default cnt indica che il sistema dovrebbe continuare a funzionare nonostante un errore dell'audit (questa flag è altamente consigliato). Un altro flag usato di comune è argv, che fa sì che gli argomenti di command line della sistema call execve(2) siano tenuti sotto audit come parte dell'esecuzione del comando.

L'opzione filesz specifica la massima dimensione in bytes da tenere per le tracce di audit, prima di terminarli automaticamente e routarli. Il default, 0, disabilita la rotazione dei file di log. Se la dimensione è diversa di zero ma minore del minimo, 512k, sarà ignorata ed un messaggio di log sarà generato.

17.4.2.2. Il File audit_user

Il file audit_user permette all'amministratore di specificare ulteriori requisiti dell'audit per utenti specifici. Ogni linea configura l'audit per un utente attraverso due campi: il primo campo è alwaysaudit, che specifica un insieme di eventi che dovrebbero sempre essere tenuti sotto audit per l'utente, ed il secondo è il campo neveraudit, che specifica un insieme di eventi che non dovrebbero mai essere tenuti sotto audit per l'utente.

Il seguente esempio di file audit_user fa l'audit di eventi di login/logout e delle esecuzioni di successo per l'utente root, e fa l'audit della creazione e dell'esecuzione di successo per l'utente www. Se usato con il file di esempio audit_control sopra riportato, l'entry lo per root è ridondante, e gli eventi di login/logout sarano tenuti sotto audit anche per l'utente www.

root:lo,+ex:no
www:fc,+ex:no

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.

Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.