208651a016b098f4fa1f6279559f104d70f1632dtakashi<?xml version="1.0" encoding="UTF-8" ?>
79b5ea592535186594ff19441a398acfc95704abyoshiki<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
79b5ea592535186594ff19441a398acfc95704abyoshiki<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 533344:1673947 (outdated) -->
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<!--
031b91a62d25106ae69d4693475c79618dd5e884fielding Licensed to the Apache Software Foundation (ASF) under one or more
031b91a62d25106ae69d4693475c79618dd5e884fielding contributor license agreements. See the NOTICE file distributed with
031b91a62d25106ae69d4693475c79618dd5e884fielding this work for additional information regarding copyright ownership.
031b91a62d25106ae69d4693475c79618dd5e884fielding The ASF licenses this file to You under the Apache License, Version 2.0
031b91a62d25106ae69d4693475c79618dd5e884fielding (the "License"); you may not use this file except in compliance with
031b91a62d25106ae69d4693475c79618dd5e884fielding the License. You may obtain a copy of the License at
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki http://www.apache.org/licenses/LICENSE-2.0
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki Unless required by applicable law or agreed to in writing, software
79b5ea592535186594ff19441a398acfc95704abyoshiki distributed under the License is distributed on an "AS IS" BASIS,
79b5ea592535186594ff19441a398acfc95704abyoshiki WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
79b5ea592535186594ff19441a398acfc95704abyoshiki See the License for the specific language governing permissions and
79b5ea592535186594ff19441a398acfc95704abyoshiki limitations under the License.
79b5ea592535186594ff19441a398acfc95704abyoshiki-->
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<modulesynopsis metafile="mod_log_forensic.xml.meta">
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<name>mod_log_forensic</name>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>サーバに送られたリクエストの forensic ロギング</description>
79b5ea592535186594ff19441a398acfc95704abyoshiki<status>Extension</status>
79b5ea592535186594ff19441a398acfc95704abyoshiki<sourcefile>mod_log_forensic.c</sourcefile>
79b5ea592535186594ff19441a398acfc95704abyoshiki<identifier>log_forensic_module</identifier>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<compatibility><module>mod_unique_id</module> はバージョン 2.1 からは必須では
208651a016b098f4fa1f6279559f104d70f1632dtakashiなくなった</compatibility>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<summary>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>このモジュールはクライアントリクエストの forensic ロギングを
208651a016b098f4fa1f6279559f104d70f1632dtakashi 行ないます。ログ収集はリクエストの処理の前と後に行なわれますので、
208651a016b098f4fa1f6279559f104d70f1632dtakashi forensic ログは各リクエストに対して二行ログ収集します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi Forensic ロガーは非常に厳密です。これは以下のことを意味します:</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki <ul>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <li>フォーマットは固定です。実行時にロギングフォーマットを変更することは
208651a016b098f4fa1f6279559f104d70f1632dtakashi できません。</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <li>データを書けない場合は子プロセスはその場で終了し、さらにコアを
208651a016b098f4fa1f6279559f104d70f1632dtakashi ダンプするかもしれません (<directive module="mpm_common"
208651a016b098f4fa1f6279559f104d70f1632dtakashi >CoreDumpDirectory</directive> ディレクティブの設定に依ります)。</li>
79b5ea592535186594ff19441a398acfc95704abyoshiki </ul>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>Forensic ログの出力を検査するためには、
208651a016b098f4fa1f6279559f104d70f1632dtakashi 配布物の support ディレクトリにある <code>check_forensic</code>
208651a016b098f4fa1f6279559f104d70f1632dtakashi スクリプトが役に立つでしょう。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki</summary>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<seealso><a href="/logs.html">Apache ログファイル</a></seealso>
79b5ea592535186594ff19441a398acfc95704abyoshiki<seealso><module>mod_log_config</module></seealso>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi<section id="formats"><title>Forensic ログフォーマット</title>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>各リクエストは2回ログ収集されます。最初はリクエストが処理される
208651a016b098f4fa1f6279559f104d70f1632dtakashi <em>前</em> (つまり、ヘッダを受け取った後) です。2度目のログは
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストが処理された<em>後</em>、通常のログ収集と同じときに
208651a016b098f4fa1f6279559f104d70f1632dtakashi 行なわれます。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>各リクエストを識別するために、リクエストには
208651a016b098f4fa1f6279559f104d70f1632dtakashi 一意なリクエスト ID が割り当てられます。この forensic ID は
208651a016b098f4fa1f6279559f104d70f1632dtakashi フォーマット文字列 <code>%{forensic-id}n</code> を使うことで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 通常の transfer ログにログ収集することもできます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi <module>mod_unique_id</module> を使っている場合は、それが生成する
208651a016b098f4fa1f6279559f104d70f1632dtakashi ID が使われます。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>最初の行は forensic ID、リクエスト行と受け取ったすべてのヘッダを
208651a016b098f4fa1f6279559f104d70f1632dtakashi パイプ文字 (<code>|</code>) で分離してログ収集します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 例えば以下のようになります (実際はすべて同じ行になります):</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki <example>
79b5ea592535186594ff19441a398acfc95704abyoshiki +yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif
79b5ea592535186594ff19441a398acfc95704abyoshiki HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11;
79b5ea592535186594ff19441a398acfc95704abyoshiki U; Linux i686; en-US; rv%3a1.6) Gecko/20040216
79b5ea592535186594ff19441a398acfc95704abyoshiki Firefox/0.8|Accept:image/png, <var>etc...</var>
79b5ea592535186594ff19441a398acfc95704abyoshiki </example>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>最初のプラス文字がこのログは最初のログであることを示します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 二番目の行はマイナス文字と ID のみです:</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki <example>
79b5ea592535186594ff19441a398acfc95704abyoshiki -yQtJf8CoAB4AAFNXBIEAAAAA
79b5ea592535186594ff19441a398acfc95704abyoshiki </example>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p><code>check_forensic</code> スクリプトは引数としてログファイルの名前を
208651a016b098f4fa1f6279559f104d70f1632dtakashi 取ります。<code>+</code>/<code>-</code> の ID の組を調べ、完了していない
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストがある場合は警告を発します。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki</section>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi<section id="security"><title>セキュリティの問題</title>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>ログファイルが保存されるディレクトリがサーバを起動したユーザ
208651a016b098f4fa1f6279559f104d70f1632dtakashi 以外で書き込み可能になっているときにセキュリティが破られる可能性が
208651a016b098f4fa1f6279559f104d70f1632dtakashi あることについての詳細は<a
208651a016b098f4fa1f6279559f104d70f1632dtakashi href="/misc/security_tips.html#serverroot">セキュリティのこつ</a>を
208651a016b098f4fa1f6279559f104d70f1632dtakashi 参照してください。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki</section>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<directivesynopsis>
79b5ea592535186594ff19441a398acfc95704abyoshiki<name>ForensicLog</name>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>Forensic ログのファイル名を設定する</description>
79b5ea592535186594ff19441a398acfc95704abyoshiki<syntax>ForensicLog <var>filename</var>|<var>pipe</var></syntax>
79b5ea592535186594ff19441a398acfc95704abyoshiki<contextlist><context>server config</context><context>virtual host</context>
79b5ea592535186594ff19441a398acfc95704abyoshiki</contextlist>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki<usage>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p><directive>ForensicLog</directive> ディレクティブは forensic 解析のための
208651a016b098f4fa1f6279559f104d70f1632dtakashi サーバへのリクエストをログ収集に使います。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 各ログエントリには、普通の <directive module="mod_log_config"
208651a016b098f4fa1f6279559f104d70f1632dtakashi >CustomLog</directive> ディレクティブを使ってリクエストと関連付けることの
208651a016b098f4fa1f6279559f104d70f1632dtakashi できる
208651a016b098f4fa1f6279559f104d70f1632dtakashi 一意な ID が割り当てられます。<module>mod_log_forensic</module> は
208651a016b098f4fa1f6279559f104d70f1632dtakashi <code>forensic-id</code> というトークンを作成し、フォーマット文字列
208651a016b098f4fa1f6279559f104d70f1632dtakashi <code>%{forensic-id}n</code> を使うことでそのトークンを transfer ログに
208651a016b098f4fa1f6279559f104d70f1632dtakashi 追加することができます。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>引数はログが書き出される位置を指定し、以下の 2種類の値のどちらかを
208651a016b098f4fa1f6279559f104d70f1632dtakashi 取ることができます:</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki <dl>
79b5ea592535186594ff19441a398acfc95704abyoshiki <dt><var>filename</var></dt>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <dd><directive module="core">ServerRoot</directive> からの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 相対ファイル名</dd>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki <dt><var>pipe</var></dt>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <dd>パイプ文字 "<code>|</code>" と、その後にログ情報を標準入力から
208651a016b098f4fa1f6279559f104d70f1632dtakashi 受け取るプログラム。プログラム名は <directive
208651a016b098f4fa1f6279559f104d70f1632dtakashi module="core">ServerRoot</directive> からの相対パスとしても
208651a016b098f4fa1f6279559f104d70f1632dtakashi 指定できます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi
208651a016b098f4fa1f6279559f104d70f1632dtakashi <note type="warning"><title>セキュリティ:</title>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>プログラムを使う場合、そのプログラムは <program>httpd</program> を起動したユーザで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 実行されます。つまり、サーバが root で実行された場合は root で
208651a016b098f4fa1f6279559f104d70f1632dtakashi 実行されるということです。プログラムが安全であるか、より権限の少ない
208651a016b098f4fa1f6279559f104d70f1632dtakashi ユーザに切り替えるようになっていることを確かめてください。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki </note>
79b5ea592535186594ff19441a398acfc95704abyoshiki
208651a016b098f4fa1f6279559f104d70f1632dtakashi <note><title>注</title>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>Unix 以外のプラットフォームでファイル名を入力するときは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi プラットフォームがバックスラッシュの使用を許可している場合でも、
208651a016b098f4fa1f6279559f104d70f1632dtakashi スラッシュのみが使われるように気をつけてください。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 普通は設定ファイルすべてにおいて、スラッシュの方を使用するように
208651a016b098f4fa1f6279559f104d70f1632dtakashi してください。</p>
79b5ea592535186594ff19441a398acfc95704abyoshiki </note></dd>
79b5ea592535186594ff19441a398acfc95704abyoshiki </dl>
79b5ea592535186594ff19441a398acfc95704abyoshiki</usage>
79b5ea592535186594ff19441a398acfc95704abyoshiki</directivesynopsis>
79b5ea592535186594ff19441a398acfc95704abyoshiki
79b5ea592535186594ff19441a398acfc95704abyoshiki</modulesynopsis>