Problème bots et site erreur 503

Bonjour,

J’ai un problème, depuis aujourd’hui, sur un serveur a priori dû au crawl intensif par des bots, notamment ceux utilisés pour l’entraînement de moteurs d’intelligence artificielle.
Ce trafic non sollicité sature les ressources de l’hébergement et entraine le crash de la base de données Mysql.

L’hébergeur relance le serveur MySQL mais ça saute sans arrêt.

L’hébergeur me conseille de les bloquer via le htaccess en indiquant :

RewriteCond %{HTTP_USER_AGENT} « (?i)(Amazonbot|BLEXBot|Barkrowler|DataForSeoBot|MJ12bot|DotBot|AhrefsBot|SemrushBot|SeekportBot|CCBot|Baiduspider|Yandex(Bot)?|Sogou|PetalBot|Bytespider|OAI-SearchBot|GPTBot|ChatGPT-User|PerplexityBot|ClaudeBot|CensysInspect|Go-http-client|python-requests|httpx|Apache-HttpClient|meta-externalagent) » [OR]
RewriteCond %{HTTP_USER_AGENT} ^\s*$ # UA vide
RewriteRule ^ - [R=429,L]

Qu’en pensez-vous ? Est-ce la solution ?

Merci pour votre aide.

Bonsoir,

A tester oui sinon vous pouvez le faire dans le fichiers robots.txt du site.
A voir ce qui est le mieux au final.

Bonsoir,
comment le faire dans le fichier robots.txt ?

Est-ce normal que ces bots fassent « sauter » le serveur Mysql et que ça provoque l’erreur Error 503 Backend fetch failed ?

Est-ce que la présence du fichier ecran_securite_options.php peut augmenter le problème ?

Le site est en spip 4.1 est-ce que le problème serait le même avec spip 4.3 ?

Oui c’est une solution, mais l"hébergeur pourrait le faire en amont afin d’éviter de faire travailler apache avec le htaccess.

Non, les bots d’IA ne respectent pas le robots.txt pour la plupart. Le sujet a déjà été abordé plusieurs fois ici et sur le web, un bon fil détaillé à ce sujet par ici Bilan d'étape de la résistance aux fringales des IA dégénérées : - *La recherche est réactivée* ,…

Oui, ces bots ne respectent rien et envoient des requêtes en masses sans aucun délai, ce qui peut faire tomber le serveur s’il n’a pas assez de ressources. Dans mon expérience de bénévolat chez un hébergeur associatif membre du collectif CHATONS, j’ai pu observer que 70% du traffic web de nos serveurs provenait des principaux bots d’IA, et il y a des bots bien plus sournois qui utilisent des user agent de visiteur humain, et parfois même en utilisant l’adresse IP de connexions de particuliers (voir le lien que je cite plus haut).

Non, certainement pas.

Peut-être, mais une chose est certaine, SPIP 4.1 n’est plus maintenu, il faut mettre à jour en 4.3 minimum :slight_smile:

1 « J'aime »

Tout d’abord merci pour ces explications :slight_smile:
La mise à jour en spip 4.3 était prévue « hors saison »…

Il s’agit d’une instance chez Gandi, comment pourraient-ils le faire en amont ?
Est-ce que travailler apache avec le htaccess va provoquer des problèmes avec l’instance ?

Je leur ai demandé si changer la taille de l’instance pourrait améliorer ce problème de charge résultant des bots…

Non, certainement pas.

Même si le contenu du fichier est :

<?php define('_ECRAN_SECURITE_LOAD', 0);

Ça peut se gérer du côté de haproxy, nginx ou autre, bref tout ce qui serait en frontal avant ton serveur web.

PS : tu sais que GANDI c’est fini, ça ne sont plus de gentilles personnes et qu’il faut aller voir ailleurs ?

Ton hébergeur te dira certainement qu’il faut payer plus pour que ça fonctionne mieux, c’est leur biz, encore plus pour GANDI :stuck_out_tongue:

Malheureusement c’est vrai :roll_eyes:

Pour le moment j’espère que la modif du htaccess fonctionnera…

Bonjour,

j’ai voulu suivre la demande de l’hébergeur mais le code fait planter le site quand je le rajoute dans le htaccess.

Pouvez-vous me dire ce qui doit être modifié pour que ça fonctionne avec spip ?

Voici le code que me conseille de mettre l’hébergeur :

RewriteCond %{HTTP_USER_AGENT} "(?i)(Amazonbot|BLEXBot|Barkrowler|DataForSeoBot|MJ12bot|DotBot|AhrefsBot|SemrushBot|SeekportBot|CCBot|Baiduspider|Yandex(Bot)?|Sogou|PetalBot|Bytespider|OAI-SearchBot|GPTBot|ChatGPT-User|PerplexityBot|ClaudeBot|CensysInspect|Go-http-client|python-requests|httpx|Apache-HttpClient|meta-externalagent)" [OR]
RewriteCond %{HTTP_USER_AGENT} ^\s*$  # UA vide
RewriteRule ^ - [R=429,L]

Où le mettre dans le htaccess ? Est-ce adapté à Spip ?

J’avoue que ça dépasse mes compétences :slight_smile: , merci pour votre aide

Pour info le message d’erreur : Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

J’ai regardé les logs apache voici l’erreur : RewriteCond: bad flag delimiters

Ce dépôt fournit une liste de bots à bloquer par plusieurs vecteurs GitHub - ai-robots-txt/ai.robots.txt: A list of AI agents and robots to block. voir ici pour le faire depuis le htaccess ai.robots.txt/.htaccess at main · ai-robots-txt/ai.robots.txt · GitHub

Tu peux ajouter ça dans la partie REGLAGES PERSONNALISES de celui fourni par SPIP cf htaccess.txt · master · spip / spip · GitLab

j’ai voulu suivre la demande de l’hébergeur mais le code fait planter le site quand je le rajoute dans le htaccess.

Est-ce que tu peux copier-coller de nouveau leur code ici, mais en le mettant dans une balise « code » ? En effet on le voit avec des caractères invalides mais c’est peut-être causé par le forum qui réécrit certaines parties de la requête

Je viens d’éditer le message pour mettre le code entre les balises </>

Peut-être comme ça ?

1 « J'aime »

Bonjour
En décalant la ligne # UA vide

RewriteCond %{HTTP_USER_AGENT} "(?i)(Amazonbot|BLEXBot|Barkrowler|DataForSeoBot|MJ12bot|DotBot|AhrefsBot|SemrushBot|SeekportBot|CCBot|Baiduspider|Yandex(Bot)?|Sogou|PetalBot|Bytespider|OAI-SearchBot|GPTBot|ChatGPT-User|PerplexityBot|ClaudeBot|CensysInspect|Go-http-client|python-requests|httpx|Apache-HttpClient|meta-externalagent)" [OR]
RewriteCond %{HTTP_USER_AGENT} "^\s*$"
# UA vide
RewriteRule ^ - [R=429,L]

ça passe;

1 « J'aime »