mirror of
https://github.com/apache/httpd.git
synced 2025-05-30 01:07:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@533344 13f79535-47bb-0310-9956-ffa450edef68
147 lines
6.1 KiB
XML
147 lines
6.1 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
|
<!-- $LastChangedRevision$ -->
|
|
|
|
<!--
|
|
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>Forensic Logging of the requests made to the server</description>
|
|
<status>Extension</status>
|
|
<sourcefile>mod_log_forensic.c</sourcefile>
|
|
<identifier>log_forensic_module</identifier>
|
|
<compatibility><module>mod_unique_id</module> is no longer required since
|
|
version 2.1</compatibility>
|
|
|
|
<summary>
|
|
<p>This module provides for forensic logging of client
|
|
requests. Logging is done before and after processing a request, so the
|
|
forensic log contains two log lines for each request.
|
|
The forensic logger is very strict, which means:</p>
|
|
|
|
<ul>
|
|
<li>The format is fixed. You cannot modify the logging format at
|
|
runtime.</li>
|
|
<li>If it cannot write its data, the child process
|
|
exits immediately and may dump core (depending on your
|
|
<directive module="mpm_common">CoreDumpDirectory</directive>
|
|
configuration).</li>
|
|
</ul>
|
|
|
|
<p>The <code>check_forensic</code> script, which can be found in the
|
|
distribution's support directory, may be helpful in evaluating the
|
|
forensic log output.</p>
|
|
</summary>
|
|
<seealso><a href="../logs.html">Apache Log Files</a></seealso>
|
|
<seealso><module>mod_log_config</module></seealso>
|
|
|
|
<section id="formats"><title>Forensic Log Format</title>
|
|
<p>Each request is logged two times. The first time is <em>before</em> it's
|
|
processed further (that is, after receiving the headers). The second log
|
|
entry is written <em>after</em> the request processing at the same time
|
|
where normal logging occurs.</p>
|
|
|
|
<p>In order to identify each request, a unique request ID is assigned.
|
|
This forensic ID can be cross logged in the normal transfer log using the
|
|
<code>%{forensic-id}n</code> format string. If you're using
|
|
<module>mod_unique_id</module>, its generated ID will be used.</p>
|
|
|
|
<p>The first line logs the forensic ID, the request line and all received
|
|
headers, separated by pipe characters (<code>|</code>). A sample line
|
|
looks like the following (all on one line):</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>The plus character at the beginning indicates that this is the first log
|
|
line of this request. The second line just contains a minus character and
|
|
the ID again:</p>
|
|
|
|
<example>
|
|
-yQtJf8CoAB4AAFNXBIEAAAAA
|
|
</example>
|
|
|
|
<p>The <code>check_forensic</code> script takes as its argument the name
|
|
of the logfile. It looks for those <code>+</code>/<code>-</code> ID pairs
|
|
and complains if a request was not completed.</p>
|
|
</section>
|
|
|
|
<section id="security"><title>Security Considerations</title>
|
|
<p>See the <a
|
|
href="../misc/security_tips.html#serverroot">security tips</a>
|
|
document for details on why your security could be compromised
|
|
if the directory where logfiles are stored is writable by
|
|
anyone other than the user that starts the server.</p>
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>ForensicLog</name>
|
|
<description>Sets filename of the forensic log</description>
|
|
<syntax>ForensicLog <var>filename</var>|<var>pipe</var></syntax>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>The <directive>ForensicLog</directive> directive is used to
|
|
log requests to the server for forensic analysis. Each log entry
|
|
is assigned a unique ID which can be associated with the request
|
|
using the normal <directive module="mod_log_config">CustomLog</directive>
|
|
directive. <module>mod_log_forensic</module> creates a token called
|
|
<code>forensic-id</code>, which can be added to the transfer log
|
|
using the <code>%{forensic-id}n</code> format string.</p>
|
|
|
|
<p>The argument, which specifies the location to which
|
|
the logs will be written, can take one of the following two
|
|
types of values:</p>
|
|
|
|
<dl>
|
|
<dt><var>filename</var></dt>
|
|
<dd>A filename, relative to the <directive module="core"
|
|
>ServerRoot</directive>.</dd>
|
|
|
|
<dt><var>pipe</var></dt>
|
|
<dd>The pipe character "<code>|</code>", followed by the path
|
|
to a program to receive the log information on its standard
|
|
input. The program name can be specified relative to the <directive
|
|
module="core">ServerRoot</directive> directive.
|
|
|
|
<note type="warning"><title>Security:</title>
|
|
<p>If a program is used, then it will be run as the user who
|
|
started <program>httpd</program>. This will be root if the server was
|
|
started by root; be sure that the program is secure or switches to a
|
|
less privileged user.</p>
|
|
</note>
|
|
|
|
<note><title>Note</title>
|
|
<p>When entering a file path on non-Unix platforms, care should be taken
|
|
to make sure that only forward slashes are used even though the platform
|
|
may allow the use of back slashes. In general it is a good idea to always
|
|
use forward slashes throughout the configuration files.</p>
|
|
</note></dd>
|
|
</dl>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|