<-
Apache > HTTP 服务器 > 文档 > 版本 2.4 > 模块

Apache 模块 mod_log_forensic

可用语言:  en  |  fr  |  ja  |  tr 

描述对服务器收到的请求进行取证日志记录
状态扩展
模块标识符log_forensic_module
源文件mod_log_forensic.c
兼容性mod_unique_id 从 2.1 版本开始不再需要

摘要

此模块提供对客户端请求进行取证日志记录。日志记录在处理请求之前和之后进行,因此取证日志包含每个请求的两个日志行。取证记录器非常严格,这意味着

check_forensic 脚本(可在发行版的支持目录中找到)可能有助于评估取证日志输出。

Support Apache!

主题

指令

错误修复清单

另请参阅

top

取证日志格式

每个请求都会记录两次。第一次是在处理之前(即在接收标头之后)。第二个日志条目是在处理请求之后,与正常日志记录同时写入。

为了识别每个请求,会分配一个唯一的请求 ID。此取证 ID 可以使用 %{forensic-id}n 格式字符串在正常的传输日志中交叉记录。如果您使用的是 mod_unique_id,则会使用其生成的 ID。

第一行记录取证 ID、请求行和所有接收到的标头,用管道字符 (|) 分隔。示例行如下所示(所有内容都在一行上)

+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, etc...

开头的加号表示这是此请求的第一个日志行。第二行只包含一个减号和 ID

-yQtJf8CoAB4AAFNXBIEAAAAA

check_forensic 脚本以日志文件名作为参数。它查找这些 +/- ID 对,如果请求未完成,则会发出警告。

top

安全注意事项

有关如果存储日志文件的目录可供除启动服务器的用户以外的任何人写入,为什么您的安全性可能会受到损害的详细信息,请参阅 安全提示 文档。

日志文件可能包含敏感数据,例如 Authorization: 标头的内容(可能包含密码),因此除了启动服务器的用户以外的任何人都不能读取它们。

top

ForensicLog 指令

描述设置取证日志的文件名
语法ForensicLog filename|pipe
上下文服务器配置、虚拟主机
状态扩展
模块mod_log_forensic

ForensicLog 指令用于记录对服务器的请求,以便进行取证分析。每个日志条目都会分配一个唯一的 ID,可以使用正常的 CustomLog 指令与请求关联。 mod_log_forensic 创建一个名为 forensic-id 的令牌,可以使用 %{forensic-id}n 格式字符串将其添加到传输日志中。

参数(指定写入日志的位置)可以采用以下两种类型的值之一

filename
相对于 ServerRoot 的文件名。
pipe
管道字符“|”,后跟接收其标准输入上的日志信息的程序的路径。程序名称可以相对于 ServerRoot 指令指定。

安全

如果使用程序,则该程序将以启动 httpd 的用户的身份运行。如果服务器是由 root 启动的,则该用户将是 root;请确保程序是安全的,或者切换到权限较低的用户。

注意

在非 Unix 平台上输入文件路径时,应注意确保只使用正斜杠,即使平台可能允许使用反斜杠。通常,在整个配置文件中始终使用正斜杠是一个好主意。

可用语言:  en  |  fr  |  ja  |  tr 

top

评论

通知
这不是问答部分。此处发布的评论应指向有关改进文档或服务器的建议,如果它们已实施或被认为无效/与主题无关,我们的版主可能会将其删除。有关如何管理 Apache HTTP Server 的问题应发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表