La gestion des bots consiste à identifier et bloquer les bots d’un site web ou d’une application tout en autorisant l’accès aux autres bots.
Cet article s'articule autour des points suivants :
Contenu associé
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
La gestion des bots consiste à arrêter le trafic Internet de bots indésirables ou malveillants, tout en permettant aux bots utiles d’accéder aux propriétés web. Pour cela, la solution de gestion des bots détecte l’activité des bots, distingue le comportement des bots légitimes de celui des bots indésirables et identifie les sources de toute activité malveillante.
La gestion des bots est nécessaire, car s’ils ne sont pas contrôlés, les bots peuvent causer de graves problèmes aux propriétés web. Un trafic de bots trop important peut exercer une lourde charge sur les serveurs web et ainsi, ralentir le service, voire le rendre inaccessible pour les utilisateurs légitimes (cela prend parfois la forme d’une attaque DDoS). Les bots malveillants peuvent « scraper » (c’est-à-dire extraire) ou télécharger des contenus depuis un site web, dérober les informations d’identification des utilisateurs, propager rapidement des contenus indésirables et lancer différentes autres cyberattaques.
Un gestionnaire de bots est un produit logiciel qui gère les bots. Les gestionnaires de bots devraient pouvoir bloquer certains bots et en laisser passer d’autres, au lieu de simplement bloquer tout le trafic non humain. Par exemple, si tous les bots sont bloqués et que les bots Google ne sont pas en mesure d’indexer une page, cette page ne peut pas apparaître dans les résultats de recherche Google, ce qui réduit considérablement le trafic organique vers le site web.
Un bon gestionnaire de bots atteint les objectifs suivants :
Un bot est un programme informatique qui fonctionne sur un réseau. Les robots sont programmés pour effectuer automatiquement certaines actions. En règle générale, les tâches qu’un bot exécute sont assez simples, mais un bot peut les refaire sans cesse à un rythme beaucoup plus rapide qu’un humain.
Par exemple, Google utilise des bots pour explorer en permanence les pages web et indexer le contenu pour la recherche. Il faudrait un temps astronomique à une équipe humaine pour examiner le contenu diffusé sur Internet, mais les bots de Google sont capables de maintenir l’index de recherche de Google suffisamment à jour.
Comme exemple négatif, citons les escrocs qui utilisent les bots moissonneurs d’e-mails pour recueillir des adresses partout sur Internet. Les bots parcourent les pages web, recherchent du texte qui se présente au format d’e-mail (texte + symbole @ + domaine), et enregistrent ce texte dans une base de données. Naturellement, un humain pourrait parcourir les pages web à la recherche d’adresses mail, mais comme ces bots moissonneurs sont automatisés et ne cherchent que du texte répondant à certains critères, ils trouvent des adresses mail beaucoup plus rapidement.
Contrairement à un utilisateur humain qui accède à Internet, un bot n’accède généralement pas à Internet par un navigateur traditionnel comme Google Chrome ou Mozilla Firefox. Plutôt que d’utiliser une souris (ou un smartphone) et de cliquer sur un contenu visuel dans un navigateur, les bots sont simplement des agents logiciels qui lance des requêtes HTTP (entre autres activités), généralement en utilisant ce que l’on appelle un « navigateur sans tête ».
Les bots peuvent fondamentalement effectuer n’importe quelle tâche répétitive et non créative – concrètement, toute tâche pouvant être automatisée. Ils peuvent interagir avec une page web, renseigner et envoyer des formulaires, cliquer sur des liens, analyser (ou « explorer ») du texte et télécharger des contenus. Les bots peuvent « regarder » des vidéos, publier des commentaires et messages, ajouter des « j’aime » ou retweeter sur les plateformes de réseaux sociaux. Certains bots, appelés chatbots, peuvent même tenir des conversations de base avec des utilisateurs humains.
Étonnamment, de nombreuses sources estiment qu’environ la moitié de tout le trafic Internet est du trafic bot. De la même manière que certains logiciels sont des logiciels malveillants et d’autres non, certains bots sont malveillants et d’autres sont de « bons » bots.
Tout bot qui abuse d’un produit ou service en ligne peut être considéré comme « mauvais ». Les mauvais bots peuvent être ouvertement malveillants, tels que les bots qui tentent de s’introduire dans les comptes utilisateur, à des formes plus légères d’utilisation abusive des ressources, comme les bots qui achètent des billets sur un site événementiel.
Un bot qui effectue un service nécessaire ou utile peut être considéré comme « bon ». Les chatbots du service client, les robots d’indexation des moteurs de recherche et les bots de surveillance des performances sont tous des exemples de bons bots. Les bons bots recherchent et respectent généralement les règles définies dans le fichier robots.txt d’un site web.
Le fichier robots.txt figure sur un serveur web. Il décrit les règles d’accès des bots aux propriétés de ce serveur. Toutefois, le fichier lui-même n’applique pas ces règles. Essentiellement, toute personne qui programme un bot est censée suivre un code d’honneur et s’assurer que son bot vérifie le fichier robots.txt d’un site web avant d’y accéder. Les bots malveillants, bien sûr, ne suivent généralement pas ce code, d’où la nécessité d’une gestion des bots.
Pour identifier les bots, les solutions de gestion de bots peuvent utiliser des tests JavaScript (qui déterminent si un navigateur web traditionnel est utilisé ou non) ou des tests Captcha. Ils peuvent également déterminer quels utilisateurs sont humains et quels « utilisateurs » sont des bots en recourant à l’analyse comportementale, c’est-à-dire en comparant le comportement d’un utilisateur particulier au comportement standard des utilisateurs dans le passé. Les solutions de gestion des bots doivent disposer d’une grande collection de données comportementales de qualité pour contrôler les différents comportements.
S’il est déterminé qu’un bot est « mauvais », il peut être redirigé vers une page différente ou être bloqué pour ne pas pouvoir accéder à une ressource web.
Les bons bots peuvent être ajoutés à une liste autorisée (le contraire d’une liste autorisée est une liste bloquée). Un gestionnaire de bots peut aussi distinguer les bons et les mauvais bots via une analyse comportementale plus poussée.
Une autre approche de la gestion des bots consiste à utiliser le fichier robots.txt pour configurer un « pot de miel ». Un pot de miel est une fausse cible pour les acteurs malveillants. Lorsque les bots y accèdent, le pot de miel révèle que ces bots sont malveillants. Dans le cas d’un bot, un pot de miel peut être une page web du site interdite aux bots par le fichier robots.txt. Les bons bots liront le fichier robots.txt et éviteront cette page web. Certains mauvais bots exploreront la page web. En suivant l’adresse IP des bots qui accèdent au pot de miel, les mauvais bots peuvent être identifiés et bloqués.
Une solution de gestion des bots peut aider à stopper différentes attaques :
Ces autres activités de bots ne sont pas toujours considérées comme « malveillantes », mais un gestionnaire de bots doit pouvoir malgré tout les atténuer :
Cloudflare possède la capacité unique de recueillir les données issues de millions de requêtes qui transitent chaque jour sur son réseau. Grâce à ces données, Cloudflare est en mesure d’identifier l’activité probablement liée aux bots grâce à l’apprentissage automatique et à l’analyse comportementale, et peut ainsi fournir les données nécessaires pour créer efficacement une liste autorisée de bots légitimes ou une liste noire de bots malveillants. Cloudflare dispose également d’une vaste base de données de réputation d’adresses IP. En savoir plus sur Cloudflare Bot Management.
La fonctionnalité Super Bot Fight Mode, désormais disponible dans les offres Pro et Business de Cloudflare, est conçue pour aider les petites organisations à se défendre contre les attaques de bots, tout en leur offrant une meilleure visibilité du trafic de bots.