Мод безопасности, блокирующий wordpress


У меня есть сайт WordPress с Modsecurity и apache. Когда я пытаюсь получить доступ к wordpress, он выдает ошибку 403 "Запрещено". Ни панель администратора, ни интерфейс не доступны. Вот журналы:

[Tue Mar 18 08:17:41 2014] [error] [client 122.170.1.216] ModSecurity: Access denied with code 403 (phase 4). Pattern match "^5\\\\d{2}$" at RESPONSE_STATUS. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_50_outbound.conf"] [line "53"] [id "970901"] [rev "2"] [msg "The application is not available"] [data "Matched Data: 500 found within RESPONSE_STATUS: 500"] [severity "ERROR"] [ver "OWASP_CRS/2.2.6"] [maturity "9"] [accuracy "9"] [tag "WASCTC/WASC-13"] [tag "OWASP_TOP_10/A6"] [tag "PCI/6.5.6"] [hostname "www.bullion.ambab.com"] [uri "/research/wp-admin/index.php"] [unique_id "UygBJQoLkgUAABXkL-8AAAAX"]
[Tue Mar 18 08:17:41 2014] [error] [client 122.170.1.216] ModSecurity: Warning. Operator GE matched 4 at TX:outbound_anomaly_score. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_60_correlation.conf"] [line "40"] [id "981205"] [msg "Outbound Anomaly Score Exceeded (score 4): The application is not available"] [hostname "www.bullion.ambab.com"] [uri "/research/wp-admin/index.php"] [unique_id "UygBJQoLkgUAABXkL-8AAAAX"]

Это можно решить, отключив идентификатор правила 981205. Но я не хочу, чтобы эти правила были обойдены, потому что это может открыть дверь для нападения. Есть ли способ решить эту проблему, изменив исходный код wordpress?

Author: anirudh, 2014-03-18

1 answers

Изменение источников WordPress настоятельно не рекомендуется , потому что после обновления измененные файлы будут перезаписаны снова.

Лучший подход - уточнить ваши правила mod_security, разрешив отправлять еще несколько запросов в систему WordPress.

ModSecurity (также известная как "modsec") доказала свою полезность в различных ситуациях, и опять же это верно при оказании помощи WordPress в попытках грубой силы, приводящих к атаке типа "Отказ в обслуживании" (DOS). В то время как существует ряд плагинов WordPress для предотвращения таких атак, пользовательские правила modsec могут предотвратить такие атаки для всех установок WordPress на сервере. Modsec немедленно фильтрует входящие HTTP-запросы, что помогает не облагать налогом ресурсы сервера.

Эти правила блокируют доступ по IP-адресу нарушителя на 5 минут после 10 неудачных попыток входа в систему в течение 3 минут. Эти правила были автоматически обновлены в пользовательских правилах для службы безопасности серверов Liquid Web. Для клиентов без ServerSecure эти правила могут быть добавлены в их пользовательские правила modsec. Для этого отредактируйте свои пользовательские правила modsec и добавьте файл с правилами, приведенными ниже. Для серверов cPanel этот файл, скорее всего, находится по адресу /usr/local/apache/conf/ Ниже приведены примеры:

SecAction phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{REMOTE_ADDR},id:5000134
 <Locationmatch "/wp-login.php">
 # Setup brute force detection.
 # React if block flag has been set.
 SecRule user:bf_block "@gt 0" "deny,status:401,log,id:5000135,msg:'ip address blocked for 5 minutes, more than 10 login attempts in 3 minutes.'"
 # Setup Tracking. On a successful login, a 302 redirect is performed, a 200 indicates login failed.
 SecRule RESPONSE_STATUS "^302" "phase:5,t:none,nolog,pass,setvar:ip.bf_counter=0,id:5000136"
 SecRule RESPONSE_STATUS "^200" "phase:5,chain,t:none,nolog,pass,setvar:ip.bf_counter=+1,deprecatevar:ip.bf_counter=1/180,id:5000137"
 SecRule ip:bf_counter "@gt 10" "t:none,setvar:user.bf_block=1,expirevar:user.bf_block=300,setvar:ip.bf_counter=0"
 </Locationmatch>
 0
Author: bodi0, 2014-03-18 10:05:30