Tous les fichiers de configuration de l'audit
d'événements en rapport avec la
sécurité se trouvent dans le répertoire
/etc/security
. Les
fichiers suivants doivent être présents avant le
lancement du « démon » d'audit:
audit_class
- contient les
définitions des classes d'audit.
audit_control
- contrôle les
caractéristiques du système d'audit comme les
classes d'audit par défaut, l'espace disque minimal
à conserver sur le volume réservé aux
journaux, la taille maximale des traces d'audit, etc.
audit_event
- les noms et la
description des événements systèmes
audités ainsi qu'une liste de classes auxquelles
appartiennent chaque événement.
audit_user
- les classes
d'événement à auditer pour des
utilisateurs spécifiques, qui s'ajoutent aux
paramètres généraux fixés par
défaut à l'ouverture de session.
audit_warn
- une procédure
modifiable utilisée par
auditd pour générer
des messages d'alerte lors des situations exceptionnelles
comme un espace disque faible pour les fichiers journaux
d'audit ou quand il y a eu rotation de ces fichiers
journaux.
Les fichiers de configuration de l'audit devraient être modifiés et gérés avec prudence étant donné que des erreurs dans la configuration pourraient donner lieu à un enregistrement incorrect des événements.
Les expressions de sélection sont utilisées à plusieurs endroits dans la configuration du système d'audit pour déterminer quels événements doivent être suivis. Les expressions contiennent une liste de classes d'événements, chacune avec un préfixe indiquant si les enregistrements correspondants doivent être acceptés ou ignorés, et qui peut, de manière optionnelle, indiquer si l'entrée se limite aux opérations réussies ou aux échecs. Les expressions de sélection sont évaluées de gauche à droite, et deux expressions sont combinées en ajoutant l'une à la suite de l'autre.
La liste suivante contient les classes
d'événements présentes par défaut
dans le fichier audit_class
:
all
- all
(tout) - correspond à toutes les classes
d'événements.
ad
-
administrative (administration)
- actions d'administration du système.
ap
-
application - action définie
par l'application.
cl
- file
close (fermeture de fichiers) - enregistre les
utilisations de l'appel système
close
.
ex
- exec
(exécution) - audite les exécutions de
programmes. L'audit des arguments en ligne de commande et
des variables d'environnement est contrôlé
par via audit_control(5) en utilisant les
paramètres argv
et
envv
pour l'entrée
policy
.
fa
- file attribute
access - enregistre l'accès aux
attributs des objets comme stat(1), pathconf(2)
et les événements similaires.
fc
- file
create (création de fichiers) - enregistre les
événements ayant pour résultat la
création d'un fichier.
fd
- file
delete (suppression de fichiers) - enregistre
les événements pour lesquels une suppression
de fichier a lieu.
fm
- file attribute
modify (modification des attributs d'un
fichier) - enregistre les événements lors
desquels une modification des attributs d'un fichier
intervient, comme l'utilisation de chown(8),
chflags(1), flock(2), etc.
fr
- file read
(lecture de fichiers) - enregistre les
événements qui donnent lieu à la
lecture de données, l'ouverture de fichiers
à la lecture, etc.
fw
- file
write (écriture de fichiers) -
enregistre les événements qui donnent lieu
à l'écriture de données, à
l'écriture ou à la modification de fichiers,
etc.
io
- ioctl -
enregistre l'utilisation de l'appel système
ioctl(2).
ip
- ipc -
enregistre les différentes utilisations de
communication inter-processus, dont les utilisations des
tubes POSIX et les opérations
IPC Système V.
lo
-
login_logout (ouverture et fermeture
de session) - enregistre les ouvertures et fermeture de
session (login(1) et logout(1)) intervenant sur
le système.
na
- non
attributable (non-attribuable) - enregistre les
événements non-attribuables.
no
- invalid
class (classe invalide) - ne correspond
à aucun des événements
surveillés.
nt
- network
(réseau) - enregistre les événements
relatifs au réseau, comme l'utilisation des
fonctions connect(2) et accept(2).
ot
- other
(autre) - enregistre les événements
divers.
pc
- process
(processus) - enregistre les opérations sur les
processus, comme l'utilisation des fonctions exec(3)
et exit(3).
Ces classes d'événement peuvent être
personnalisées en modifiant les fichiers de
configuration audit_class
et
audit_event
.
Chaque classe d'audit dans la liste est combinée avec un préfixe indiquant si les opérations réussies/échouées sont sélectionnées, et si l'entrée ajoute ou supprime une sélection pour la classe ou le type concerné.
(rien) enregistre les succès et les échecs de l'événement.
+
enregistre les
événements réussis de cette
classe.
-
enregistre les
événements de cette classe qui ont
échoué.
^
n'enregistre ni les
événements réussis ni les échecs
de cette classe.
^+
ne pas enregistrer les
événements réussis de cette
classe.
^-
ne pas enregistrer les
événements de cette classe qui ont
échoué.
L'exemple suivant d'expression de sélection permet la sélection des ouvertures et fermetures de session réussies ou échouées, et uniquement les exécutions ayant réussies:
lo,+ex
Dans la plupart des cas, les administrateurs ne devront
modifier que deux fichiers lors de la configuration du
système d'audit: audit_control
et
audit_user
. Le premier contrôle
les propriétés et les stratégies au
niveau du système; le second peut être
utilisé pour affiner l'audit pour chaque
utilisateur.
Le fichier audit_control
fixe un
certain nombre de paramètres par défaut pour
le système d'audit. Le contenu de ce fichier
ressemble à ce qui suit:
dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0
L'option dir
est utilisée pour
déclarer un ou plusieurs répertoires dans
lesquels seront stockés les fichiers journaux. Si
l'on mentionne plus d'un répertoire, ces derniers
seront utilisés dans l'ordre à mesure qu'ils
se remplissent. Il est classique de configurer le
système d'audit pour le stockage des fichiers
journaux sur un système de fichiers
dédié, afin d'éviter toute
interférence entre le système d'audit et
d'autres systèmes si le système de fichiers
est plein.
Le champ flags
fixe le masque
général de présélection
utilisé par défaut pour les
événements attribuables. Dans l'exemple
ci-dessus, les ouvertures et fermetures de sessions
réussies ou échouées sont
enregistrées pour tous les utilisateurs.
L'option minfree
définit le
pourcentage minimal d'espace libre du système de
fichiers sur lequel les traces d'audit sont stockées.
Si cette limite est dépassée, un avertissement
sera généré. L'exemple ci-dessus fixe
l'espace minimal à vingt pourcent.
L'entrée naflags
indique les
classes à surveiller pour les
événements non-attribués, comme les
processus d'ouverture de session et les
« démons » système.
L'entrée policy
donne une
liste d'indicateurs de stratégie contrôlant
divers aspect du comportement de l'audit
séparés par une virgule. L'indicateur
cnt
indique que le système devrait
continuer à fonctionner en dépit d'un
échec dans l'audit (l'emploi de cet indicateur est
hautement recommandé). Un autre indicateur
généralement utilisé est
argv
, qui provoque l'audit des arguments
passés à l'appel système execve(2)
lors de l'audit de l'exécution des commandes.
L'entrée filez
indique la
taille maximale en octets autorisée pour un fichier
de trace avant qu'il soit interrompu et que le
système provoque sa rotation. La valeur par
défaut, 0, désactive la rotation automatique
des journaux. Si la taille de fichier est différente
de zéro mais inférieure à 512K, elle
sera ignorée et un message sera
généré.
Le fichier audit_user
permet
à l'administrateur de préciser des conditions
supplémentaires d'audit pour des utilisateurs
spécifiques. Chaque ligne paramètre l'audit
pour un utilisateur par l'intermédiaire de deux
champs: le premier est le champ
alwaysaudit
, qui indique l'ensemble des
événements qui devraient toujours être
surveillés pour l'utilisateur, le deuxième
champ, neveraudit
, indique un ensemble
d'événements qui ne devrait jamais être
audité pour cet utilisateur.
L'exemple suivant de fichier
audit_user
permet le suivi des
ouvertures et fermetures de sessions et l'exécution
de commandes avec succès de l'utilisateur
root
, et audite la création de
fichiers et l'exécution de commandes avec
succès pour l'utilisateur www
.
Si ce fichier est utilisé avec l'exemple
précédent de fichier
audit_control
, l'entrée
lo
pour root
est
redondante, et les événements relatifs aux
ouvertures et aux fermetures de sessions seront
également enregistrés pour l'utilisateur
www
.
root:lo,+ex:no www:fc,+ex:no
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.