mod_security 960015 bloque Google et d’autres bons robots

La règle mod_security 960015 continue d’attraper Google et d’autres bons robots. J’ai les éléments suivants dans le vhost pour empêcher les bons robots d’être attrapés:

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

Même chose pour Google et Yandex.

Cela fonctionne 99% des fois, mais échoue à d’autres moments pour des raisons vraiment bizarres, voici l’exemple des logs pour Mail.ru bot:

Succès:

 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"] 

Et à la minute suivante, cela échoue:

 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"] 

Je sais que la manière correcte est de faire des recherches inversées, mais elles ralentissent le site Web et je veux avoir au moins un peu de sécurité, mais comme il est actuellement incapable d’utiliser le 960015, il bloque Google et les autres. Dans le même temps, c’est une règle très utile qui a attrapé des centaines de mauvais robots.

Si quelqu’un sait comment l’installer avec une recherche inversée qui fonctionnera réellement et permettra à Google et à d’autres bons robots d’indexer – vous êtes invité à poster ici. Cependant, je cherche également une solution rapide et sale pour la faire fonctionner dès maintenant, car une certaine sécurité est meilleure que la sécurité.

Voici la solution que j’ai utilisée, exécutée pendant 48 heures, Google et qui passe bien, alors que des centaines de méchants sont bloqués, mettez ceci dans le fichier vhost:

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