Détecter et bloquer les bad bots

Il y a de bons robots et il y a de mauvais robots (bad bots). Les bons robots (robots qui explorent un site Web) explorent et indexent votre site et apportent du trafic. Les mauvais robots appelés en Anglais bad bots consomment de la bande passante, cliquent sur vos pubs pour vous faire blacklister, ralentissent votre serveur, volent votre contenu et recherchent des vulnérabilités pour compromettre votre serveur.

 

Qu’est-ce que les Bad Bots?

Il y a toutes sortes de robots, pour toutes sortes de buts.
Un certain nombre existent à des fins bénéfiques, tels que les robots des principaux moteurs de recherche, y compris Google et Bing; Ceux-ci fournissent des services utiles, tels que la mise à disposition de notre contenu en ligne, en fonction de leurs requêtes de recherche.

Cependant, les mauvais robots ont un but tout à fait différent. Ils peuvent être utilisés pour différentes raisons, notamment:

  • Voler des informations qui peuvent être reconditionnées par un concurrent, telles que les données de l’utilisateur
  • Création d’une attaque par déni de service distribué (DDOS)
  • Voler des informations et les ré-afficher sous une autre identité

En plus des impacts commerciaux et de marque, les robots comme ceux-ci ont aussi d’autres conséquences, notamment:

  • Génération de résultats de trafic de recherche, déformant efficacement les statistiques de site
  • Augmentation de la charge de trafic sur le site Web, ce qui oblige les sites à investir dans une infrastructure matérielle inutile
  • Cliquer sur vos publicités tels que Adsense de Google et vous faire blacklister

Indépendamment de ce que les conséquences sont cependant, ils ont un impact direct sur nous; conséquences qui doivent être minimisées, si ce n’est pas évité purement et simplement.

Lire aussi: 4 méthodes pour pirater ou espionner un smartphone et comment s’en protéger

 

Alors, comment identifier et arrêter les bad bots?

C’est ce que je vais vous montrer dans le reste de cet article. Plus précisément, je vais vous guider à travers quatre options possibles qui sont:

  • Solutions maison
  • Plugins, outils et extensions
  • S’appuyant sur les fournisseurs d’hébergement et de solutions
  • Solutions proactives

 

 

Avant d’aller plus loin, il faudrait savoir que vous pouvez minimiser l’effet qu’ils ont mais vous ne pouvez pas les vaincre, et ce sera un processus sur lequel vous devrez être continuellement proactif.

Vous ne pouvez pas établir une solution, la définir et l’oublier. Cela ne fonctionne pas de cette façon.

Pour souligner ce point, considérons ces cinq points clés du quatrième rapport annuel Bad Bot de Distil Networks:

  • 40% du trafic Web en 2016 provenait de bots.
  • 97% des sites Web avec du contenu et / ou des prix propriétaires sont touchés par un raclage indésirable.
  • 31% des sites avec des formulaires sont touchés par des robots collecteurs de mails.
  • 90% des sites Web ont été touchés par des bad bots qui se trouvaient derrière la page de connexion.
  • 75% des bad bots étaient des Advanced Persistent Bots (APB). Un Bot Persistant Avancé est celui qui peut effectuer une interaction sophistiquée avec des sites, par exemple être capable de « charger JavaScript, conserver des cookies, et charger des ressources externes, ou persistantes, en leur permettant de randomiser leur adresse IP, en-têtes et agents d’utilisateur. « 

 

 

A- Solutions maison

 

L’une des premières étapes, et potentiellement les moins coûteuses, consiste à créer votre propre solution. Cela implique trois étapes générales:

Lire aussi :
10 Conseils pour sécuriser le réseau informatique de votre entreprise ou de votre maison

1- Observez les robots qui ne respectent pas la directive robots.txt
2- Les repertorier
3- Utiliser les directives du serveur Web pour les bloquer

Cela peut sembler une solution simpliste mais non !

 

 

1- Première étape: Observez les robots qui ne respectent pas la directive robots.txt

Les bots décents ou bien conçus respecteront le fichier robots.txt d’un site Web, qui ressemble à ceci:

User-agent: *

Disallow: /private-beta-gem

Disallow: /gems

Disallow: /blog

Ce code dit que n’importe quel bot, indépendamment de l’origine et de l’intention, est autorisé à analyser n’importe quelle partie du site web, à l’exception de trois zones: / private-beta-gem, / gems, et / blog.

Vous avez maintenant un moyen immédiat de différencier les bons des mauvais. Un bon bot va respecter les règles et ne pas parcourir les trois zones interdites. Un mauvais va les parcourir.

Lire aussi: Des Keyloggers trouvés sur des milliers de sites web sous WordPress

 

2-Deuxième étape: découvrir qui navigue dans les zones interdites, et les enregistrer.

Pour cela, il y a deux approches possibles:

a- Analyser vos fichiers journaux: lorsque vous examinez vos fichiers journaux, si vous voyez des demandes de contenu dans l’un de ces trois répertoires, vous savez que le robot peut être mal développé ou avoir une intention malveillante.

b- Créer un pot de miel (ou piège): Cela implique de créer un lien (normalement sur la page d’accueil de votre site) vers une section de votre site qui ne devrait pas être traversée. Ce sera invisible pour les humains, mais pas pour les robots. Si le bot fait une demande au lien, alors un script (écrit dans votre langage de script choisi) enregistrera les détails sur le bot dans un fichier de données. Cette zone de votre site doit également être bloquée dans votre fichier robots.txt.

De toute façon, vous pouvez maintenant commencer à assembler une base de données de bots que vous devez bloquer de votre site.

 

 

3- Troisième étape: les bloquer

Pour les bloquer, il suffit de se tourner vers les fichiers de configuration de votre serveur Web et d’ajouter les directives pertinentes à bloquer qui correspondent aux informations de votre base de données.

Perishable Press suggère de les bloquer de quatre façons:

  • Par agent utilisateur: utile si les robots s’identifient avec une chaîne d’agent utilisateur personnalisée, différente des navigateurs standard et des robots des moteurs de recherche.
  • Par référent: utile dans les cas où le référent est un mauvais bot connu ou un référent de spam.
  • Par adresse IP: Utile dans les cas où l’adresse IP est connue pour être liée à des bad bots.
  • Par requête URI: Ceci est utile quand aucun des trois autres cas ne fonctionne.

Et voici quelques exemples sur la façon de configurer Apache 2.x pour bloquer les bots basés sur ces approches.

 

Par agent utilisateur / User Agent


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (EvilBot|ScumSucker|FakeAgent) [NC]
RewriteRule (.*) - [F,L]

Par requête URI / Request URI


RewriteEngine On
RewriteCond %{QUERY_STRING} (evil|spam) [NC]
RewriteRule (.*) - [F,L]

Par référent / Referrer


RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.*)spam-referrer\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.*)content-thief\.biz [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.*)bandwidth-leech\.net [NC]
RewriteRule (.*) - [F,L]

Par adresse IP / IP Address


RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.000 [OR]
RewriteCond %{REMOTE_ADDR} ^111\.222\.333\.000 [OR]
RewriteCond %{REMOTE_ADDR} ^444\.555\.777\.000
RewriteRule (.*) - [F,L]

 

Lire aussi: Les pires mots de passe à ne pas utiliser pour la nouvelle année

 

B- Utiliser des plugins, des outils et des extensions

 

Le problème avec la solution ci-dessus, faite maison, comme avec n’importe quelle solution locale, est que vous devez dédier des ressources à la fois la création et la maintenance. Étant donné que les bots deviennent de plus en plus sophistiqués, vous devrez constamment mettre à jour votre mauvaise base de données de bots et les règles de serveur Web qui les accompagnent pour les garder à distance.

Par conséquent, une extension de plugin ou de serveur Web peut être plus efficace. De plus, en fonction de vos compétences, ils peuvent être la meilleure solution.

Par exemple, si vous utilisez un ou plusieurs sites Web utilisant WordPress, vous pouvez utiliser des plugins tels que Blackhole pour Bad Bots ou StopBadBots; Ou si votre site est basé sur Drupal, vous pouvez utiliser Badbot.

Cependant, si vous êtes un administrateur système chevronné ou si vous disposez de ces ressources, deux autres solutions peuvent vous convenir davantage:

1- bad-bot-blocker

Ceci est une liste de 223 règles Apache .htaccess pour bloquer les mauvais robots. Il définit les mauvais robots en fonction d’une gamme de catégories, y compris:

  • Moissonneuses de courrier électronique
  • Racleurs de contenu
  • Bots Spam
  • Scanneurs de vulnérabilité
  • Bots liés à des virus ou des logiciels malveillants
  • Bots de surveillance du gouvernement

Bien que ce soit assez similaire à la solution locale, il y a une différence clé. C’est que ce n’est pas une solution maison, quelque chose que vous avez vous-même créé et que votre équipe devra maintenir. C’est une solution développée et maintenue par d’autres personnes et par votre équipe aussi, si vous choisissez d’aider.

Pour l’installer, vous pouvez copier le fichier .htaccess dans le répertoire de votre application ou ajouter la configuration à votre fichier .htaccess existant.

Remarque: Si vous l’utilisez, je vous encourage à ajouter la configuration à la configuration de base de votre Apache, car les fichiers .htaccess, bien qu’efficaces, peuvent augmenter considérablement la charge du serveur Web.

 

2- apache-ultimate-bad-bot-blocker

Ce paquet s’auto-décrit comme:

L’Ultimate Bad Bot, User-Agent et Spam Referrer Blocker pour les serveurs Web Apache (2.2> 2.4+). Il est conçu pour être un fichier d’inclusion Apache et utilise la directive Apache BrowserMatchNoCase

Il vise à arrêter les bots qui sont:

  • Bad Referrers
  • Référents Spam
  • Liés à Lucrative Malware, Adware et Ransomware Clickjacking Campagnes
  • Scanneurs de vulnérabilité
  • Liés aux sites Web de jeu et de pornographie
  • Moissonneuses de courrier électronique
  • Sites Hotlinking d’images et voleurs d’images
  • Bots de surveillance du gouvernement
  • Une partie des réseaux d’attaque de botnet, tels que Mirai
  • Les entreprises de référencement que vos concurrents utilisent pour essayer d’améliorer leur référencement
  • Créer un spam Google Analytics Ghost

L’installation prend plus de temps et d’expertise que bad-bot-blocker.
Cependant, il est beaucoup plus riche en fonctionnalités et complet dans son niveau de protection.
Donc, si vous voulez une solution que vous n’avez pas besoin de maintenir, une solution complète, et une mise à jour régulière, alors c’est le choix à faire.

 

 

 

C- Utilisez votre fournisseur d’hébergement et CDN

Maintenant que nous avons examiné les actions que vous pouvez entreprendre directement, que faire de votre fournisseur d’hébergement ou de l’infrastructure d’hébergement associée, comme Fastly, KeyCDN, Cloudflare ou Amazon CloudFront, pour réduire l’impact des bad bots sur votre site?

 

Bien que non exhaustif, c’est une fonctionnalité pratique que vous pouvez utiliser pour aider à réduire les effets des bad bots sur votre site Web. Si vous n’êtes pas chez KeyCDN, qu’est-ce que vos hébergeurs proposent de similaire ou de meilleur?

Lire aussi: Comment choisir le meilleur hébergeur pour votre site web

 

 

 

D- Pare-feu d’application Web

Et enfin, vous pouvez utiliser un Web Application Firewall (WAF). Si vous n’êtes pas familier avec eux, un WAF est un pare-feu spécial pour les applications basées sur HTTP / S qui:

Applique un ensemble de règles à une conversation HTTP. Ces règles couvrent les attaques courantes telles que les scripts inter-sites (XSS) et l’injection SQL. Alors que les proxies protègent généralement les clients, les WAF protègent les serveurs. Un WAF est déployé pour protéger une application Web spécifique ou un ensemble d’applications Web. Un WAF peut être considéré comme un proxy inverse.

Cette description mise à part, vous pouvez toujours utiliser un WAF pour protéger votre site contre les bots, sur la base des critères susmentionnés des agents utilisateurs, de l’adresse IP, de la géolocalisation, etc.

Cependant, comme je l’ai déjà mentionné, le problème avec les WAF est que, tout comme les solutions locales, elles peuvent nécessiter plus d’investissement que ce que vous êtes prêt ou capable de faire. Qui plus est, ils ont d’autres défauts, tels que la génération de faux positifs et de négatifs.

 

 

 

En conclusion

Nous avons formulé un certain nombre de recommandations dans ce guide. Par conséquent, il n’est peut-être pas tout à fait évident de choisir celui qui vous convient le mieux. Donc, pour vous rendre la tâche facile, jetez un oeil à travers le tableau suivant.

C’est difficile d’être précis à 100%. Mais il devrait vous donner une indication approximative de chaque solution, basée sur la complexité, le coût, la facilité d’installation, la facilité de maintenance, et l’efficacité.

 

Méthode Complexité Coût Facilité Effectivité
Solutions Maison *** *** ** ***
Bad-bot-blocker * * ***** **
Apache-ultimate-bad-bot-blocker * ***** **** ***
Votre fournisseur d’hébergement et CDN ** *** *** ****
Pare-feu d’applications web **** *** * ****

 

Cela dit, ceci conclut le guide de ce que sont les mauvais robots (bad bots), avec une variété de moyens pour les empêcher de nuire à votre site.

J’espère que vous avez maintenant une meilleure idée de l’importance que peuvent avoir les bad bots sur votre site Web, votre entreprise, votre marque et votre réputation. J’espère aussi que vous êtes maintenant beaucoup mieux informés et bien mieux placés pour réduire l’impact des bots sur votre site web.

 

En fonction de votre budget et de vos ressources, je suis convaincu que l’une ou l’autre des solutions décrites vous aidera à améliorer la qualité du trafic de votre site Web.

Si vous avez des questions ou souhaitez partager votre expérience, veuillez le faire dans les commentaires ou sur notre forum.

Laisser un commentaire