mod_security 960015 блокирует Google и других хороших ботов

Правило mod_security 960015 продолжает ловить Google и других хороших ботов. У меня есть следующее в vhost, чтобы предотвратить попадание хороших ботов:

SecRule REQUEST_HEADERS:User-Agent "Mail.ru" log,allow
SecRule HTTP_USER_AGENT "Mail.RU_Bot" log,allow

То же самое для Гугла и Яндекса.

Он работает в 99% случаев, однако в других случаях происходит сбой по какой-то очень странной причине, вот пример логов для бота Mail.ru:

Успешно:

217.69.134.79 - - [07/Mar/2014:10:17:13 +0400] "GET / HTTP/1.1" 200 189934 "-"
"Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; 
+http://go.mail.ru/help/robots)"

[Fri Mar 07 10:17:13 2014] [error] [client 217.69.134.79] ModSecurity: Access 
allowed (phase 2). Pattern match "Mail" at REQUEST_HEADERS:User-Agent. 
[file "/etc/apache2/sites-enabled/xxx"] [line "28"] [hostname "xxx"] 
[uri "/"] [unique_id "UxlkaQp-d4EAABU9BSIAAAAV"]

И в следующую минуту он терпит неудачу:

217.69.134.79 - - [08/Mar/2014:02:14:19 +0400] "GET / HTTP/1.1" 403 389 "-" "
Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/
help/robots)"

[Sat Mar 08 02:14:19 2014] [error] [client 217.69.134.79] ModSecurity: Access 
denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. 
[file "/usr/share/modsecurity-crs/activated_rules/
modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] 
[rev "2.2.5"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] 
[tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] 
[tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "xxx"] [uri "/"] 
[unique_id "UxpEuwp-d4EAAEMnBFQAAAAE"]

Я знаю, что правильный способ — выполнять обратный поиск, однако они замедляют работу веб-сайта, и я хочу иметь хотя бы некоторую безопасность, но на данный момент не могу использовать 960015, потому что он блокирует Google и другие. В то же время это очень полезное правило, которое отловило сотни плохих ботов.

Если кто-то знает, как настроить обратный поиск, который действительно будет работать и позволит Google и другим хорошим ботам индексировать, добро пожаловать сюда. Однако я также ищу быстрое и грязное решение, чтобы заставить его работать прямо сейчас, поскольку некоторая безопасность лучше, чем ее отсутствие.


person Vlad    schedule 07.03.2014    source источник
comment
попробуйте на serverfault.com   -  person Prix    schedule 08.03.2014


Ответы (1)


Вот решение, которое я использовал, работает в течение 48 часов, Google и все проходит нормально, в то время как сотни злодеев блокируются, поместите это в файл vhost:

SecRule REQUEST_HEADERS:User-Agent "Google|Mail|Yandex" "phase:1,t:none,allow,nolog,ctl:ruleRemoveById=960015"
person Vlad    schedule 09.03.2014