Правило 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 и другим хорошим ботам индексировать, добро пожаловать сюда. Однако я также ищу быстрое и грязное решение, чтобы заставить его работать прямо сейчас, поскольку некоторая безопасность лучше, чем ее отсутствие.