Content
Trois jours dans l’enfer synthétique : la bataille numérique du 21 mai 2025
Compte rendu de la bataille numérique du 21 mai 2025
"Trois jours dans l’enfer synthétique : la bataille numérique du 21 mai 2025" on https://aligot-death.space, available at https://aligot-death.space/txt/guerre-synthetique-fr
Ahhh, tenir son propre serveur informatique. La promesse de la liberté numérique. La joie de voir son site web s’affiche n’importe où.
Ce qu’on te dit pas quand tu t’engages sur les mers numériques, c’est qu’elles sont bien agitées. Engagez-vous, rengagez-vous, qu’ils disaient…
Rien de bien nouveau. “De tout temps…” comme disent 95% des devoirs d’histoire géo, le web était rempli de scrapers, de bots, de scanners, qui prennent un malin plaisir à venir toquer à ta porte. Quel souvenir que celui de naïvement ouvrir un Raspberry Pi au monde, pour découvrir deux semaines plus tard qu’il peine à servir la moindre page web. Alors on regarde les journaux d’activité, on découvre avec effroi l’ampleur de désastre, et on apprend à protéger son rafiot. Caches, blacklists, et on découvre le débat sans fin sur les “WAF”.
Sauf qu’une rumeur tourne depuis quelques temps dans les ports parmi les marins : un monstre d’un nouveau genre hanterait les hautes mers. Des aspirateurs de données, qui à l’image de leur sombres desseins, ne serait que bruit et désordre. Des “crawlers” motivés par l’IA.
Malheureusement, celleux qui parlent sont des cassandres numériques : les quelques témoignages qui surgissent sont automatiquement décrédibilisés par celleux qui ne l’ont pas vécu : « non mais c’est juste des bots, tu viens de débarquer sur le web ou quoi ? », « suffit de mettre un fail2ban et— ».
Alors voilà ma pierre à l’édifice. Les témoignages commencent à se multiplier, et avec un peu de chance, les gens finiront par y prendre au sérieux.
Par souci d’accessibilité, je vais tenter ici de raconter ce qu’il s’est passé de la manière la moins technique possible, ou alors en expliquant. Les néophytes devraient pouvoir comprendre, et les “sachant-es” m’excuseront j’espère les quelques approximations techniques. Ça n'a pas vocation à être un post-mortem précis. Je vais aussi parler "d'IA" par souci de simplicité, mais qu'on s'entende, c'est un terme qui veut rien dire. C'est cet amalgame de technos de machine learning de nouvelle génération là.
Les notes que j’avais prises à la base durant ce périple étaient assez sombres, et c’est pas non plus le but de faire déprimer. Donc je me suis un peu lâchéx sur les métaphores et la poésie. On s'occupe comme on peut.
Ô toi qui navigues sur les mers numériques, ne prends pas mes mots à la légère. J’ai vu la bête immonde. Ta naïveté ne témoigne que d’une chose : ta chance insolente de ne pas l’avoir croisée !
Bon ok, peut-être pas autant que ça.
Mention de tabac, d’alcool, traitement et détresse psy
the murderin' cannons roar#
13 novembre 2024, captain’s logs.
Ça fait déjà une dizaine d’années que je suis sur les mers.
Parmi les serveurs que je gère, il y a celui d’une association. Un des services proposés par celle-ci, c’est un “Koha”. Un logiciel de bibliothèque qui permet aux personnes de découvrir des livres et archives, pour certains rares, et éventuellement savoir où elles peuvent les consulter ou les emprunter, le tout ouvert au grand public, car le but est aussi de faire découvrir.
Autrement dit, de la donnée “structurée”. Et ça, ça en fait une cible de choix pour des entreprises peu scrupuleuses qui veulent exploiter ces données ou entraîner leur IA.
Les voiles de ce bateau sont tissées de fils d’or et d’argent.
Ce jour là, des utilisateurices se plaignent de grosses lenteurs sur le koha. Mais bon, c'est pas mon premier incident, donc quand je me rend compte que le site rame effectivement sévèrement, je tombe pas de ma chaise.
Une vérification rapide confirme le diagnostic évident : les bots font la fête dans les “logs” pendant que les humains se mangent des chargements infinis.
Des logs “web”, ça ressemble à ça (anonymisé par souci de sécurité), une liste des “gens” qui se connectent avec quelques infos :
example.com 185.191.171.6 - - [22/May/2025:00:01:18 +0000] "GET /cgi-bin/koha/<a-long-query>" 200 3989 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)" example.com 187.252.196.191 - - [22/May/2025:00:00:56 +0000] "GET /cgi-bin/koha/<a-long-query>" 200 3387 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0 rv:4.0; nb-NO) AppleWebKit/534.23.4 (KHTML, like Gecko) Version/4.0.3 Safari/534.23.4"
Ça fait peur quand on connaît pas, mais c’est pas aussi complexe que ça en a l’air.
Dans l’ordre, on a :
- example.com le site (pour les techos, c’est des logs COMBINED)
- 185.191.171.6 une adresse IP, sorte de plaque d’immatriculation de votre PC/smartphone sur les internet
- [22/May/2025:...] la date
- "GET /cgi-bin..." la page web demandée, typiquement par une “méthode” "GET" suivi de par exemple de "/accueil" pour la page "example.com/accueil"
- quelques autres informations (code http, taille de la requête, etc)
- et un “User Agent” "Mozilla/5.0..."
Ce “User Agent”, c’est en quelque sorte le “passeport” de votre navigateur web : en gros, si vous ouvrez une page sur un smartphone, votre navigateur informe bien gentiment le site web “Bonjour, C’est Safari depuis un appareil sous iOS”
Et généralement, on sépare les connexions bienveillantes ou malveillantes via l’adresse IP, le User Agent (UA) ou les deux.
Par exemple, on verra venir toquer à notre porte un User-Agent “GoogleBot” : lui typiquement, on préférera le laisser rentrer, pour que notre site soit listé dans les résultats de recherche de google. Inversement, des adresses IPs venues de centres de données aléatoires auront tendance à être mal vues : c’est possiblement quelqu’un qui a déployé un “bot” (pour de bonnes ou de mauvaises raisons) et qui scanne notre site.
Le jeu donc, c’est à partir de ces simples informations, de trouver un pattern pour séparer le bon grain de l’ivraie. Et parce qu’on va pas réinventer la roue, il existe des listes toutes faites, voire même des logiciels de “comparaison”, pour faire ce travail pour nous.
Mais le web est en mouvement perpétuel. Donc des fois, certains passent entre les mailles du filet.
Alors, on ajuste les protections et on passe à autre chose.
Je me pose pas plus de questions.
Un jour comme un autre sur le web.
L’humour particulier de l’univers#
20 mai 2025, captain’s logs.
— Et toi nemecle, côté numérique, un truc à ajouter pour le rapport d’activité de 2024 ?
— Non non rien de spécial, du Maintien en Conditions Opérationnelles… Ah, si, on s’est fait défoncer par des bots en novembre, mais c’est bon c’est géré
Quelque part dans la grande machinerie de l’univers, un contrôleur se réveille en sursaut en entendant cette phrase, et ce faisant trébuche sur un levier.
Sarah Connor ?#
LA GUERRE DU WEB
pouet pouet
A COMMENCÉ
pouet pouet
ON SE BATTRA POUR LA GAGNER
ON SE BATTRA POUR LE GARDER
le lendemain, captain’s logs.
10h du matin, Je prends tranquillement mon café.
Ah. Le koha répond plus. Mais alors plus du tout cette fois.
Je fonce sans sourciller voir les logs du serveur, et là…

caméra 1 : les logs
Je sens que ce matin va être compliqué.
Les lignes défilent à raisons de plusieurs dizaines par secondes :
example.com 181.199.62.50 - - [21/May/2025:11:22:55 +0000] "GET /cgi-bin/koha/opac-search.pl?<a-long-query>" 302 3678 "-" "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 6.2; Trident/5.1)" example.com 172.56.171.179 - - [21/May/2025:11:22:54 +0000] "GET /cgi-bin/koha/opac-search.pl?<a-long-query>" 200 18284 "-" "Opera/9.40.(X11; Linux i686; se-NO) Presto/2.9.169 Version/12.00" example.com 45.229.90.10 - - [21/May/2025:11:22:55 +0000] "GET /cgi-bin/koha/opac-search.pl?<a-long-query>" 302 3678 "-" "Mozilla/5.0 (Windows; U; Windows NT 4.0) AppleWebKit/534.19.4 (KHTML, like Gecko) Version/5.0.5 Safari/534.19.4"
Bon. On panique pas. Dans cette purée de texte, il y a, quelque part, un pattern qu’il suffit d’identifier pour ajuster les protections.
Y a des dizaines de milliers d’adresses IP différentes. Voire des centaines de milliers. Jamais la même. Ah.
Et les fameux User-Agent ?…
— Bonjour, c’est la dernière version de chrome… Sous Windows 98 >:D !
— Hein ? Euh… Et toi ?
— Moi c’est Bob !
— Non mais—
— “Bonjour ! Moi c’est Chrome, sous Safari, version 15683, option Salade Tomate Oignon !
Et le pire dans tout ça ? Beaucoup (même si pas toutes) de ces IPs sont dites “résidentielles” : en termes plus simples, les connexions ne viendraient pas de serveurs, mais bien d’utilisateurices. Sauf que vu la gueule des user agents, c’est pas possible.

Bon.
Bon. Bon. Bon.
Une descente d’organe caféinée plus tard, je me ressaisix. J’étais par chance tombéx au fil des semaines sur des témoignages sur ces attaques d’un genre nouveau. Après quelques recherches, j’ai un plan de bataille : on va utiliser Apache Bad Bot Blocker pour trouver les salopards, et les rediriger vers iocaine : en gros, identifier les bots, et au lieu de les bloquer et de risquer qu’ils reviennent à la charge, leur servir de la merde.
Dans mon terminal, je garde une fenêtre qui m’affiche les logs qui défilent pendant que je travaille. Dans un rituel théâtral, je jette parfois un regard assassin à celle-ci de temps en temps. Tant que ça bouge, je continue.
Dans la marine, on insulte tout ce qui bouge et on reload tout ce qui ne bouge pas
[…]
3h du matin.
La tâche s’est révélée plus ardue que prévue : Koha, pour toutes les fonctionnalités qu’il a, reste un logiciel de niche et avec ses spécificités : les guides existants pour Apache Bad Bot Blocker, ainsi que les ressources de support, ne sont pas d’une grande aide pour mon cas particulier.
Le serveur est toujours sous assaut constant. J’ai les yeux qui font mal, et les lignes de configuration se brouillent devant moi. Ma gorge pique : à chaque rechargement un peu long, j’en profite pour me fumer une clope. J’en ai fumé beaucoup.
Je m’avale une canette, et m’endors, plus assomméx par les logs qui défilent que par l’alcool.
Un jour pour rien#
Le jour qui suit, je me réveille je me lève comme un diable en boite : généralement le désespoir chez moi, c’est plus une force motrice qu’un mur. Hormis une sortie sociale le soir, j’ai une journée complète devant moi, et pleins d’infos dans la tête. Un café, un petit dej, de la ritaline et on s’y lance.
[…]
2h du matin.
La journée n’a servie à rien. Je pensais que je me plantais dans l’installation de Apache Bad Bot Blocker, mais c’est pire que ça : c’est juste qu’il ne détecte pas ces bots là.
Une journée de perdue.
Je me rends à l’évidence : c’est pas possible de trier ces bots sur la base des IPs et des User Agents. Y a pas de pattern, point. les scrapers ont réussi à trouver la recette : exploiter des terminaux d’utilisateurices légitimes avec des User Agents générés aléatoirement. Je fais le lien avec des articles que j’avais vu passer : des entreprises vendent des solutions logiciels consistant à injecter dans des applications destinées au grand public du code permettant à des entreprises de payer pour passer par les appareils des gens pour scanner le webs.
Bilan : les logs ne sont plus que du bruit. Au sens statistique du terme. Y a rien à faire.
La seule solution, c’est de faire de l’heuristique : se baser sur le “comportement” des utilisateurices pour détecter les bots.
À ce stade je choisis l’option nucléaire. Demain, j’installe Anubis : un logiciel qui “soumet un challenge mathématique” lors de la connexion pour ralentir les utilisateurices qui spamment un peu trop un site. Plus tu tapes fort, plus le challenge est difficile. Une maizena numérique en gros.
Je voulais à tout pris éviter cette solution car une partie du public visée par le site n’est pas très au fait de l’outil numérique : alors voir apparaître une image d’anime lors de la connexion au koha, c’était le meilleur moyen de leurs faire peur.
Mais je suis fatiguéx, et le site est toujours hors-ligne… Pour les humains du moins.
Je me couche de la même manière que la nuit précédente.
Un diner en enfer (à emporter s’il vous plait)#
Capitaine ! Capitaine ! Vous n’êtes pas læ capitaine !
Je reprends le même petit déjeuner, et je me re-prépare pour une journée marathon.
2h…
Plus tard.
Une présence bienveillante apparaît sur mon écran : la mascotte d’Anubis. Coucou toi !
Une seconde après, mon navigateur affiche « Bienvenue sur le catalogue ! » pour la première fois depuis trois jours.
Anubis est installé. Ça a été beaucoup, beaucoup plus rapide que ce que je pensais.
Enfin.
Je ressens même pas de joie, même pas l’extasie de quand on règle un problème informatique habituellement, façon puzzle. J’envoie mécaniquement un mail de fin d’incident aux utilisateurices, et je reprends ma vie.
J’ai eu un contre-coup dans les jours qui ont suivi, Même en re-corrigeant l’hygiène de vie. Ça m’a pesé. J’en ai parlé avec mes proches. J’ai passé trois jours dans le trou, physiquement et moralement, et ça me travaillait.
J’ai eu l’impression de me faire bully hors du web. C’était très, très désagréable.
J’ai passé la semaine à saisir chaque occasion pour mettre en garde mes collègues techos et mes camarades : il y a des bêtes affreuses d’un genre nouveau qui rôde sur les mers du web. Il y a quelque chose de cassé, sur les internets.
Et évidemment, cet article s’inscrit dans cette démarche.
Épilogue : Le Charme discret de reddit#
Mettre en garde les collègues c’est bien, mais mettre en garde le grand public c’est mieux. Pour beaucoup de gens, l’informatique se fait toute seule : à l’ère du cloud, même quand on sait que “y a des gens qui travaillent dans ce domaine”, les arcanes de tölva sont impénétrables pour le commun des mortels.
Surtout que malgré toutes les prétentions de l’association et de mon activité, il s’agit d’un territoire à part de l’informatique : le “small web”. De l’informatique artisanale, loin des géants du web et leurs trillions de budget.
Alors je me fends d’un post sur le subreddit r/france : le but assumé, c’est sensibiliser au fait que le fer de lance du capitalisme de l’information ne touche pas que les artistes, traducteurices, designers… mais aussi les petites mains de l’informatique.
J’essaye de faire un poste pas trop chargé techniquement, mais sans non plus évacuer les enjeux techniques.
Quelle erreur.
Alors, le gros des réponses est “positif”, dans le sens où les gens répondent “aïe aïe aïe, mais quel enfer, force à toi”.
Mais j’ai aussi droit à une vingtaine de techos, qui, en dépit du style et de la structure de ce texte de mise en garde, le prennent pour un post-mortem technique.
Et vu que de la technique, y en a pas beaucoup dedans, c’est que j’ai pas dû en faire beaucoup.
« Non mais c’est juste des bots, faut vraiment rien y connaître pour croire que ça a quoi que ce soit à voir avec l’IA »
« Pfeuh, tout bon sysadmin sait qu’il suffit d’un simple fail2ban et— »
« Ah ! 1/3 des requêtes retournent un 302, c’est juste tes users qui sont bloqués dans une boucle, incompétentx va »
J’ai beau expliquer, que non, les techniques habituelles n’ont pas marché, que je suis pas la seule personne à faire ce constat, que non c’est pas des utilisateurices, que ça touche pour l’instant des services particuliers (git, wiki, et donc dans mon cas, un koha) du fait de leur valeur en terme de données, mais non. Rien n’y fait.
Nous sommes des cassandres numériques.
Donc voilà, j’ajoute ma pierre à l’édifice.
Et si vous voulez le reste de l'édifice, je vous mets quelques liens ici.
Bon vent sur les mers numériques.
Des témoignages d’assaut :
Please stop externalizing your costs directly into my face - Drew DeVault's blog
Botnet Part 2: The Web is Broken - Jan Wildeboer
L'IA et Forgejo - Dryusdan.space
L’utilisation d’IPs résidentielles pour scraper le web :
Hijacking Your Bandwidth: How Proxyware Apps Open You Up to Risk - trendmicro.com