Модуль Apache mod_log_forensic
| Описание: | Форекс-логирование запросов к серверу |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | log_forensic_module |
| Файл исходного кода: | mod_log_forensic.c |
| Совместимость: |
mod_unique_id больше не требуется с версии 2.1 |
Краткое описание
Этот модуль обеспечивает форекс-логирование клиентских запросов. Логирование выполняется до и после обработки запроса, поэтому в форекс-логе содержится две строки логов для каждого запроса. Форекс-логгер очень строгий, что означает:
- Формат фиксирован. Вы не можете изменить формат логирования во время выполнения.
- Если он не может записать свои данные, дочерний процесс завершается немедленно и может сгенерировать дамп памяти (в зависимости от вашей конфигурации
CoreDumpDirectory).
Сценарий check_forensic, который можно найти в каталоге поддержки дистрибутива, может быть полезен при оценке вывода форекс-лога.
Формат форекс-лога
Каждый запрос регистрируется дважды. Первый раз — *до* его дальнейшей обработки (то есть после получения заголовков). Вторая запись лога записывается *после* обработки запроса в то же время, когда происходит обычное логирование.
Для идентификации каждого запроса присваивается уникальный идентификатор запроса. Этот форекс-идентификатор можно перелогировать в обычном журнале передач с использованием строки формата %{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