mirror of
https://github.com/apache/httpd.git
synced 2025-07-04 05:22:30 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1696151 13f79535-47bb-0310-9956-ffa450edef68
187 lines
9.0 KiB
Plaintext
187 lines
9.0 KiB
Plaintext
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
|
<!-- English Revision: 1693828 -->
|
|
<!-- French translation : Lucien GENTIS -->
|
|
<!-- Reviewed by : Vincent Deffontaines -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_log_forensic.xml.meta">
|
|
|
|
<name>mod_log_forensic</name>
|
|
<description>Journalisation légale des requêtes envoyées au
|
|
serveur</description>
|
|
<status>Extension</status>
|
|
<sourcefile>mod_log_forensic.c</sourcefile>
|
|
<identifier>log_forensic_module</identifier>
|
|
|
|
<summary>
|
|
<p>Ce module permet la journalisation légale des requêtes client.</p>
|
|
|
|
<p>La création du fichier journal correspondant s'effectue via la
|
|
directive <directive>ForensicLog</directive> comme suit :</p>
|
|
|
|
<highlight language="config">
|
|
ForensicLog logs/forensic_log
|
|
</highlight>
|
|
|
|
<p>La journalisation s'effectuant avant et après le traitement de la
|
|
requête, le journal légal contient deux lignes pour chaque requête.
|
|
Le processus de journalisation légale est très strict, à savoir
|
|
:</p>
|
|
|
|
<ul>
|
|
<li>Le format est figé. Vous ne pouvez pas modifier le format du
|
|
journal à l'exécution.</li>
|
|
<li>S'il ne peut pas enregistrer ses données, le processus enfant se
|
|
termine aussitôt, et peut éventuellement enregistrer un vidage
|
|
mémoire (selon la définition de la directive <directive
|
|
module="mpm_common">CoreDumpDirectory</directive>).</li>
|
|
</ul>
|
|
|
|
<p>Pour interpréter les données du journal
|
|
légal afin d'identifier les requêtes dont le traitement n'a
|
|
pas été mené à bien, vous pouvez vous
|
|
aider du script <code>check_forensic</code> qui se trouve dans le
|
|
répertoire support de la distribution.</p>
|
|
|
|
<example>
|
|
check-forensic forensic_log
|
|
</example>
|
|
|
|
<note>Note de traduction : le terme "légal" utilisé dans le présent document ne suggère aucunement que
|
|
ce module apporte une valeur juridique aux journaux. Il est à comprendre dans le contexte
|
|
similaire à ce que l'on trouve en analyse medico-légale. En d'autres termes, la finalité de ce module
|
|
est de simplifier les opérations d'investigation autour du traitement des requêtes par le serveur.</note>
|
|
</summary>
|
|
<seealso><a href="../logs.html">Les fichiers journaux
|
|
d'Apache</a></seealso>
|
|
<seealso><module>mod_log_config</module></seealso>
|
|
|
|
<section id="formats"><title>Format du journal Forensic</title>
|
|
<p>Chaque requête fait l'objet d'une double journalisation. La
|
|
requête est journalisée une première fois avant son traitement
|
|
(c'est à dire après la réception des en-têtes). La deuxième entrée
|
|
du journal est écrite <em>après</em> le traitement de la requête, en
|
|
fait au moment de la journalisation habituelle.</p>
|
|
|
|
<p>Un identifiant unique est attribué à chaque requête afin de
|
|
pouvoir l'identifier. Cette identifiant légal peut faire l'objet
|
|
d'un enregistrement dans le journal standard en utilisant l'élément
|
|
de chaîne de format <code>%{forensic-id}n</code>. Si vous utilisez
|
|
<module>mod_unique_id</module>, c'est l'identifiant qu'il génère qui
|
|
sera utilisé.</p>
|
|
|
|
<p>La première partie de la journalisation de la requête enregistre
|
|
l'identifiant légal, la ligne de la requête et tous les en-têtes
|
|
reçus séparés par des caractères pipe (<code>|</code>). Voici à
|
|
titre d'exemple à quoi pourrait ressembler une telle entrée (tout
|
|
étant rassemblé sur une seule ligne) :</p>
|
|
|
|
<example>
|
|
+yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif
|
|
HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11;
|
|
U; Linux i686; en-US; rv%3a1.6) Gecko/20040216
|
|
Firefox/0.8|Accept:image/png, <var>etc...</var>
|
|
</example>
|
|
|
|
<p>Le caractère plus ('+') de début indique qu'il s'agit de la
|
|
première entrée de journal pour cette requête. La seconde entrée ne
|
|
contiendra qu'un caractère moins ('-') suivi de l'identifiant :</p>
|
|
|
|
<example>
|
|
-yQtJf8CoAB4AAFNXBIEAAAAA
|
|
</example>
|
|
|
|
<p>Le script <code>check_forensic</code> prend comme argument le nom
|
|
du fichier journal. Il recherche ces paires d'identifiants
|
|
<code>+</code>/<code>-</code> et affiche un message d'erreur si la
|
|
journalisation d'une requête n'est pas complète.</p>
|
|
</section>
|
|
|
|
<section id="security"><title>Considérations à propos de
|
|
sécurité</title>
|
|
<p>Voir le document <a
|
|
href="../misc/security_tips.html#serverroot">conseils en matière de
|
|
sécurité</a> pour des détails sur les raisons pour lesquelles votre
|
|
sécurité pourrait être compromise si le répertoire dans lequel les
|
|
fichiers journaux sont stockés sont inscriptibles par tout autre
|
|
utilisateur que celui qui démarre le serveur.</p>
|
|
<p>Les fichiers journaux peuvent contenir des données sensibles
|
|
comme le contenu des en-têtes <code>Authorization:</code> (qui
|
|
peuvent contenir des mots de passe) ; ils ne doivent donc être
|
|
lisibles que par l'utilisateur qui démarre le serveur.</p>
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>ForensicLog</name>
|
|
<description>Définit le nom de fichier du journal légal</description>
|
|
<syntax>ForensicLog <var>nom-fichier</var>|<var>pipe</var></syntax>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>La directive <directive>ForensicLog</directive> permet de
|
|
contrôler la journalisation des requêtes à des fins d'analyse
|
|
légale. Chaque entrée du journal se voit assigner un identifiant
|
|
unique qui peut être associé à la requête en utilisant la directive
|
|
<directive module="mod_log_config">CustomLog</directive> habituelle.
|
|
<module>mod_log_forensic</module> crée un élément nommé
|
|
<code>forensic-id</code>, qui peut être ajouté au journal standard
|
|
en utilisant l'élément de format <code>%{forensic-id}n</code>.</p>
|
|
|
|
<p>L'argument, qui permet de spécifier l'emplacement vers lequel le
|
|
journal légal sera écrit, peut contenir les deux types de valeurs
|
|
suivants :</p>
|
|
|
|
<dl>
|
|
<dt><var>nom-fichier</var></dt>
|
|
<dd>Un nom de fichier relatif au répertoire défini par la
|
|
directive <directive module="core">ServerRoot</directive>.</dd>
|
|
|
|
<dt><var>pipe</var></dt>
|
|
<dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
|
|
programme qui recevra les informations de la journalisation sur
|
|
son entrée standard. Le nom du programme peut être relatif au
|
|
répertoire défini par la directive <directive
|
|
module="core">ServerRoot</directive>.
|
|
|
|
<note type="warning"><title>Sécurité :</title>
|
|
<p>Si les journaux sont redirigés vers un programme, ce dernier
|
|
s'exécutera sous l'utilisateur qui a démarré
|
|
<program>httpd</program>. Ce sera l'utilisateur root si le serveur
|
|
a été démarré par root ; vérifiez que le programme est
|
|
sécurisé ou passe sous le contrôle d'un utilisateur possédant des
|
|
droits restreints.</p>
|
|
</note>
|
|
|
|
<note><title>Note</title>
|
|
<p>Lors de la spécification d'un chemin de fichier sur les
|
|
plate-formes non-Unix, il faut prendre soin de ne pas oublier
|
|
que seuls les slashes directs doivent être utilisés, même si la
|
|
plate-forme autorise l'emploi d'anti-slashes. D'une manière
|
|
générale, c'est une bonne idée que de n'utiliser que des slashes
|
|
directs dans les fichiers de configuration.</p>
|
|
</note></dd>
|
|
</dl>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|