Настройка ротации журнала аудита 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 на HTTP-сервере

Проблема, с которой вы столкнулись, заключается в том, что при попытке настроить ротацию логов для audit_log с использованием команды rotatelogs, логирование не происходит. Давайте разберем решение этой задачи шаг за шагом.

1. Проверка пути к rotatelogs

Первым делом, убедитесь, что командный файл rotatelogs действительно существует по указанному вами пути: /usr/IBM/HTTPServer/bin/rotatelogs. Вы можете проверить это с помощью команды:

ls -l /usr/IBM/HTTPServer/bin/rotatelogs

Если файл отсутствует, убедитесь, что вы установили правильный путь или установите пакет, содержащий rotatelogs, если это необходимо.

2. Проверка прав доступа

Если путь правильный, проверьте права доступа к rotatelogs. Вам нужно убедиться, что пользователь, от имени которого работает ваш HTTP-сервер, имеет права на выполнение этого файла. Используйте следующую команду:

chmod +x /usr/IBM/HTTPServer/bin/rotatelogs

3. Настройка конфигурации

Ваше текущая конфигурация выглядит корректно, но есть несколько моментов, которые следует учитывать.

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

Убедитесь, что в конфигурационном файле modsecurity.conf нет опечаток и что строка корректно работает с системными командами.

4. Логи ошибок

Проверьте логи ошибок вашего HTTP-сервера, чтобы получить больше информации о том, что может идти не так. Обычно логи ошибок находятся в каталоге logs вашего HTTP-сервера:

cat /usr/IBM/HTTPServer/logs/error_log

5. Проверка синтаксиса конфигурации

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

/usr/IBM/HTTPServer/bin/apachectl configtest

6. Перезапуск сервера

После внесения всех изменений и проверок перезапустите HTTP-сервер, чтобы применить новую конфигурацию:

/usr/IBM/HTTPServer/bin/apachectl restart

7. Альтернативные методы

Если проблема не решена, рассмотрите использование другого метода ротации логов, такого как logrotate. Для этого вам необходимо создать конфигурационный файл для logrotate, который будет обрабатывать файл audit_log.

Пример конфигурационного файла для logrotate:

/usr/IBM/HTTPServer/logs/audit_log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 httpd adm
    postrotate
        /usr/IBM/HTTPServer/bin/apachectl graceful > /dev/null
    endscript
}

Сохраните этот файл в /etc/logrotate.d/audit_log и настройте параметры по своему усмотрению.

Заключение

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

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

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