Настройка ротации журнала аудита IBM HTTP сервера

Вопрос или проблема

Я нашел где-то в интернете, что можно настроить ротацию журналов для audit_log на httpserver, поэтому в моем modsecurity.conf я изменил конфигурацию логирования с:

SecAuditLog logs/audit_log

на

SecAuditLog "|/usr/IBM/HTTPServer/bin/rotatelogs -l /usr/IBM/HTTPServer/logs/audit_log.%Y-%m-%d-%H_%M_%S 86400"

Когда эта конфигурация применяется, файл не создается, и логирование не идет в файл, который я хочу, и даже ничего не фиксирует.

Когда я закомментирую новую конфигурацию и верну обратно стандартную с logs/audit_log, он снова начинает логировать в этот файл. Я пытаюсь найти способ ротации этого журнала, так как он может достигать 4 ГБ за пару месяцев, что очень много. Кто-нибудь нашел способ сделать это?

Версия сервера: IBM_HTTP_Server/8.5.5.22 (Unix)

Ответ или решение

Настройка ротации логов audit_log для IBM HTTP Server

Управление журналами – важный аспект работы любого веб-сервера, особенно когда речь идет о регистрации аудита. Аудит логи сервера IBM HTTP могут быстро расти, и без правильной настройки ротации они могут стать крайне неудобными в управлении. Рассмотрим, как корректно настроить ротацию для файла audit_log в вашей конфигурации.

Проблема

На ваш взгляд, вы правильно изменили строку конфигурации в файле modsecurity.conf, заменив:

SecAuditLog logs/audit_log

на

SecAuditLog "|/usr/IBM/HTTPServer/bin/rotatelogs -l /usr/IBM/HTTPServer/logs/audit_log.%Y-%m-%d-%H_%M_%S 86400"

Однако, после изменения конфигурации файлы не создаются, и логирование не происходит. Вернув предыдущую строку, логирование восстанавливается.

Решение

  1. Убедитесь, что rotatelogs установлен и доступен. Проверьте, что команда rotatelogs находится по указанному пути (/usr/IBM/HTTPServer/bin/rotatelogs). Запустите команду вручную в терминале, чтобы убедиться в ее работоспособности:

    /usr/IBM/HTTPServer/bin/rotatelogs -l /usr/IBM/HTTPServer/logs/test_log.%Y-%m-%d-%H_%M_%S 86400

    Если команда выполняется корректно и создаёт логи, это значит, что проблема находится не в rotatelogs.

  2. Права доступа. Проверьте права доступа к директории /usr/IBM/HTTPServer/logs/. Пользователь, под которым работает IBM HTTP Server, должен иметь право на запись в эту директорию. При необходимости измените права с помощью команды:

    chown -R <user>:<group> /usr/IBM/HTTPServer/logs/
    chmod -R 755 /usr/IBM/HTTPServer/logs/
  3. Параметры конфигурации. Определите, корректно ли настроены параметры команды rotatelogs. Например, убедитесь в правильности указания интервала ротации (в секундах). В вашем случае 86400 секунд соответствует одному дню.

  4. Проверка файлов конфигурации. Убедитесь, что другие конфигурационные файлы Apache или модули не конфликтуют с вашим определением SecAuditLog. Иногда модули могут переопределять параметры конфигурации.

  5. Логи ошибок. Проверьте логи ошибок IBM HTTP Server. Логи могут предоставить полезную информацию о том, что пошло не так при попытке записи в новый файл лога. Логи обычно находятся в /usr/IBM/HTTPServer/logs/error_log.

  6. Форматирование лога. Убедитесь, что формат даты и времени (%Y-%m-%d-%H_%M_%S) подходит для вашей системы. Если ваш файловая система не поддерживает такие символы, присутствуют риски отсутствия создания логов.

Заключение

Правильная настройка ротации логов для IBM HTTP Server позволяет эффективно управлять объемом данных, избегая проблем с дисковым пространством и производительностью. Следуя вышеуказанным шагам по проверке пути, правам доступа и корректности конфигурации, вы сможете настроить ротацию для вашего audit_log. Не забывайте, что при внесении изменений в конфигурацию сервера всегда следует перезапускать сервер для применения изменений.

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

Оцените материал
Добавить комментарий

Капча загружается...