Я установил 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, все работает нормально.