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

Ошибка Apache2 «ModSecurity: найдено другое правило с тем же идентификатором» Ubuntu18.04

скачал v3.2.0 https://coreruleset.org/installation/ следующие инструкции, расположенные в файле INSTALL

Но apache не может запуститься и возвращает эту ошибку -

AH00526: Syntax error on line 800 of /etc/apache2/crs/crs-setup.conf:
яну 19 01:36:09 VMhomeServer apachectl[20761]: ModSecurity: Found another rule with the same id

это мой файл apache2.conf для security2

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include /etc/apache2/crs/crs-setup.conf
Include /etc/apache2/crs/rules/*.conf
</IfModule>

По этому вопросу https://github.com/SpiderLabs/ModSecurity/issues/1227

Я «решил», комментируя это:

Включите /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf

но так как я использую более новую версию, такого правила нет, теперь все правила другие, поэтому я не могу понять, что происходит на всю мою жизнь.

У меня есть modsecurity-crs / bionic, bionic, теперь 3.0.2-1 все [установлено] в соответствии с требованиями руководства по установке

Любая помощь будет принята с благодарностью, я пока ничего не нашел о такой проблеме в этой версии в Интернете

Не могли бы вы убедиться, что вы включаете файл modsecurity.conf со строкой вроде: Include "/etc/apache2/modsecurity.d/modsecurity.conf" перед включением crs-setup.conf. Используете ли вы версию modsecurity для репозитория Ubuntu или извлекли ее из репозитория git вместе с правилами? Версия репозитория Ubuntu поместит конфигурацию в /etc/modsecurity/modsecurity.conf Я не знаю, куда вы поместили этот файл, но ваш файл conf может выглядеть так. Примечание: при использовании версии modsecurity для репозитория git вам может потребоваться загрузить некоторые дополнительные библиотеки.

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so

<IfModule security2_module>
        # Include the main modsecurity conf file
        Include "/etc/apache2/modsecurity.d/modsecurity.conf"

        # Include OWASP ModSecurity CRS rules from github
        Include /etc/apache2/crs/crs-setup.conf
        IncludeOptional /etc/apache2/crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
        Include /etc/apache2/crs/rules/*.conf
        IncludeOptional /etc/apache2/crs/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
</IfModule>

Это не совсем отвечает на ваш вопрос, но вам нужен этот файл. Apache не запускается, потому что есть два правила с одинаковым идентификационным номером. ModSecurity этого не допустит. Вам просто нужно найти повторяющийся номер правила и изменить его. В соответствии со стандартами modsecurity вы не должны изменять какие-либо существующие файлы conf в каталоге / rules. Вы можете и должны изменить modsecurity.conf и crs-setup.conf файлы. У вас есть повторяющийся идентификатор правила on line 800 of /etc/apache2/crs/crs-setup.conf Имейте в виду, что номера строк могут не совпадать. Я думаю, что они считаются одной строкой, когда строки экранируются с помощью \. По умолчанию crs-setup.conf.example закомментированы все правила, кроме последнего, в котором указана версия используемых вами правил. Проверьте свои crs-setup.conf файл и посмотрите, что вы раскомментировали. Если вы обнаружите какие-то номера идентификаторов правил, которые могут показаться подозрительными, вы можете проверить все свои правила на наличие дубликатов примерно так (изменив номер правила, который вы ищете, конечно):

grep -r '900990' /etc/apache2/crs/rules/*

Если вы просто хотите найти все номера идентификаторов правил в файлах, это может помочь:

grep -ho 'id:[0-9]*' /etc/apache2/crs/rules/*  | sort | uniq -c | less