2014-01-31 1 views
3

Существуют ли стандартные (?!) Правила mod_security2 для серверов с веб-сайтами WordPress? Я хочу пояснить, что Я не хочу отключать mod_security2 (он существует по уважительной причине). Я просто хочу сделать свою жизнь немного легче при работе с установками WordPress.mod_security2 правила для WordPress

Я прочитал эту http://wpsecure.net/2012/01/using-mod_security-2-with-wordpress/, но было бы здорово услышать больше мнений от людей уже используют mod_security2 & WordPress.

Потому что я не являюсь специалистом по этому вопросу, есть ли какая-либо документация, чтобы прочитать о том, что именно таково ...

<LocationMatch "/wp-admin/post.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/admin-ajax.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/page.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/options.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/theme-editor.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-content/plugins/"> 
    SecRuleRemoveById 300015 340151 1234234 340153 1234234 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-includes/"> 
    SecRuleRemoveById 960010 960012 950006 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-content/themes/"> 
    SecRuleRemoveById 340151 340153 1234234 950006 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-cron.php"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

<LocationMatch "/feed"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

<LocationMatch "/category/feed"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

Спасибо.

ответ

1

Насколько я знаю, нет доступных общедоступных наборов правил, содержащих специальные наборы правил для Wordpress. Коммерческие наборы правил для wordpress доступны от Atomicorp и Trustwave, но на самом деле я не использовал/не тестировал их.

Указанная конфигурация предназначена для включения в конфигурацию вашего веб-сервера Apache2 или в конфигурацию каждого виртуального хоста, если вы не хотите включать эту конфигурацию во всем мире.

LocationMatch директива от Apache2 веб-сервер - см: http://httpd.apache.org/docs/2.2/en/mod/core.html#locationmatch

SecRuleRemoveById является директива mod_security2 https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#wiki-SecRuleRemoveById, который отключает один или несколько правил по их ID

Объединяя оба вместе, первые строки конфигурация удаляет правила mod_security2 с указанными идентификаторами для всех URL-адресов, соответствующих «/wp-admin/post.php» (который является скриптом, который отвечает за управление блогами в бэкэнд Wordpress).

Таким образом, конфигурация отключает множество правил mod_security2/OWASP для нескольких сценариев Wordpress.

Мой опыт работы с текущими версиями mod_security2 и Wordpress являются следующие:

В течение некоторого месяца я был в Двойники ситуации, как вы сейчас. У меня уже был веб-сервер с Apache2 с mod_security2 и набор основных правил OWASP. На веб-сервере размещались только небольшие сайты Wordpress, и я был счастлив, что mod_security2 блокировал несколько автоматических атак против Wordpress.

Затем мне пришлось обновить mod_security2 до последней версии, которая также потребовала обновления основного правила OWASP, установленного в последнюю версию. Новая версия основного правила правила OWASP привела к появлению многих ложных срабатываний mod_security2 для Wordpress, поэтому я пришел к той же статье, о чем вы упомянули в своем вопросе. После нескольких часов отладки я пришел к выводу, что статья (которая с 2012 года) выглядит устаревшей и что разработка как mod_security2, так и Wordpress зашла так далеко, что показанные правила исключения в статье не подходят с новыми версиями основного набора правил mod_security2/OWASP и Wordpress.

Я попытался создать свой собственный набор правил, но фактически отказался после многих часов работы, так как мне пришлось отключить слишком много правил, связанных с набором основных правил OWASP (например,отключить многие проверки SQL-инъекций из-за ложных срабатываний), которые фактически удалили много преимуществ безопасности mod_security2 и набора основных правил OWASP.

+0

Благодарим вас за обмен опытом. Итак ... если я правильно понял, то, что вы предлагаете, это попробовать и уловить, прочитав журналы (mod_security). – kanenas

+1

Да, настройте mod_security2 с набором правил (например, OWASP) и настройте mod_security2, чтобы он регистрировался только в журнале аудита, используя параметр «SecRuleEngine DetectionOnly». Затем работайте с сайтами Wordpress как в интерфейсе, так и в бэкэнд и проверяйте журнал аудита, чтобы узнать, какие правила создают ложные срабатывания. С этим результатом вы можете создать свои собственные правила исключения, используя SecRuleRemoveById, как показано в статье. – derhansen

Смежные вопросы