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

mod_security: другое правило с тем же идентификатором

Я установил httpd 2.2.15 на CentOS 6.5 (минимальная установка без cPanel) с modsecurity 2.8. Когда я запускаю httpd, я получаю эту ошибку:

Starting httpd: Syntax error on line 23  of /etc/httpd/conf.d/modsecurity.conf:  ModSecurity: Found another rule with the same id

Строка 23:

"id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"

Я столкнулся с аналогичной проблемой, следуя руководству - http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/

В моем файле httpd.conf уже был включен файл * .conf, и в учебнике я явно включил файл modsecurity.conf. В результате все мои правила были дублированы, потому что файл conf был включен дважды.

На основании предоставленной вами информации сложно сказать, где именно происходит дублирование. По сути, правило включается дважды, что обычно определяется в modsecurity.conf файл. Возможно, вы дважды включали этот файл или скопировали его содержимое в другой файл конфигурации apache. Чтобы найти проблему, вам нужно будет найти повторяющееся правило. Вот команда, которая сделает это:

find /etc/httpd -name '*.conf' -exec grep -H "'200000'" {} \;

Как только вы обнаружите, какой другой файл содержит правило (или, возможно, внутри modsecurity.conf дважды), вам нужно подумать о способе организации ваших правил таким образом, чтобы правила не включались дважды. Эти инструкции обеспечивают хорошую основу для использования набора основных правил OWASP ModSecurity.

Я использовал похожий учебник, http://idroot.net/tutorials/how-to-install-mod_security-apache-on-centos-6/, и была та же проблема.

Проблема с моей установкой в ​​CentOS, файлы конфигурации в /etc/httpd/conf/httpd.conf загружаются около строки 220 строкой:

Include conf.d/*.conf

Затем в руководстве я установил следующее в конце httpd.conf:

<IfModule security2_module>
    Include conf.d/modsecurity.conf
</IfModule>

Которая загружала modsecurity.conf во второй раз.

Я только что удалил IfModule Include код внизу, и он работал нормально.

У меня те же проблемы, что и у вас, и я обнаружил, что включил один и тот же файл.

Я добавил свой файл для настройки правил. И я добавил директиву Include. Но я не знал, что это включение было сделано автоматически. После того, как я удалил свою директиву Include, все работает нормально.