diff options
author | Marc Fonvieille <blackend@FreeBSD.org> | 2007-07-08 10:41:38 +0000 |
---|---|---|
committer | Marc Fonvieille <blackend@FreeBSD.org> | 2007-07-08 10:41:38 +0000 |
commit | 25b0880275bb9a00113e90aaee4936cb14ded906 (patch) | |
tree | 4863bca4c2fefb5aeccf2afb73b2800d41ca7863 /fr_FR.ISO8859-1 | |
parent | 821d4caf741090c656edd4d89e7b02f91fefe0db (diff) |
Notes
Diffstat (limited to 'fr_FR.ISO8859-1')
-rw-r--r-- | fr_FR.ISO8859-1/books/handbook/audit/Makefile | 15 | ||||
-rw-r--r-- | fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml | 938 |
2 files changed, 953 insertions, 0 deletions
diff --git a/fr_FR.ISO8859-1/books/handbook/audit/Makefile b/fr_FR.ISO8859-1/books/handbook/audit/Makefile new file mode 100644 index 0000000000..84cb9b04ee --- /dev/null +++ b/fr_FR.ISO8859-1/books/handbook/audit/Makefile @@ -0,0 +1,15 @@ +# +# Build the Handbook with just the content from this chapter. +# +# $FreeBSD$ +# + +CHAPTERS= audit/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml new file mode 100644 index 0000000000..356aa479d3 --- /dev/null +++ b/fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml @@ -0,0 +1,938 @@ +<!-- + The FreeBSD Documentation Project + The FreeBSD French Documentation Project + + $FreeBSD$ + Original revision: 1.28 +--> + +<!-- 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 id="audit"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Ecrit par </contrib> + </author> + <author> + <firstname>Robert</firstname> + <surname>Watson</surname> + </author> + </authorgroup> + </chapterinfo> + + <title>Audit des événements relatifs à la + sécurité du système</title> + &trans.a.fonvieille; + + <sect1 id="audit-synopsis"> + <title>Synopsis</title> + + <indexterm><primary>AUDIT</primary></indexterm> + <indexterm> + <primary>Audit des événements relatifs à la + sécurité du système</primary> + <see>MAC</see> + </indexterm> + + <para>&os; 6.2-RELEASE et les versions suivantes disposent d'un + support pour l'audit d'événements relatifs + à 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'API et le format de fichiers + <acronym>BSM</acronym> 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> + </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 à &os; (<xref + linkend="security">).</para> + </listitem> + </itemizedlist> + + <warning> + <para>La fonctionnalité d'audit sous &os; 6.2 est + considérée comme expérimentale, aussi un + déploiement en production ne devrait intervenir + qu'après avoir considéré avec prudence les + risques découlant de l'utilisation de logiciels + expérimentaux. Parmi les limitations connues, on peut + citer le fait que tous les événements + systèmes en rapport avec la sécurité ne + peuvent pas être soumis à un audit, et que certains + mécanismes d'ouverture de session, comme les + gestionnaires de procédures de connexions basés + sur X11 et des <quote>démons</quote> tiers, ne permettent + pas une configuration correcte de l'audit pour les ouvertures de + session utilisateur.</para> + </warning> + + <warning> + <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 à haut niveau de + détail. Par exemple, il peut être + recommandé de dédier un système de fichiers + à l'arborescence <filename>/var/audit</filename> de + manière à 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 id="audit-inline-glossary"> + <title>Mots-clés utilisés dans ce chapitre</title> + + <para>Avant de lire ce chapitre, quelques termes relatifs à + l'audit doivent être explicités:</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 à la + sécurité. Les événements sont + considérés soit comme + <quote>attribuables</quote>, quand on peut les relier à + un utilisateur authentifié, soit + <quote>non-attribuables</quote> quand on ne peut pas les + relier à 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 + événement non-attribuables.</para> + </listitem> + + <listitem> + <para><emphasis>classe</emphasis>: les classes + d'événement désignent à 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>: un enregistrement + est une entrée du fichier de trace d'audit + décrivant un événement relatif à + 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>: une trace d'audit, + ou fichier journal, consiste en une série + d'enregistrements décrivant les + événements relatifs à la + sécurité. Généralement ces traces + sont organisées de manière chronologiques par + rapport à 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 + expression de sélection est 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 + afin d'éviter la génération + d'enregistrements d'audit sans intérêt pour + 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 à + 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 id="audit-install"> + <title>Installation du support pour les audits</title> + + <para>Le support pour l'audit des événements est + installé avec le système de base de &os; depuis la + version 6.2-RELEASE. Cependant ce support doit être + compilé dans le noyau en ajoutant la ligne suivante au + fichier de configuration du noyau:</para> + + <programlisting>options AUDIT</programlisting> + + <para>Recompilez et réinstallez le noyau en suivant le + processus classique expliqué dans le <xref + linkend="kernelconfig">.</para> + + <para>Une fois que le noyau a été compilé, + installé, et que le système a été + redémarré, activez le <quote>démon</quote> + d'audit en ajoutant la ligne suivante au fichier + &man.rc.conf.5;:</para> + + <programlisting>auditd_enable="YES"</programlisting> + + <para>Le support pour les audits peut alors être + lancé par un redémarrage de la machine ou + manuellement en lançant le <quote>démon</quote> + d'audit:</para> + + <programlisting>/etc/rc.d/auditd start</programlisting> + </sect1> + + <sect1 id="audit-config"> + <title>Configuration de l'audit</title> + + <para>Tous les fichiers de configuration de l'audit + d'événements en rapport avec la + sécurité se trouvent dans le répertoire + <filename class="directory">/etc/security</filename>. Les + fichiers suivants doivent être présents avant le + lancement du <quote>démon</quote> d'audit:</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 + à conserver sur le volume réservé aux + journaux, la taille maximale des traces d'audit, etc.</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 à auditer pour des + utilisateurs spécifiques, qui s'ajoutent aux + paramètres généraux fixés par + défaut à l'ouverture de session.</para> + </listitem> + + <listitem> + <para><filename>audit_warn</filename> - une procédure + modifiable utilisée par + <application>auditd</application> 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 à un enregistrement incorrect des + événements.</para> + </warning> + + <sect2> + <title>Expressions de sélection des + événements</title> + + <para>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.</para> + + <para>La liste suivante contient les classes + d'événements présentes par défaut + dans le fichier <filename>audit_class</filename>:</para> + + <itemizedlist> + <listitem> + <para><literal>all</literal> - <emphasis>all</emphasis> + (tout) - correspond à toutes les classes + d'événements.</para> + </listitem> + + <listitem> + <para><literal>ad</literal> - + <emphasis>administrative</emphasis> (administration) + - actions d'administration du système.</para> + </listitem> + + <listitem> + <para><literal>ap</literal> - + <emphasis>application</emphasis> - action définie + par l'application.</para> + </listitem> + + <listitem> + <para><literal>cl</literal> - <emphasis>file + close</emphasis> (fermeture de fichiers) - enregistre les + utilisations de l'appel système + <function>close</function>.</para> + </listitem> + + <listitem> + <para><literal>ex</literal> - <emphasis>exec</emphasis> + (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 &man.audit.control.5; en utilisant les + paramètres <literal>argv</literal> et + <literal>envv</literal> pour l'entrée + <literal>policy</literal>.</para> + </listitem> + + <listitem> + <para><literal>fa</literal> - <emphasis>file attribute + access</emphasis> - enregistre l'accès aux + attributs des objets comme &man.stat.1;, &man.pathconf.2; + et les événements similaires.</para> + </listitem> + + <listitem> + <para><literal>fc</literal> - <emphasis>file + create</emphasis> (cration de fichiers) - enregistre les + événements ayant pour résultat la + création d'un fichier.</para> + </listitem> + + <listitem> + <para><literal>fd</literal> - <emphasis>file + delete</emphasis> (suppression de fichiers) - enregistre + les événements pour lesquels une suppression + de fichier a lieu.</para> + </listitem> + + <listitem> + <para><literal>fm</literal> - <emphasis>file attribute + modify</emphasis> (modification des attributs d'un + fichier) - enregistre les événements lors + desquels une modification des attributs d'un fichier + intervient, comme l'utilisation de &man.chown.8;, + &man.chflags.1;, &man.flock.2;, etc.</para> + </listitem> + + <listitem> + <para><literal>fr</literal> - <emphasis>file read</emphasis> + (lecture de fichiers) - enregistre les + événements qui donnent lieu à la + lecture de données, l'ouverture de fichiers + à la lecture, etc.</para> + </listitem> + + <listitem> + <para><literal>fw</literal> - <emphasis>file + write</emphasis> (écriture de fichiers) - + enregistre les événements qui donnent lieu + à l'écriture de données, à + l'écriture ou à la modification de fichiers, + etc.</para> + </listitem> + + <listitem> + <para><literal>io</literal> - <emphasis>ioctl</emphasis> - + enregistre l'utilisation de l'appel système + &man.ioctl.2;.</para> + </listitem> + + <listitem> + <para><literal>ip</literal> - <emphasis>ipc</emphasis> - + 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.</para> + </listitem> + + <listitem> + <para><literal>lo</literal> - + <emphasis>login_logout</emphasis> (ouverture et fermeture + de session) - enregistre les ouvertures et fermeture de + session (&man.login.1; et &man.logout.1;) intervenant sur + le système.</para> + </listitem> + + <listitem> + <para><literal>na</literal> - <emphasis>non + attributable</emphasis> (non-attribuable) - enregistre les + événements non-attribuables.</para> + </listitem> + + <listitem> + <para><literal>no</literal> - <emphasis>invalid + class</emphasis> (classe invalide) - ne correspond + à aucun des événements + surveillés.</para> + </listitem> + + <listitem> + <para><literal>nt</literal> - <emphasis>network</emphasis> + (réseau) - enregistre les événements + relatifs au réseau, comme l'utilisation des + fonctions &man.connect.2; et &man.accept.2;.</para> + </listitem> + + <listitem> + <para><literal>ot</literal> - <emphasis>other</emphasis> + (autre) - enregistre les événements + divers.</para> + </listitem> + + <listitem> + <para><literal>pc</literal> - <emphasis>process</emphasis> + (processus) - enregistre les opérations sur les + processus, comme l'utilisation des fonctions &man.exec.3; + et &man.exit.3;.</para> + </listitem> + </itemizedlist> + + <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 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é.</para> + + <itemizedlist> + <listitem> + <para>(rien) enregistre les succès et les + échecs de l'événement.</para> + </listitem> + + <listitem> + <para><literal>+</literal> enregistre les + événements réussis de cette + classe.</para> + </listitem> + + <listitem> + <para><literal>-</literal> enregistre les + événements de cette classe qui ont + échoué.</para> + </listitem> + + <listitem> + <para><literal>^</literal> n'enregistre ni les + événements réussis ni les échecs + de cette classe.</para> + </listitem> + + <listitem> + <para><literal>^+</literal> ne pas enregistrer les + événements réussis de cette + classe.</para> + </listitem> + + <listitem> + <para><literal>^-</literal> ne pas enregistrer les + événements de cette classe qui ont + échoué.</para> + </listitem> + </itemizedlist> + + <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>Dans la plupart des cas, les administrateurs ne devront + modifier que deux fichiers lors de la configuration du + système d'audit: <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; le second peut être + utilisé pour affiner l'audit pour chaque + utilisateur.</para> + + <sect3 id="audit-auditcontrol"> + <title>Le fichier <filename>audit_control</filename></title> + + <para>Le fichier <filename>audit_control</filename> 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:</para> + + <programlisting>dir:/var/audit +flags:lo +minfree:20 +naflags:lo +policy:cnt +filesz:0</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 à 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>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 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. + Si cette limite est dépassée, un avertissement + sera généré. L'exemple ci-dessus fixe + l'espace minimal à vingt pourcents.</para> + + <para>L'entrée <literal>naflags</literal> indique les + classes à surveiller pour les + événements non-attribués, comme les + processus d'ouverture de session et les + <quote>démons</quote> système.</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 à 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 + <literal>argv</literal>, qui provoque l'audit des arguments + passés à 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, 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é.</para> + </sect3> + + <sect3 id="audit-audituser"> + <title>Le fichier <filename>audit_user</filename></title> + + <para>Le fichier <filename>audit_user</filename> 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 + <literal>alwaysaudit</literal>, qui indique l'ensemble des + événements qui devraient toujours être + surveillés pour l'utilisateur, le deuxième + champ, <literal>neveraudit</literal>, indique un ensemble + d'événements qui ne devrait jamais être + audité pour cet utilisateur.</para> + + <para>L'exemple suivant de fichier + <filename>audit_user</filename> permet le suivi des + ouvertures et fermetures de sessions et l'exécution + de commandes avec succès de l'utilisateur + <username>root</username>, et audite la création de + fichiers et l'exécution de commandes avec + succès pour l'utilisateur <username>www</username>. + Si ce fichier est utilisé avec l'exemple + précédent de fichier + <filename>audit_control</filename>, l'entrée + <literal>lo</literal> pour <username>root</username> est + redondante, et les événements relatifs aux + ouvertures et aux fermetures de sessions seront + également enregistrés pour l'utilisateur + <username>www</username>.</para> + + <programlisting>root:lo,+ex:no +www:fc,+ex:no</programlisting> + </sect3> + </sect2> + </sect1> + + <sect1 id="audit-administration"> + <title>Administration du système d'audit</title> + + <sect2> + <title>Consultation des traces d'audit</title> + + <para>Les traces d'audit sont stockées sous le format + binaire BSM (<quote>Basic Security Module</quote>), aussi il + sera nécessaire d'utiliser des outils pour modifier ou + convertir en texte les fichiers de trace. La commande + &man.praudit.1; convertit les fichiers de trace en simple + texte; la commande &man.auditreduce.1; peut être + utilisée pour réduire le fichier de trace en vue + d'une analyse, d'un archivage, ou d'une impression. La + commande <command>auditreduce</command> 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, l'utilitaire <command>praudit</command> + affichera 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/AUDITFILE</userinput></screen> + + <para>Où + <filename><replaceable>AUDITFILE</replaceable></filename> est + le journal à 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> contenant + l'entête de l'enregistrement, ou <literal>path</literal> + contenant 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 + à <literal>execve</literal>, lors de l'exécution + de la commande <literal>finger doug</literal>. Le champ pour + les arguments 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 à l'exécutable comme le voit le + noyau. Le champ <literal>attribute</literal> décrit le + binaire, et en particulier, précise les permissions sur + le fichier qui permettent de déterminer si + l'application avait les permissions <quote>setuid</quote>. Le + champ <literal>subject</literal> décrit le sujet de + l'audit, et conserve sous la forme d'une séquence + 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 à + la session. Notez que l'ID de l'utilisateur pour l'audit + diffère de l'ID réel de l'utilisateur: + l'utilisateur <username>robert</username> est passé en + <username>root</username> avant l'exécution de la + commande, mais l'audit se fait par rapport à + l'utilisateur authentifié original. Et enfin, le champ + <literal>return</literal> indique la réussite de + l'exécution, et le champ <literal>trailer</literal> + termine l'enregistrement.</para> + </sect2> + + <sect2> + <title>Réduction des traces d'audit</title> + + <para>Comme les journaux d'audit peuvent être très + gros, un administrateur voudra ne conserver qu'une partie des + enregistrements, comme par exemple les enregistrements + associés à un utilisateur particulier:</para> + + <screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen> + + <para>Cette commande sélectionnera tous les + enregistrements stockés dans le fichier + <filename><replaceable>AUDITFILE</replaceable></filename> et + concernant l'utilisateur <username>trhodes</username>.</para> + </sect2> + + <sect2> + <title>Délégation des droits d'accès aux + résultats des audits</title> + + <para>Les membres du groupe <groupname>audit</groupname> sont + autorisés à 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 + <username>root</username> pourra lire les traces d'audit. Des + utilisateurs peuvent être ajoutés au groupe + <groupname>audit</groupname> afin de déléguer + les droits de lecture des audits à ses utilisateurs. + 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> + + <sect2> + <title>Surveillance en direct à l'aide de tubes + d'audit</title> + + <para>Les tubes (<quote>pipes</quote>) d'audit sont des + pseudo-périphériques <quote>clonables</quote> du + système de fichiers des périphériques 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. Pour l'administrateur, le tube d'audit est un + moyen pratique d'autoriser la surveillance en direct sans + avoir à 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, utiliser la + ligne de commande suivante:</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'à l'utilisateur + <username>root</username>. Pour les rendre accessibles aux + membres du groupe <groupname>audit</groupname>, ajoutez une + règle <literal>devfs</literal> au fichier + <filename>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 &man.praudit.1; est + exécuté depuis une session SSH, 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. 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/sortie afin + d'éviter que ne survienne un tel + problème.</para> + </warning> + </sect2> + + <sect2> + <title>Rotation des fichiers de trace d'audit</title> + + <para>Les traces d'audit ne sont écrites que par le + noyau, et ne sont gérées que par le + <quote>démon</quote> d'audit, + <application>auditd</application>. 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, + à partir de cet instant, être manipulé par + l'administrateur.</para> + + <screen>&prompt.root; <userinput>audit -n</userinput></screen> + + <warning> + <para>Si le <quote>démon</quote> + <application>auditd</application> ne tourne pas, cette + commande échouera et un message d'erreur sera + généré.</para> + </warning> + + <para>Ajouter la ligne suivante au fichier + <filename>/etc/crontab</filename> provoquera la rotation des + fichiers toutes les douze heures à l'aide de + &man.cron.8;:</para> + + <programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting> + + <para>La modification sera prise en compte une fois que aurez + sauvegardé le nouveau 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 à + l'aide de l'option <option>filesz</option> de + &man.audit.control.5;, cette option est décrite dans la + section de ce chapitre concernant les fichiers de + configuration.</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 + à l'audit, y compris l'arrêt propre des traces + d'audit lors de leur rotation. Par exemple, ce qui suit peut + être ajouté à la procédure + <filename>audit_warn</filename> pour compresser les traces + d'audit à leur fermeture:</para> + + <programlisting># +# Compression des fichiers de trace d'audit à 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. La + 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 à un arrêt incorrect du + système.</para> + </sect2> + </sect1> +</chapter> |