Назад | Перейти на главную страницу

Ведение журнала Apache vhost

У меня следующая настройка apache (в conf.d/owasp-modsecurity.conf):

SecAuditLog "/var/www/vhosts/${lowercase:%{SERVER_NAME}}/statistics/logs/modsec_audit.log"

Когда я делаю httpd -t Я получаю следующую ошибку:

Синтаксическая ошибка в строке 15 /etc/httpd/conf.d/owasp-modsecurity.conf: ModSecurity: не удалось открыть файл журнала аудита: / var / www / vhosts / $ {нижний регистр:% {SERVER_NAME}} / statistics / журналы / modsec_audit.log

Мое намерение должно быть достаточно очевидным; Я хочу, чтобы записи журнала аудита mod_security попадали в файлы, относящиеся к vhost. Это уже происходит с обычным доступом и журналами ошибок (хотя я не знаю, как это делается).

Для справки, я также пробовал вслепую следующие записи, ни одна из них не сработала: $HOSTNAME ${SERVER_NAME} $SERVER_NAME и $HOST.

С другой стороны, это переменные среды ... разве не должно быть чего-то, что могло бы использовать внутренние переменные Apache?

Ссылки по теме

Попробуйте поместить запись SecAuditLog в настройки для каждого из ваших виртуальных хостов.

Примерно так (настройка может выглядеть немного иначе, но это базовая настройка). Также вы можете проверить другие записи журнала (CustomLog, ErrorLog и т. Д.) На предмет возможных подстановочных знаков для вставки.

domain1.conf
============
<VirtualHost *:80>
  ServerAdmin postmaster@domain1.com
  ServerName www.domain1.com

  SecAuditLog "/var/www/vhosts/domain1/statistics/logs/modsec_audit.log"
  # lots of more setting goes here
  # ...
</VirtualHost>

domain2.conf
============
<VirtualHost *:80>
  ServerAdmin postmaster@domain2.com
  ServerName www.domain2.com

  SecAuditLog "/var/www/vhosts/domain2/statistics/logs/modsec_audit.log"
  # lots of more setting goes here
  # ...
</VirtualHost>