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:
audit_class
- Contiene le definizioni
delle classi di audit.
audit_control
- Controlla aspetti
del sottosistema dell'audit, come le classi audit di default,
il minimo spazio su disco da lasciare al log di audit,
la massima dimensione della traccia di audit, etc.
audit_event
- Nomi testuali e descrizioni
degli eventi di audit di sistema, cosí come una lista
di quali classi contengano quali eventi.
audit_user
- Requisiti specifici dell'audit
per l'utente, combinati con i default globali
al login.
audit_warn
- Uno script customizzabile
usato da auditd per generare messaggi di
warning in situazioni eccezionali,
come ad esempio quando sta finendo lo spazio per i record
o quando le tracce dell'audit sono ruotate.
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.
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
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.
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.
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>.