Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_log_forensic

Описание: Криминалистическое журналирование запросов, поступающих на сервер
Статус: Расширение
Идентификатор модуля: log_forensic_module
Исходный файл: mod_log_forensic.c
Совместимость: mod_unique_id больше не требуется начиная с версии 2.1

Краткое описание

Этот модуль обеспечивает криминалистическое журналирование запросов клиентов. Запись в журнал выполняется до и после обработки запроса, поэтому журнал криминалистического анализа содержит две строки для каждого запроса. Криминалистический механизм журналирования работает очень строго, а это означает следующее:

  • Формат фиксирован. Изменить формат журнала во время выполнения нельзя.
  • Если модулю не удаётся записать данные, дочерний процесс немедленно завершается и может создать дамп памяти (в зависимости от конфигурации CoreDumpDirectory).

Скрипт check_forensic, который находится в каталоге support дистрибутива, может помочь при анализе содержимого журнала криминалистического анализа.

Формат журнала криминалистического анализа

Каждый запрос записывается в журнал дважды. Первая запись делается до дальнейшей обработки запроса (то есть после получения заголовков). Вторая запись создаётся после обработки запроса, одновременно с обычной записью в журнал.

Для идентификации каждого запроса ему назначается уникальный идентификатор. Этот криминалистический идентификатор можно записать и в обычный журнал передачи данных с помощью строки формата %{forensic-id}n. Если используется mod_unique_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...

Знак «плюс» в начале указывает, что это первая строка журнала для данного запроса. Вторая строка содержит только знак «минус» и идентификатор:

-yQtJf8CoAB4AAFNXBIEAAAAA

Скрипт check_forensic принимает в качестве аргумента имя файла журнала. Он ищет пары идентификаторов +/- и сообщает, если обработка запроса не была завершена.

Вопросы безопасности

Подробные сведения о том, почему безопасность может быть нарушена, если каталог с файлами журналов доступен для записи кому-либо, кроме пользователя, запускающего сервер, см. в документе рекомендации по безопасности.

Файлы журналов могут содержать конфиденциальные данные, например содержимое заголовков Authorization: (в которых могут быть пароли), поэтому читать их должен иметь возможность только пользователь, запускающий сервер.

Директива ForensicLog

Описание: Задаёт имя файла журнала криминалистического анализа
Синтаксис:
ForensicLog filename|pipe
Контекст: конфигурация сервера, виртуальный хост
Статус: Расширение
Модуль: mod_log_forensic

Директива ForensicLog используется для журналирования запросов к серверу с целью криминалистического анализа. Каждой записи журнала назначается уникальный идентификатор, который можно связать с запросом с помощью обычной директивы CustomLog. mod_log_forensic создаёт токен forensic-id, который можно добавить в журнал передачи данных с помощью строки формата %{forensic-id}n.

Аргумент, указывающий место записи журналов, может принимать одно из следующих двух значений:

имя_файла
Имя файла относительно ServerRoot.
канал
Символ канала «|», за которым следует путь к программе, получающей информацию журнала через стандартный ввод. Имя программы может быть указано относительно директивы ServerRoot.

Безопасность:

Если используется программа, она будет запущена от имени пользователя, запустившего httpd. Если сервер запущен от имени root, программа также будет запущена от имени root; убедитесь, что программа безопасна или переключается на пользователя с меньшими привилегиями.

Примечание

При указании пути к файлу на платформах, отличных от Unix, следует использовать только прямые косые черты, даже если платформа допускает использование обратных косых черт. В целом рекомендуется всегда использовать прямые косые черты во всех файлах конфигурации.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_log_forensic.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API