doc/fr_FR.ISO8859-1/books/handbook/audit/chapter.xml

915 lines
32 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 44395
-->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
on the triggers from the kernel (log rotation, out of space, etc).
And the /dev/audit special file if we choose to support that. Could use
some coverage of integrating MAC with Event auditing and perhaps discussion
on how some companies or organizations handle auditing and auditing
requirements. -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit">
<info><title>Audit des événements relatifs &agrave; la
sécurité du système</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Ecrit par </contrib></author>
<author><personname><firstname>Robert</firstname><surname>Watson</surname></personname></author>
</authorgroup>
</info>
&trans.a.fonvieille;
<sect1 xml:id="audit-synopsis">
<title>Synopsis</title>
<indexterm><primary>AUDIT</primary></indexterm>
<indexterm>
<primary>Audit des événements relatifs &agrave; la
sécurité du système</primary>
<see>MAC</see>
</indexterm>
<para>&os; dispose d'un
support pour l'audit d'événements relatifs
&agrave; la sécurité du système. L'audit
d'événements permet un enregistrement fiable et
configurable d'une grande variété
d'événements système en rapport avec la
sécurité, parmi lesquels les ouvertures de
session, les modifications de la configuration, et les
accès aux fichiers et au réseau. Ces
enregistrements ou journaux peuvent être d'une très
grande aide pour la surveillance d'un système, pour la
détection d'intrusion, et les analyses post-mortem. &os;
implémente l'<acronym>API</acronym> et le format de fichiers
<acronym>BSM</acronym> (<emphasis>Basic Security
Module</emphasis>) publiés par &sun; qui sont
interopérables avec les implémentations d'audits
de &solaris; de &sun; et de &macos; X d'&apple;.</para>
<para>Ce chapitre se concentre sur l'installation et la
configuration de l'audit des événements. Il
explique les stratégies utilisées pour l'audit, et
propose un exemple de configuration.</para>
<para>Après la lecture de ce chapitre, vous saurez:</para>
<itemizedlist>
<listitem>
<para>Ce qu'est l'audit d'événements et comment
cela fonctionne.</para>
</listitem>
<listitem>
<para>Comment configurer l'audit d'événements
sous &os; pour les utilisateurs et les processus.</para>
</listitem>
<listitem>
<para>Comment lire une trace d'audit en utilisant les outils
de réduction et de lecture.</para>
</listitem>
</itemizedlist>
<para>Avant de lire ce chapitre, vous devrez:</para>
<itemizedlist>
<listitem>
<para>Comprendre les fondements d'&unix; et de &os;
(<xref linkend="basics"/>).</para>
</listitem>
<listitem>
<para>Etre familier avec la configuration et la compilation du
noyau (<xref linkend="kernelconfig"/>).</para>
</listitem>
<listitem>
<para>Avoir quelques notions de sécurité et
savoir comment les appliquer &agrave; &os; (<xref linkend="security"/>).</para>
</listitem>
</itemizedlist>
<warning>
<para>La fonctionnalité d'audit connaît des limitations.
Tous les événements
systèmes en rapport avec la sécurité ne
peuvent pas être soumis &agrave; un audit, et que certains
mécanismes d'ouverture de session, comme les
gestionnaires de procédures de connexions basés
sur <application>Xorg</application> et des <quote>démons</quote> tiers, ne permettent
pas une configuration correcte de l'audit pour les ouvertures de
session utilisateur.</para>
<para>Le système d'audit des événements
permet la génération d'enregistrements
détaillés de l'activité du système.
Sur un système occupé, un fichier journal d'audit
peut être très important quand le système
est configuré pour un haut niveau de détail,
dépassant plusieurs gigaoctets par semaine sur certaines
configurations. Les administrateurs système devraient
prendre en compte les besoins en espace disque associés
avec les configurations d'audit &agrave; haut niveau de
détail. Par exemple, il peut être
recommandé de dédier un système de fichiers
&agrave; <filename class="directory">/var/audit</filename> de
manière &agrave; ce que les autres systèmes de
fichiers ne soient pas affectés si le système de
fichiers pour les audits est plein.</para>
</warning>
</sect1>
<sect1 xml:id="audit-inline-glossary">
<title>Mots-clés</title>
<para>Les termes suivants sont relatifs &agrave;
l'audit des événements:</para>
<itemizedlist>
<listitem>
<para><emphasis>événement</emphasis>: un
événement pouvant être audité est
n'importe quel événement pouvant faire l'objet
d'un suivi par le système d'audit. La création
d'un fichier, la mise en place d'une connection réseau,
ou une ouverture de session sont des exemples
d'événements relatifs &agrave; la
sécurité. Les événements sont
considérés soit comme
<quote>attribuables</quote>, quand on peut les relier &agrave;
un utilisateur authentifié, soit
<quote>non-attribuables</quote> quand on ne peut pas les
relier &agrave; un utilisateur authentifié. Des
événements comme ceux qui apparaissent avant
l'authentification durant le processus d'ouverture de session,
tels que les tentatives avec un mauvais mot de passe, sont des
exemples d'événements non-attribuables.</para>
</listitem>
<listitem>
<para><emphasis>classe</emphasis>: désigne &agrave; l'aide
d'un nom particulier des ensembles
d'événements en rapport les uns avec les
autres et sont utilisées dans les expressions de
sélection des événements. Les classes
d'événement généralement
utilisées sont la <quote>création de
fichiers</quote> (fc) l'<quote>exécution</quote> (ex)
et l'<quote>ouverture/fermeture de session</quote>
(lo).</para>
</listitem>
<listitem>
<para><emphasis>enregistrement</emphasis>:
une entrée du fichier de trace d'audit
décrivant un événement relatif &agrave;
la sécurité. Les enregistrements contiennent
le type d'événement, des informations sur
l'auteur (l'utilisateur) de l'action, la date et l'heure,
des informations sur tout objet ou argument en relation avec
l'action, et une condition de succès ou
d'échec.</para>
</listitem>
<listitem>
<para><emphasis>trace d'audit</emphasis>: un
fichier journal consistant en une série
d'enregistrements décrivant les
événements relatifs &agrave; la
sécurité. Les traces
sont organisées de manière chronologiques par
rapport &agrave; l'horaire de fin des
événements. Seuls les processus
autorisés peuvent ajouter des enregistrements aux
fichiers journaux d'audit.</para>
</listitem>
<listitem>
<para><emphasis>expression de sélection</emphasis>: une
chaîne de
caractères contenant une liste de préfixes et
de classes d'événement d'audit utilisés
pour désigner des événements.</para>
</listitem>
<listitem>
<para><emphasis>préselection</emphasis>: le processus
par lequel le système identifie quels
événements intéressent l'administrateur.
La configuration de la
présélection utilise une série
d'expressions de sélection pour déterminer
quelles classes d'événement sont &agrave;
auditer et pour quels utilisateurs, ainsi que le
paramétrage global qui s'applique aux processus
authentifiés et non-authentifiés.</para>
</listitem>
<listitem>
<para><emphasis>réduction</emphasis>: le processus par
lequel les enregistrements de traces d'audit existantes sont
sélectionnés pour être conservés,
imprimés ou analysés. Ou encore le processus
qui supprime de la trace d'audit les enregistrements
non-désirés. En utilisant le principe de
réduction, les administrateurs peuvent mettre en
place des stratégies pour la conservation des
données d'audit. Par exemple, les traces d'audit
détaillées peuvent être
conservées pendant un mois, mais passé ce
délai, les traces seront réduites afin de ne
préserver pour archivage que les informations
relatives aux ouvertures de sessions.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 xml:id="audit-config">
<title>Configuration de l'audit</title>
<para>Le support pour l'audit des événements est installé avec le
système de base de &os;. Le support présent dans le noyau
<filename>GENERIC</filename> par défaut, et &man.auditd.8; peut
être activé en ajoutant la ligne suivante au fichier
<filename>/etc/rc.conf</filename>:</para>
<programlisting>auditd_enable="YES"</programlisting>
<para>Puis, le daemon d'audit peut être lancé:</para>
<screen>&prompt.root; <userinput>service auditd start</userinput></screen>
<para>Les utilisateurs préférant compiler un noyau sur mesure
doivent ajouter la ligne suivante dans le fichier de
configuration du noyau:</para>
<programlisting>options AUDIT</programlisting>
<sect2>
<title>Expressions de sélection des
événements</title>
<para>Les expressions de sélection sont utilisées
&agrave; 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 devant correspondre.
Les expressions de sélection sont
évaluées de gauche &agrave; droite, et deux
expressions sont combinées en ajoutant l'une &agrave;
la suite de l'autre.</para>
<para><xref linkend="event-selection"/> résume les classes
d'événements présentes par défaut</para>
<table xml:id="event-selection" frame="none" pgwide="1">
<title>Classes d'événements par défaut</title>
<tgroup cols="3">
<thead>
<row>
<entry>Classe</entry>
<entry>Description</entry>
<entry>Action</entry>
</row>
</thead>
<tbody>
<row>
<entry>all</entry>
<entry>tout</entry>
<entry>correspond &agrave; toutes les classes
d'événements.</entry>
</row>
<row>
<entry>aa</entry>
<entry>authentification et autorisation</entry>
<entry></entry>
</row>
<row>
<entry>ad</entry>
<entry>administration</entry>
<entry>Actions d'administration du système.</entry>
</row>
<row>
<entry>ap</entry>
<entry>application</entry>
<entry>Action définie par l'application.</entry>
</row>
<row>
<entry>cl</entry>
<entry>fermeture de fichiers</entry>
<entry>Enregistre les utilisations de l'appel système
<function>close</function>.</entry>
</row>
<row>
<entry>ex</entry>
<entry>exécution</entry>
<entry>Enregistre les exécutions de programmes. L'audit
des arguments en ligne de commande et des variables
d'environnement est contrôlé par via
&man.audit.control.5; en utilisant les paramètres
<literal>argv</literal> et <literal>envv</literal>
pour l'entrée <literal>policy</literal>.</entry>
</row>
<row>
<entry>fa</entry>
<entry>accès à aux attributs des fichiers</entry>
<entry>enregistre l'accès aux attributs des objets comme
&man.stat.1;, &man.pathconf.2;.</entry>
</row>
<row>
<entry>fc</entry>
<entry>création de fichiers</entry>
<entry>Enregistre les événements ayant pour résultat la
création d'un fichier.</entry>
</row>
<row>
<entry>fd</entry>
<entry>suppression de fichiers</entry>
<entry>Enregistre les événements pour lesquels une
suppression de fichier a lieu.</entry>
</row>
<row>
<entry>fm</entry>
<entry>modification des attributs d'un fichier</entry>
<entry>Enregistre les événements lors desquels une
modification des attributs d'un fichier intervient,
comme l'utilisation de &man.chown.8;,
&man.chflags.1;, et &man.flock.2;.</entry>
</row>
<row>
<entry>fr</entry>
<entry>lecture de fichiers</entry>
<entry>Enregistre les événements qui donnent lieu
&agrave; la lecture de données, l'ouverture de
fichiers pour la lecture.</entry>
</row>
<row>
<entry>fw</entry>
<entry>écriture de fichiers</entry>
<entry>Enregistre les événements qui donnent lieu
&agrave; l'écriture de données ou &agrave; l'écriture ou
la modification de fichiers.</entry>
</row>
<row>
<entry>io</entry>
<entry>ioctl</entry>
<entry>Enregistre l'utilisation de l'appel système
<function>ioctl</function>.</entry>
</row>
<row>
<entry>ip</entry>
<entry>ipc</entry>
<entry>Enregistre les différentes utilisations de
communication inter-processus, dont les utilisations
des tubes POSIX et les opérations
<acronym>IPC</acronym> Système V.</entry>
</row>
<row>
<entry>lo</entry>
<entry>login_logout</entry>
<entry>Enregistre les ouvertures et fermeture de session
(&man.login.1; et &man.logout.1;).</entry>
</row>
<row>
<entry>na</entry>
<entry>non attributable</entry>
<entry>Enregistre les événements non-attribuables.</entry>
</row>
<row>
<entry>no</entry>
<entry>classe invalide</entry>
<entry>Ne correspond &agrave; aucun des événements
surveillés.</entry>
</row>
<row>
<entry>nt</entry>
<entry>réseau</entry>
<entry>Enregistre les événements relatifs au réseau,
comme l'utilisation des fonctions &man.connect.2; et
&man.accept.2;.</entry>
</row>
<row>
<entry>ot</entry>
<entry>autre</entry>
<entry>Enregistre les événements divers.</entry>
</row>
<row>
<entry>pc</entry>
<entry>processus</entry>
<entry>Enregistre les opérations sur les processus,
comme l'utilisation des fonctions &man.exec.3; et
&man.exit.3;.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Ces classes d'événement peuvent être
personnalisées en modifiant les fichiers de
configuration <filename>audit_class</filename> et
<filename>audit_event</filename>.</para>
<para>Chaque classe d'audit peut être 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é. <xref linkend="event-prefixes"/> résume les
préfixes disponibles.</para>
<table xml:id="event-prefixes" frame="none" pgwide="1">
<title>Prefixes pour les classes d'audit</title>
<tgroup cols="2">
<thead>
<row>
<entry>Prefixe</entry>
<entry>Action</entry>
</row>
</thead>
<tbody>
<row>
<entry>+</entry>
<entry>Enregistre les événements réussis de cette
classe.</entry>
</row>
<row>
<entry>-</entry>
<entry>Enregistre les événements de cette classe qui ont
échoué.</entry>
</row>
<row>
<entry>^</entry>
<entry>N'enregistre ni les événements réussis ni les
échecs de cette classe.</entry>
</row>
<row>
<entry>^+</entry>
<entry>Ne pas enregistrer les événements réussis de
cette classe.</entry>
</row>
<row>
<entry>^-</entry>
<entry>Ne pas enregistrer les événements de cette classe
qui ont échoué.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Si aucun préfixe n'est présent, les succès et le échecs de
l'événement seront enregistrés.</para>
<para>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:</para>
<programlisting>lo,+ex</programlisting>
</sect2>
<sect2>
<title>Fichiers de configuration</title>
<para>Les fichiers de configuration suivants pour l'audit
d'événements en rapport avec la
sécurité se trouvent dans le répertoire
<filename>/etc/security</filename>.</para>
<itemizedlist>
<listitem>
<para><filename>audit_class</filename>: contient les
définitions des classes d'audit.</para>
</listitem>
<listitem>
<para><filename>audit_control</filename>: contrôle les
caractéristiques du système d'audit comme les
classes d'audit par défaut, l'espace disque minimal
&agrave; conserver sur le volume réservé aux
journaux, la taille maximale des traces d'audit.</para>
</listitem>
<listitem>
<para><filename>audit_event</filename>: les noms et la
description des événements systèmes
audités ainsi qu'une liste de classes auxquelles
appartiennent chaque événement.</para>
</listitem>
<listitem>
<para><filename>audit_user</filename>: les classes
d'événement &agrave; auditer pour des
utilisateurs spécifiques, qui s'ajoutent aux
paramètres généraux fixés par
défaut &agrave; l'ouverture de session.</para>
</listitem>
<listitem>
<para><filename>audit_warn</filename>: une procédure
modifiable utilisée par
&man.auditd.8; 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.</para>
</listitem>
</itemizedlist>
<warning>
<para>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 &agrave; un enregistrement incorrect des
événements.</para>
</warning>
<para>Dans la plupart des cas, les administrateurs ne devront
modifier que <filename>audit_control</filename> et
<filename>audit_user</filename>. Le premier contrôle
les propriétés et les stratégies au
niveau du système et le second peut être
utilisé pour affiner l'audit pour chaque
utilisateur.</para>
<sect3 xml:id="audit-auditcontrol">
<title>Le fichier <filename>audit_control</filename></title>
<para>Un certain nombre de paramètres par défaut pour le
système d'audit sont spécifiés dans le fichier
<filename>audit_control</filename>:</para>
<programlisting>dir:/var/audit
dist:off
flags:lo,aa
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M</programlisting>
<para>L'option <literal>dir</literal> 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 &agrave; 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.</para>
<para>Si le champ <option>dist</option> est fixé à
<literal>on</literal> ou <literal>yes</literal>, des liens
matériel seront créés pour tous les fichiers de trace
d'audit de <filename>/var/audit/dist</filename>.</para>
<para>Le champ <literal>flags</literal> 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 ainsi que les authentifications et
autorisations sont
enregistrées pour tous les utilisateurs.</para>
<para>L'option <literal>minfree</literal> définit le
pourcentage minimal d'espace libre du système de
fichiers sur lequel les traces d'audit sont stockées.</para>
<para>L'entrée <literal>naflags</literal> indique les
classes &agrave; surveiller pour les
événements non-attribués, comme les
processus d'ouverture et de fermeture de session et les
authentifications et autorisations.</para>
<para>L'entrée <literal>policy</literal> 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
<literal>cnt</literal> indique que le système devrait
continuer &agrave; fonctionner en dépit d'un
échec dans l'audit (l'emploi de cet indicateur est
hautement recommandé). L'autre indicateur
<literal>argv</literal>, provoque l'audit des arguments
passés &agrave; l'appel système &man.execve.2;
lors de l'audit de l'exécution des commandes.</para>
<para>L'entrée <literal>filez</literal> 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, <literal>0</literal>, désactive la rotation automatique
des journaux. Si la taille de fichier est
inférieure &agrave; 512K, elle
sera ignorée et un message sera
généré.</para>
<para>Le champ <option>expire-after</option> indique quand un
fichier de trace expirera et sera supprimé.</para>
</sect3>
<sect3 xml:id="audit-audituser">
<title>Le fichier <filename>audit_user</filename></title>
<para>L'administrateur peut spécifier des exigences
supplémentaires qu niveau de l'audit pour des utilisateurs
spécifiques dans le fichier <filename>audit_user</filename>.
Chaque ligne paramètre l'audit
pour un utilisateur par l'intermédiaire de deux
champs: le champ
<literal>alwaysaudit</literal>, qui indique l'ensemble des
événements qui devraient toujours être
surveillés pour l'utilisateur, le
champ, <literal>neveraudit</literal>, indique un ensemble
d'événements qui ne devrait jamais être
audité pour cet utilisateur.</para>
<para>L'exemple suivant d'entrées
permet le suivi des
ouvertures et fermetures de sessions et l'exécution
de commandes avec succès de l'utilisateur
<systemitem class="username">root</systemitem>, et audite la création de
fichiers et l'exécution de commandes avec
succès pour l'utilisateur <systemitem class="username">www</systemitem>.
Si utilisé avec le
fichier
<filename>audit_control</filename> par défaut, l'entrée
<literal>lo</literal> pour <systemitem class="username">root</systemitem> est
redondante, et les événements relatifs aux
ouvertures et aux fermetures de sessions seront
également enregistrés pour l'utilisateur
<systemitem class="username">www</systemitem>.</para>
<programlisting>root:lo,+ex:no
www:fc,+ex:no</programlisting>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="audit-administration">
<title>Travailler avec les traces d'audit</title>
<para>Etant donné que les traces d'audit sont stockées sous le format
binaire <acronym>BSM</acronym> (<quote>Basic Security Module</quote>),
plusieurs outils sont disponibles pour modifier ou convertir
en texte ces fichiers de trace.
Pour convertir les fichiers de trace en en texte simple,
utiliser la commande <command>praudit</command>.
Pour réduire le fichier de trace en vue
d'une analyse, d'un archivage, ou d'une impression, utiliser
la commande <command>auditreduce</command>. Cet utilitaire
supporte une variété de paramètres de sélection, parmi
lesquels le type d'événement, la classe de l'événement,
l'utilisateur, la date ou l'heure de l'événement, et le chemin
d'accès ou l'objet sur lequel on agit.</para>
<para>Par exemple, pour afficher
sous forme de texte brut l'intégralité
du contenu du fichier journal d'audit
précisé:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput></screen>
<para>
<replaceable>AUDITFILE</replaceable> est
le journal &agrave; afficher.</para>
<para>Les traces d'audit consistent en une série
d'enregistrements constitués de champs que la commande
<command>praudit</command> affiche de manière
séquentielle, un par ligne. Chaque champ est
spécifique, comme <literal>header</literal>
(l'entête de l'enregistrement), ou <literal>path</literal>
(le chemin d'accès). Ce qui suit est un
exemple d'événement
<literal>execve</literal>:</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>
<para>Cet audit représente un appel réussi
&agrave; <literal>execve</literal>, lors de l'exécution
de la commande <literal>finger doug</literal>. Le champ
<literal>exec arg</literal> contient la ligne de commande
présentée par l'interpréteur de commandes
au noyau. Le champ <literal>path</literal> contient le chemin
d'accès &agrave; l'exécutable comme le voit le
noyau. Le champ <literal>attribute</literal> décrit le
binaire et précise les permissions sur le fichier. Le champ
<literal>subject</literal> conserve l'identifiant (ID) de
l'utilisateur audité, les
identifiants groupe et utilisateur effectifs, les identifiants
groupe et utilisateur réels, l'ID du processus, l'ID de
la session, l'ID du port, et l'adresse correspondant &agrave;
la session. Notez que l'ID de l'utilisateur pour l'audit
diffère de l'ID réel de l'utilisateur étant donné que
l'utilisateur <systemitem class="username">robert</systemitem> est passé en
<systemitem class="username">root</systemitem> avant l'exécution de la
commande, mais l'audit se fait par rapport &agrave;
l'utilisateur authentifié original. Le champ
<literal>return</literal> indique la réussite de
l'exécution et le champ <literal>trailer</literal>
termine l'enregistrement.</para>
<para>Le format de sortie <acronym>XML</acronym> est également
supporté et peut être sélectionné en
utilisant l'argument <option>-x</option>.</para>
<para>Comme les journaux d'audit peuvent être très
gros, un sous-ensemble d'enregistrements peut être sélectionné
en utilisant <command>auditreduce</command>. Cet exemple
sélectionne tous les enregistrements produits pour
l'utilisateur <systemitem class="username">trhodes</systemitem> et
stockés dans le fichier
<replaceable>AUDITFILE</replaceable>:</para>
<screen>&prompt.root; <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput></screen>
<para>Les membres du groupe <systemitem class="groupname">audit</systemitem> sont
autorisés &agrave; lire les traces d'audit
présentes dans le répertoire <filename class="directory">/var/audit</filename>. Par défaut, ce
groupe est vide, par conséquent seul l'utilisateur
<systemitem class="username">root</systemitem> peut lire les traces d'audit. Des
utilisateurs peuvent être ajoutés au groupe
<systemitem class="groupname">audit</systemitem> afin de déléguer
les droits de lecture des audits.
Comme la possibilité de suivre le contenu des fichiers
journaux de l'audit donne un aperçu significatif du
comportement des utilisateurs et des processus, il est donc
recommandé de déléguer avec prudence les
droits de lecture des audits.</para>
<sect2>
<title>Surveillance en direct &agrave; l'aide de tubes
d'audit</title>
<para>Les tubes (<quote>pipes</quote>) d'audit sont des
pseudo-périphériques <quote>clonables</quote> qui autorisent
aux applications l'accès au flux d'enregistrement des audits
en cours. C'est de tout premier intérêt pour les auteurs
d'applications de détection des intrusions et de surveillance
du système. Cependant, le tube d'audit est un moyen pratique
pour l'administrateur pour autoriser la surveillance en direct
sans avoir &agrave; faire face aux problèmes de permissions ou
de rotation des fichiers journaux interrompant le flux des
enregistrements des événements. Pour suivre le flux des
enregistrements de l'audit en cours:</para>
<screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
<para>Par défaut, les fichiers spéciaux de
périphériques correspondant aux tubes d'audit ne
sont accessibles qu'&agrave; l'utilisateur
<systemitem class="username">root</systemitem>. Pour les rendre accessibles aux
membres du groupe <systemitem class="groupname">audit</systemitem>, ajoutez une
règle <literal>devfs</literal> au fichier
<filename>/etc/devfs.rules</filename>:</para>
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
<para>Consultez la page de manuel &man.devfs.rules.5; pour plus
d'information sur la configuration du système de
fichiers devfs.</para>
<warning>
<para>Il est relativement simple de produire un effet de
boucle sans fin, dans lequel la consultation de chaque
événement enregistré par le
système d'audit provoque la génération
de nouveaux événements d'audit. Par exemple,
si toutes les entrées/sorties réseau sont
surveillées, et que <command>praudit</command> est
exécuté depuis une session <acronym>SSH</acronym>, alors un flux
continu d'événements sera
généré suivant une fréquence
importante, chaque événement affiché
générant un autre événement. Pour cette raison, il
est recommandé d'exécuter <command>praudit</command>
sur un tube par
l'intermédiaire de sessions sans surveillance
précise des entrées/sorties.</para>
</warning>
</sect2>
<sect2>
<title>Rotation et compression des fichiers de trace d'audit</title>
<para>Les traces d'audit sont écrites par le noyau, et sont
gérées par le <quote>démon</quote> d'audit,
&man.auditd.8;. Les administrateurs ne
devraient donc pas tenter d'utiliser &man.newsyslog.conf.5; ou
tout autre outil pour assurer la rotation directe des journaux
d'audit. A la place, l'utilitaire <command>audit</command>
devrait être employé pour stopper l'audit,
reconfigurer le système d'audit et effectuer la
rotation des journaux. La commande suivante provoque la
création d'un nouveau fichier journal d'audit par le
<quote>démon</quote> et signale au noyau d'utiliser le
nouveau fichier pour les enregistrements. L'ancien fichier
journal sera fermé et renommé et pourra,
&agrave; partir de cet instant, être manipulé par
l'administrateur:</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<para>Si &man.auditd.8; ne tourne pas, cette
commande échouera et un message d'erreur sera
généré.</para>
<para>Ajouter la ligne suivante au fichier
<filename>/etc/crontab</filename> provoquera cette rotation
toutes les douze heures:</para>
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
<para>La modification sera prise en compte une fois que aurez
sauvegardé le fichier
<filename>/etc/crontab</filename>.</para>
<para>La rotation automatique du fichier d'une trace d'audit
basée sur la taille du fichier est possible &agrave;
l'aide de l'option <option>filesz</option> de
<filename>audit_control</filename> comme décrit dans
<xref linkend="audit-auditcontrol"/>.</para>
</sect2>
<sect2>
<title>Compresser les traces d'audit</title>
<para>Les fichiers de trace d'audit peuvent devenir très
gros, il est souvent désirable de les compresser ou
sinon de les archiver une fois qu'ils ont été
fermés par le <quote>démon</quote> d'audit. La
procédure <filename>audit_warn</filename> peut
être employée pour effectuer des
opérations personnalisées pour une
variété d'événements relatifs
&agrave; l'audit, y compris l'arrêt propre des traces
d'audit lors de leur rotation. Par exemple, ce qui suit peut
être ajouté au fichier
<filename>/etc/security/audit_warn</filename> pour compresser
les traces
d'audit &agrave; leur fermeture:</para>
<programlisting>#
# Compression des fichiers de trace d'audit &agrave; leur fermeture.
#
if [ "$1" = closefile ]; then
gzip -9 $2
fi</programlisting>
<para>D'autres activités d'archivage pourront inclure la
copie des fichiers de trace vers un serveur central, la
suppression d'anciennes traces, ou la réduction des
traces pour supprimer les enregistrements inutiles. Cette
procédure ne sera exécutée que lorsque
les fichiers de trace d'audit auront été
proprement arrêtés, et ne sera pas
exécutée sur les traces interrompues en cours
d'utilisation suite &agrave; un arrêt incorrect du
système.</para>
</sect2>
</sect1>
</chapter>