У меня следующая настройка 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>