2015-02-06 4 views
1

EDITED: Моим последним шагом было удаление пробелов и некоторых других модификаций. еще нет результатовОшибка синтаксиса в правилах owasp

Я создал whitelist.conf для правил modsecurity-crs.

Я положил, что простой код

<LocationMatch "/"> </LocationMatch>

В результате

HTTPD: Синтаксическая ошибка в строке 420 /usr/local/apache/conf/httpd.conf: Ошибка синтаксиса в строке 14 /usr/local/apache/conf.d/mod_security.conf: Ошибка синтаксиса в строке 1 из /usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf:/usr/local/apache/modsecurity -crs/activated_rules/whitelist.conf: 1: не был закрыт. [FAILED]

Как это может быть синтаксическая ошибка? Я действительно застрял в этом.

Примечание: Если я положил пустую потерю неудачи, не делаю и не обворачиваю ничего. Если лот </LocationMatch> сбой не обнаружен <LocationMatch> открывающий тег.

Похоже, что не распознает </LocationMatch>. Примеров здесь https://wordpress.org/support/topic/disable-mod-security

ОБНОВЛЕНО: Я действительно думаю, что в комплекте (в некотором хостинге пакета я не буду упоминать) C содержали какую-то ошибку, потому что я использовал его без изменения его вообще, так, что-то неправильно с самого начала. После прочтения ничего не заставило его работать, поэтому я просто выделил это программное обеспечение для хостинга, которое это подтвердило. Я не буду ожидать, что это странное поведение для современной CSR с нестандартной настройкой. Благодарю.

+0

, что контекст whitelist.conf включенного из? – covener

+0

файл '/ usr/local/apache/conf.d/mod_security.conf' загружает все файлы в каталог'/usr/local/apache/modsecurity-crs/activate_rules/'. Я только что создал новое правило, и я получаю ошибку. Я пробовал с «пустым» значением и все еще получаю это. Если вы оставите файл действительно пустым, это не сработает. Моя цель - просто ввести идентификатор под белый список, чтобы Wordpress работал с mod_sec. Вы можете посмотреть пример прямо здесь. Https://www.thefanclub.co.za/how-to/how-disable-modsecurity-rules-drupal-and-wordpress – erm3nda

+0

Действительно странная проблема. Я установил локальный ModSecurity (2.9.0) с нуля, включил базовые правила OWASP и добавил whitelist.conf, который включает правило исключения «LocationMatch», как описано в блоге, которое вы опубликовали, и оно работает без каких-либо проблем. Не могли бы вы также отправить строки неудачной конфигурации из httpd.conf и mod_security.conf. В папке 'active_rules' также содержатся все другие правила OWASP из каталога' base_rules' и вы включали файл 'modsecurity_crs_10_setup.conf' в каталог' active_rules'? – derhansen

ответ

3

Сначала вы должны найти, какое правило заблокировало ваш скрипт.

Вы можете найти ошибки и правила идентификаторам в файле «modsec_audit.log»

Все запросы, которые вызывают ModSecurity события (как обнаружено) или ошибка Serer фиксируются («RelevantOnly») вошли в этот файл.

Этот файл должен быть расположен на /usr/local/apache/logs/modsec_audit.log или /var/log/httpd/modsec_audit.log

Открыть файл:/USR/местные/Apache/ModSecurity-CRS /activated_rules/whitelist.conf

Таким образом, вы можете отключить правило для этого файла или файлов с этим кодом:

<LocationMatch "/patchtofile"> 
    SecRuleRemoveById 000000 
</LocationMatch> 

вы должны заменить patchtofile> файл, который вы получили ошибку на modsec_audit.log, и вы необходимо заменить 000000 идентификатором правила, который вы нашли в файле журнала. вы должны это сделать для каждого найденного файла и ошибки.

Также вы можете отключить правила для целой директории, которую вы хотите:

<LocationMatch "/patchtodir"> 
    SecRuleRemoveById 000000 
</LocationMatch> 

Заменить patchtodir с каталогом пластырем и тоже заменить Id правила

+0

Я понимаю, как это работает. Я пробовал это с помощью EMPY LocationMatch, и результат был «активирован_rules/whitelist.conf: 1: не был закрыт» Если я не помещаю контент в whitelist.conf, проблема не возникает. – erm3nda

+0

почему вы пробовали пустую LocationMatch? вы должны сказать это, что делать. он не может работать без правильной настройки! вам нужно использовать опцию в теге locationmatch перед тем, как закрыть его! как SecRuleRemoveById – Achilles

+0

Я уверен, что наша первая проблема - мой BAD английский. Я говорю. Сначала я попробовал NORMAL WAY, используя id желаемого правила, чтобы отключить его. Результат? большой провал. Потому что я не верю в магические способности, я вникаю в проблему, наконец, в конечном итоге с примером, который я пишу. У меня возникла проблема с синтаксическим разбором, когда вы можете ЧЕТКО СМОТРЕТЬ ТЭГ ЗАКРЫТО. Это мой вопрос. – erm3nda