Serveur web, galerie, effet Bytespider ? indexeur IA ! AI crawler ! Comment bien exclure ?

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
ma galerie photo a été assaillie de requêtes en mai. Des requêtes qui parcouraient en profondeur la galerie, comme le ferait un moteur de recherche qui indexerait une arborescence foisonnante de pages ; combinant les filtres, et récupérant les images de manière asynchrone. J'interprète ces visites comme étant des requêtes de Bytespider. Certaines étaient signées, d'autres non, mais beaucoup émanaient de la zone géographique SG (ou proche) :
whois 156.59.*.* | grep -Ei CIDR\|route\|Country\|inetnum
tail -f /var/log/httpd/access_log | grep -Ei bytespider\|bytedance
156.59.*.* - - [25/Aug/2024:07:51:39 +0200] "GET /*/*/*/*-0185-me.jpg HTTP/1.0" 200 37317 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"
tail -f /var/log/httpd/ssl_request_log | grep -Ei bytespider\|bytedance
[11/May/2024:14:30:13 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 642 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)" [06/Jun/2024:13:28:45 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 701 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)" [10/Jun/2024:05:50:58 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 701 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)" [31/Jul/2024:00:37:32 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 701 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)" [05/Aug/2024:16:41:43 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 701 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)" .../... [22/Aug/2024:17:52:26 +0200] 47.128.*.* TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 "GET /robots.txt HTTP/1.1" 200 701 "-" "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"
J'ai réalisé en mai que c'était trop ; du coup, fin mai, je modifiais le fichier robots.txt. Force est de constater que la prise en compte n'est pas immédiate. Alors qu'une ou deux requêtes mensuelles interrogeaient le fichier robots.txt jusqu'en juillet, en août il y en a eu dix.
# $Id: robots.txt 410967 2009-08-06 19:44:54Z oden $
# $HeadURL: svn+ssh://svn.mandriva.com/svn/packages/cooker/apache-conf/current/SOURCES/robots.txt $
# exclude help system from robots
User-agent: *
Disallow: /manual/
Disallow: /manual-2.2/
Disallow: /addon-modules/
Disallow: /doc/
Disallow: /images/
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: Bytespider
Disallow: /
# the next line is a spam bot trap, for grepping the logs. you should _really_ change this to something else...
Disallow: /all_our_e-mail_addresses
# same idea here...
Disallow: /admin/
# but allow htdig to index our doc-tree
#User-agent: htdig
#Disallow:
# disallow stress test
user-agent: stress-agent
Disallow: /
Comme la prise en compte ne se faisait pas, plusieurs mesures à effet immédiat ont été établies :
- liste de bannissement d'adresses IP (une vingtaine d'adresses localisées SG ou autres régions exotiques)
httpd.conf :Require not ip 47.128.0.0/14
- détections du user-agent
httpd.conf :<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Bytespider [NC] RewriteRule .* - [F,L] </IfModule>
httpd.conf :#SetEnvIfNoCase UserAgent "bytespider" is_bad_robot BrowserMatchNoCase "bytespider" is_bad_robot <Directory "/whatever/whatever/whatever"> AllowOverride All Require env not is_bad_robot # Require all granted <RequireAll> Require all granted Include conf/banList.conf </RequireAll> </Directory>
- détection du referrer (même si ...) combiné à des motifs de requête
httpd.conf :SetEnvIf Referer "whatever\.whatever\.whatever" localreferrer <FilesMatch "/whatever/whatever/[^§]+\.(jpg|png|gif)(?<!th\.jpg)$"> #<FilesMatch "\.(jpg|png|gif)$"> Require env localreferrer </FilesMatch> <LocationMatch "/whatever/whatever/whatever.whatever"> <If "%{QUERY_STRING} =~ m|/whatever/[0-9a-z-]+/[0-9a-z-]+|"> Require env localreferrer </If> </LocationMatch>
- redondance .htaccess
.htaccess :RewriteCond %{HTTP_USER_AGENT} "=GPTBot" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "=Bytespider" [NC] RewriteRule .* - [F,L] RewriteRule ^whatever/whatever/(.*)(/whatever/)(.*)_whatever.jpg$ whatever.whatever?/whatever/$1$2$3.jpg [L] RewriteRule ^whatever/whatever/(.*)-whatever.jpg$ whatever.whatever?/whatever/$1-whatever.jpg [L]
Malgré cela, des requêtes reçoivent toujours des réponses 200 du serveur (comme la première de ce message), d'autres reçoivent les codes 403. C'est là que je ne comprends plus. Pourquoi y a-t-il des trous dans ma raquette ? Le fait d'avoir tenté de poser des barrages à plusieurs niveaux (fichiers httpd.conf ou ses déclinaisons) pourrait-il avoir des interférences destructives, éventuellement aussi avec des instructions .htaccess ?
Le bannissement d'adresses IP permet de rejeter de nombreuses requêtes dont l'agent ne contient pas bytespider, et ça fait maintenant trois mois que ça rejette sans discontinuer. Comme l'impression de tenter de résister à l'appétit vorace d'une IA, ou d'un moteur de recherche analphabète (genre alpha très bête).
Contacter spider-feedback pourrait-il avoir un effet (positif) ?
Autre parade radicale : rendre ma galerie privée. Ce ne serait pas trop grave étant donné sa popularité plutôt très confidentielle, mais ô combien moins élégant, tout en déplaçant le problème, ou le transformant.
NB : whatever est un masque différent de l'astérisque * pour ménager la lisibilité des expressions régulières
Édité par Tonin Le 17/04/2025 à 10h29
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

vouf Membre non connecté
-
- Voir le profil du membre vouf
- Inscrit le : 16/08/2008
- Groupes :
Oui fail2ban est bonne solution. Tu peux nous montrer la tête de ton fichier robot.txt , car normalement tu devrais pouvoir bloquer l'accès ceux ci.

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
@vouf pour te répondre tardivement, le fichier robots.txt est dans mon premier message (mais caché, il faut cliquer pour voir ^^).
Concernant fail2ban, j'ai calé pour la mise en place.
À propos des éparses requêtes profondes, elles se poursuivent au compte-goutte ; plus aucune n'est estampillée Bytedance.
Un jour, alors que mon DNS dynamique rencontrait une interruption de service d'une poignée de jour, j'ai remarqué que cela avait aussi interrompu les requêtes dans les jours qui ont suivi le rétablissement du service, puis elles ont repris. Cela m'a fait réfléchir sur la simplicité d'un changement d'adresse. Ce que j'ai opportunément réalisé récemment à bien peu de frais, en modifiant le répertoire du site. À présent j'observe les réponses 404 que ces requêtes reçoivent, curieux de la courbe d'apprentissage du machin qui explore mon web, ou du site qui fait explorer ainsi mon web, souvent en provenance de Singapour, Hong-Kong ou du Mexique.
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
Malgré un changement d'URL, les requêtes continuent, avalant les réponses 404 comme si de rien n'était. Un peu comme les tentatives d'intrusions, ou recherches de failles, qui tentent de nombreux motifs de requête, à tâtons.
Des IA seraient-elles sans foi ni loi ?
https://www.theregister.com/2025/03/18/ai_crawlers_sourcehut/
Via https://mamot.fr/@Khrys/114191294185627817
Édité par Tonin Le 20/03/2025 à 08h48
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
Extrait Pofilo.fr :[Anubis] Utiliser la preuve de travail pour bloquer les robots
Publié le 14 avril 2025
Outils Open Source Tutoriel Traefik
Bonjour à tous,
Le mois dernier, je vous parlais de mon problème lié aux crawlers d’IA en bloquant l’accès à mon serveur à des pays entiers. Aujourd’hui, je vais vous montrer comment j’ai mis en place Anubis avec Traefik pour réussir à ne bloquer (que ?) les crawlers et les bots.
Contexte
Mon instance Gitea, comme toutes les forges logicielles publiques, se fait tabasser par les robots scannant ce genre d’outils pour “améliorer/nourrir” des IA. Dans un monde idéal (et j’en parlais dans mon dernier article), le fichier robots.txt est respecté et aucun abus n’a lieu, fin de l’histoire. Sauf que dans le monde de l’IA, on se fout des règles, on se fout de tout. Il suffit de voir ce genre d’article dont le titre est littéralement:
OpenAI dit que :c’est fini s’ils ne peuvent pas voler les contenus Copyrightés
Donc on ne respecte pas ce fichier, et on tabasse tout le monde pour faire la course à qui a la plus grosse (IA).
Le billet complet : https://www.pofilo.fr/post/2025/04/14-mise-en-place-anubis/
via https://piaille.fr/deck/@matiu_bidule@mamot.fr/114351582085456976
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
Anecdotique ? Il y eu un jour la visite d'une page présentant l'arborescence des mots clés de la galerie (plus d'un millier de mots catégorisés). Je ne sais interpréter ce que jaugeaient les quatorze subtiles variations de la requête GET. Certaines portions de chaînes ont été anonymisés.
[06/Apr/2025:10:58:32 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:34 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:35 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galErIe/arbOReScence,)\\ HTTP/1.1" 404 1197 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:35 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galeRie/arborEscence\\ HTTP/1.1" 404 1197 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:35 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "8271"
[06/Apr/2025:10:58:36 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0/**/(X11;/**/U;/**/Linux/**/x86_64;/**/en-US;/**/rv:1.9)/**/Gecko/2008062908/**/Firefox/3.0/**/(Debian-3.0~rc2-2)(\"'.,,,),)"
[06/Apr/2025:10:58:37 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0/**/(X11;/**/U;/**/Linux/**/x86_64;/**/en-US;/**/rv:1.9)/**/Gecko/2008062908/**/Firefox/3.0/**/(Debian-3.0~rc2-2)'cgVZoM<'\">FRzLkn"
[06/Apr/2025:10:58:38 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "8674" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:39 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referRer.url/..'\"..)())" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:40 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referREr.url/'CmYYzR<'\">dNgRLv" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:40 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:41 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
[06/Apr/2025:10:58:42 +0200] 141.98.11.222 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /galerie/arborescence HTTP/1.1" 200 215998 "http://same-referrer.url/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062908 Firefox/3.0 (Debian-3.0~rc2-2)"
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Dans la même veine, le serveur Web de Mageia.org a subi également depuis deux jours une explosion de la charge, avec notamment des requêtes vers le serveur svnweb.
La provenance était essentiellement de Chine.
Nos administrateurs système indiquaient que les requêtes étaient sur les historiques en requérant chaque fichier parmi d'autres requêtes lourdes. Les requêtes étaient par exemple du style
sortby=file&sortdir=down&view=log
Ils ont ajouté des règles telles que
RewriteCond %{QUERY_STRING} "sortby=.*view=(log|patch)"
pour rejeter des URLs d'utilisation peu probable par des humains.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :

Cette confrontation a quelque chose de fascinant.
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |