Cyborg Jeff vs Robots

Cyborg Jeff vs Robots

Ok, après de longues soirées, j’ai donc pu faire redescendre à la normal la charge CPU du serveur Infomaniak et rejoindre mes “copains” du serveur mutualisé. Le combat fut long, stressant et dans la mesure où une fois de plus, je me suis retrouvé seul au monde avec mon problème, je vais en profitez pour vous en faire partager les solutions, puisque déjà quelques autres internautes commencent à rencontrer de problèmes similaires.

Rappel des faits, début du mois, mon hébergement chez Infomaniak devait être isolé car quelques choses saturait le serveur web… et à moi d’en trouver la cause et l’éradiquer. Pas de malware, mise à jour de WordPress et plugins, rien n’y fait, je finis par constater un taux anormal d’appel dans les logs sur une seul et unique page du blog, plus de 10x par secondes et venant de serveurs BingBot officiels Microsoft. La raison reste toujours un mystère, mais mes lectures ont pu montrer d’autres cas similaires. Bug de l’outil, tentative de détournement pour saturer les serveurs…

Tout d’abord, j’ai donc installé un plugin de gestion de cache des pages à la demande d’Infomaniak. Celui-ci n’a pas vraiment fait diminuer la charge CPU, et m’enquiquine plus qu’autre chose d’ailleurs.

Après de nombreux tests, j’ai finalement interdit à BingBot et MSNBot de se rendre sur tout le site contenant la page à problème. Radicale, mais le contenu de celui-ci ne souffrira pas de ce nom référencement… Ceci dit cette solution est à mon goût trop agressive.

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*(msnbot).* [NC]  # Si le user agent contient la chaine msnbot
RewriteRule ^.* – [F,L]  # On interdit alors l’accès à la page

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*(bingbot).* [NC]  # Si le user agent contient la chaine msnbot
RewriteRule ^.* – [F,L]  # On interdit alors l’accès à la page

La solution s’avère efficace, puisque la charge serveur diminue alors de suite, néanmoins les logs restent surchargés, j’adapte donc avec un fichier ROBOTS.TXT qui placé à la racine du site impose aux différents bots ce qu’il peuvent indexer ou non… 24h plus tard, les résultats sont efficaces, mon fichiers LOG de 40mo est passé à 1,5mo !

User-agent: *
Disallow: /wp-*
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*%26layout=
Disallow: /*xoops_url

J’impose donc de ne pas indexer tous répertoires ou fichiers commençant par wp- à savoir des fichiers critiques à WordPress, les fichiers .php, .js ou .css et propre à ce cas les urls contenant la chaine de caractère %26layout= ou xoops_url.

Bon, j’espère être tranquille jusqu’à l’année prochaine mantenant !

Allé, pour vous donner un peu de coeur à l’ouvrage… tout cela me rappelle ce morceau de musique écrit en 2002 : Cyborg Jeff – We are the Bots !

Vous aimerez aussi...

  • Saturation serveur19 mai 2012 Saturation serveur (8)
    Déjà quelques jours que je m'arrache les cheveux et perd un temps précieux sur un sérieux problème d'attaque Web sur mon serveur, un soucis qui semble s'orienter autour d'attaque de […]
  • Ma boite à outil Multimédia8 novembre 2013 Ma boite à outil Multimédia (18)
    Cette semaine (enfin, c'était il y a bientôt un mois maintenant), je suis en train de mettre en place mon nouveau PC au boulot. Si vous aviez bon souvenir, l'été dernier, j'avais été […]
  • Scoop : Pourquoi et comment passer son site en HTTPS5 décembre 2017 Scoop : Pourquoi et comment passer son site en HTTPS (0)
    Bon, j'imagine ne pas avoir à me préoccuper du protocole https que je pensais rester uniquement nécessaire au site web utilisant des paiement en ligne... Mais à l'heure de la sécurité […]

14 réactions au sujet de « Cyborg Jeff vs Robots »

  1. Bonjour,

    je suis aussi sur WordPress/Infomaniak, et je m’inquiète de voir ma charge CPU supérieure à 100% dans mon admin… Mon site est, plusieurs fois par jour, inaccessible, et j’imagine que ça vient de là…
    J’aimerai donc faire le ménage dans mes plugins (comment identifier les plus gourmands?), ou envisager d’autres moyens de cibler le problème.

    > Comment as-tu pu découvrir que le problème venait des robots de bing/MSN ? tu parles de “nombreux tests”, mais j’aimerai en savoir plus …

    Merci !
    Paul

  2. Hello, donc dans un premier temps sur ton graphique de charge CPU chez Infomaniak, s’ils n’ont pas isolé ton site pour le considérer comme “à problème”, les infos que tu y trouveras ne t’aideront pas je pense, car il s’agit de la charge CPU du server qui héberge plusieurs autres utilisateurs, puisqu’il s’agit d’hébergement dit mutualisé. J’avais été “montré du doigt” et donc mis en quarantaine, et donc seul sur un serveur le temps de résoudre le problème.

    tout d’abord, tu peux trouver une série de chose que j’ai réalisée ici :
    https://www.studio-quena.be/cyborgjeff/blog/2012/05/19/saturation-serveur/

    Je n’avais au final pas de plugins gourmand, pas de crasse. Infomaniak m’a plus que recommandé d’installer un outil de mise en cache pour WP qui à défaut d’avoir fait descendre la charge CPU accélère l’appel des pages web pour les internautes (pas pour les admins).

    Enfin, c’est en analysant le fichier web.log (qui se trouve à la racine via FTP) que j’ai vu les nombreux appels anormaux de bing/msn vers une seule URL. en bloquant ces appels, j’ai fait redescendre la charge CPU. Je n’ai par contre pas trouver la raison exact de ceux-ci : bug Microsoft (si si, c’est tout à fait envisageable), causé par une ancienne version du plugin Wordbooker ?, tentative de faire sauter le serveur PHP ?

    Bon courage dans tes recherches et n’hésite pas au besoin ;)

  3. Je n’en suis pas encore à la quarantaine, et Google n’indique pas de lenteur particulière sur mon site, mais cette indispo et cette charge serveur m’inquiètent quand même …
    Infomaniak ne voit pas de surcharge avec le serveur, et me renvoie vers WordPress pour investiguer sur les pages qui ne s’affichent pas ! On tourne en rond… Mais je n’en ai pas encore fini avec mon hébergeur !

  4. Toutes ! en fait le site renvoie une erreur 324 (sur chrome), donc la page ne s’affiche même pas (ou alors une erreur 404 à la place de la page) mais cela se produit plutôt à des heures “chargées”, comme l’après midi ou le soir …

  5. > texte-invitation.com
    Pas de soucis pour l’instant … j’en profite pour faire le ménage dans mes plugins (30 actifs) mais j’ai du mal à cibler ceux qui sont “gourmands” …

  6. là comme cela, je ne constate évidemment aucune lenteur et également rien qui pourrait être anormal.
    vous avez j’imagine constaté vos problèmes depuis divers endroits de connexion ?

  7. effectivement, et sur plusieurs machines différentes. Mais pas d’impact visible sur mes stats (cela étant dit, comme la page ne se charge pas, le js non plus !).

  8. oui, effectivement. par contre dans les logs, tu devrais avoir pas mal d’erreur 404 à ce moment là.
    ce n’est pas un problème de DNS externe, puisque je vois que ton site et nom de domaine sont chez Infomaniak… cela aurait pu être une piste.

    tu as d’autres site sur ce compte infomaniak ? quand ton site principal est out, est-ce que ceux-ci fonctionne ?
    si tu n’en as pas, tu pourrais faire un essai. Mettre une autre install de WP plutot vierge et une simple page HTML, et voir si tu peux y accéder qd ton site est en rade.

  9. pour le problème de CPU, Infomaniak vient de me dire que 100% représente 1 coeur, sur les 8 que compte le proc. Donc même avec 200% occupé, on est qu’aux 1/4 du CPU utilisé. Tant mieux !
    Dans les logs, aucune erreur 324, beaucoup de 404 en revanche ! Du coup, je viens de les moniter dans Analytics pour voir ce qu’il en est …

    J’ai un autre site sur Infomaniak, mais pas sur le même serveur …

  10. alors essaie en faisant une nouvelle installe d’un WP sur le serveur de texte-invitations et également un page .html simple.
    quand tu constates à nouveau un prob sur le WP d’origine, teste les deux autres pour voir ce qu’il en est. cela te donnera une idée d’un problème sur l’ensemble de ton compte ou juste sur le site WP d’origine.

  11. Après étude des logs, je me pose quand même des questions :
    > Les logs indiquent 84 erreurs 404 sur une journée
    > GA n’en indique qu’une
    Je sais bien que les méthodes différent (javascript pas activé partout, les 404 de GA sont celles captées par WordPress, …) mais la différence est quand même assez énorme !

    D’autre part, j’ai viré le plugin P3 (plugin performance profiler) qui semblait tout foutre en l’air quand il était lancé, et ça va déjà mieux !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.