Я пытаюсь запустить mod_security как автономную службу с nginx в качестве обратного прокси-сервера, все работает нормально, кроме ведения журнала. Mod_security регистрирует IP-адреса обратного прокси вместо IP-адреса клиентов.
Буду признателен, если кто-то может помочь.
Ниже приведен пример файла журнала, в котором mod_security регистрирует 127.0.0.1 вместо IP-адреса клиента.
29.08.2012 14:18:13 [info] 206862 # 0: [client 127.0.0.1] ModSecurity: Доступ запрещен кодом 403 (фаза 2). Соответствие шаблону ...
@kbulgrien: Не совсем, потому что NGINX правильно собирает свои логи.
Мне пришлось решить эту проблему. Я создал блок RequestDeny, в который пересылал запросы, которые 403 были отклонены mod_security. В этом блоке я сформировал журналы так, как я хотел, чтобы мне было легко захватить IP-адрес отклоненного запроса.
Я знаю, что лучше, чтобы mod_security правильно записывал свои журналы, но если вы не знаете, как это сделать лучше, это может помочь, и это помогло мне :)
По крайней мере, с Apache могут возникнуть проблемы с перенаправлением / перезаписью на виртуальный хост, обслуживаемый тем же сервером, так что журналы сообщают о внешнем запросе, поступившем с localhost. Возможно, в этой ситуации происходит нечто подобное. В случае, когда наблюдалось такое неправильное ведение журнала, было возможно изменение конфигурации сервера, которое устранило проблему. Это потребовало некоторой реструктуризации конфигурации сервера. Возможно, это было связано с сайтом, определенным в httpd.conf, который затем был перемещен в vhost .conf, но, к сожалению, эта ситуация возникла и была разрешена без учета сути изменений. Может ли это или что-то подобное быть фактором в вашей ситуации?