Vue normale
-
Liens en vrac de sebsauvage
- 4A Games are giving away Metro 2033 Redux free for 48 hours | GamingOnLinux
4A Games are giving away Metro 2033 Redux free for 48 hours | GamingOnLinux
Y'a Metro 2033 Redux *gratuit* en ce moment sur GOG et Steam.
Dépechez-vous d'aller récupérer cet excellent FPS !
(Permalink)
-
Liens en vrac de sebsauvage
- La France reconnait désormais la démoscène comme patrimoine culturel - Next
La France reconnait désormais la démoscène comme patrimoine culturel - Next
(Permalink)
[Anubis] Utiliser la preuve de travail pour bloquer les robots
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 mois dernier, j’avais donc montré comment j’avais du en arriver à bloquer des pays entiers au niveau pare-feu. La solution ne me plaisait pas car elle exclue également tous les utilisateurs légitimes de ces pays. Aussi, ça voudrait aussi dire que les entreprises scannant illégitimement le web auraient gagné.
De plus, chaque jour, le spam venait de nouveaux pays au point où je n’avais whitelisté que la France. J’en étais arrivé au point où j’avais totalement coupé mon instance Gitea, et je la démarrai juste quand j’avais besoin de commit un truc …
Mais ça, c’était en attendant une solution plus pérenne que j’ai pu mettre en place la semaine dernière.
Présentation d’Anubis
Anubis est le fruit de l’exaspération de Xe Iaso par ces crawlers d’IA qui ne respectent rien. Le code source est disponible ici.
Il s’agit un reverse-proxy écrit en Go qui exige la résolution d’un défi de preuve de travail (Proof of work en anglais). Si le défi est réussi, alors l’accès au service est autorisé et un cookie est déposé pour autoriser directement les prochaines requêtes.
L’outil est encore très jeune, mais déjà utilisé pour protéger des sites de l’UNESCO, le dépôt Git de kernel.org, le Gitlab de GNOME, etc…
Mise en place avec Traefik
Tout d’abord, voici comment ça va marcher:
- Traefik reçoit une requête à destination de
git.pofilo.fr
. - Il la transmet au service Anubis.
- Anubis s’assure que l’émetteur de la requête est autorisé (via la preuve de travail ou le cookie).
- Si c’est le cas, il la transmet à Gitea via un entrypoint dédié.
Ajout de l’entrypoint
Il s’agit d’un entrypoint local à ne pas exposer sur le réseau public, c’est lui que l’instance Gitea va désormais écouter.
Dans ma conf statique de Traefik, j’ai donc:
1entryPoints:
2 web:
3 address: :80
4 http:
5 redirections:
6 entryPoint:
7 to: websecure
8 scheme: https
9 websecure:
10 address: :443
11 anubis:
12 address: :3923
Ajout du service
Il faut désormais ajouter le service Anubis.
Dans mon cas, je le dédie à mon instance Gitea, de ce fait, je peux avoir plusieurs instances Anubis avec diverses configurations pour protéger différents services avec des règles différentes.
1services:
2 gitea-anubis:
3 image: ghcr.io/techarohq/anubis:latest
4 environment:
5 BIND: ":8080"
6 DIFFICULTY: "4" # Fast successful response with most devices, 5 is way more slow
7 SERVE_ROBOTS_TXT: "false" # I prefer my own robots.txt from Gitea service (supposed to block every user agents)
8 TARGET: "http://traefik:3923"
9 ED25519_PRIVATE_KEY_HEX_FILE: "/etc/private_key_hex_file"
10 POLICY_FNAME: "/etc/botPolicies.json"
11 labels:
12 - "traefik.enable=true"
13 - "traefik.docker.network=traefik"
14 - "traefik.http.services.gitea-anubis.loadbalancer.server.port=8080"
15 - "traefik.http.routers.gitea-anubis.rule=Host(`git.pofilo.fr`)"
16 - "traefik.http.routers.gitea-anubis.entrypoints=websecure"
17 # TLS and security
18 - "traefik.http.routers.gitea-anubis.tls=true"
19 - "traefik.http.routers.gitea-anubis.tls.options=intermediate@file" # this is the conf generated with https://ssl-config.mozilla.org/
20 - "traefik.http.routers.gitea-anubis.middlewares=nocsp-headers@file" # this is the conf I used for headers
21 networks:
22 - traefik
23 volumes:
24 - ../path/to/private_key_hex_file:/etc/private_key_hex_file:ro
25 - ../path/to/botPolicies.json:/etc/botPolicies.json:ro
26networks:
27 name: traefik
28 external: true
Du côté de mon service Gitea, je remplace - "traefik.http.routers.gitea.entrypoints=websecure"
par - "traefik.http.routers.gitea.entrypoints=anubis"
.
Il faut également que je retire ce genre de lignes (tout est désormais géré par le routeur dédié au service Anubis):
1# TLS and security
2- "traefik.http.routers.gitea.tls=true"
3- "traefik.http.routers.gitea.tls.options=intermediate@file"
4- "traefik.http.routers.gitea.middlewares=nocsp-headers@file"
Concernant:
- L’image Docker: personnellement je fixe les versions et j’utilise mon propre registre d’images.
ED25519_PRIVATE_KEY_HEX_FILE
: ça permet de ne pas re-challenger les clients si je redémarre l’instance d’Anubis (le cookie expire tout de même après 1 semaine).POLICY_FNAME
: je vais en parler dans le prochain paragraphe.- Pour le reste, je ne rentre pas trop dans les détails, chacun a différents besoin et j’ai donc essayé de rester suffisament générique.
Par exemple, si on ne veut qu’une seule instance d’Anubis, pour matcher toutes les règles (et jouer sur les priorités), on pourrait utiliser une règle du type:
- traefik.http.routers.anubis.rule=PathRegexp(`.*`)
Le fichier de conf des “policies”
La version par défaut est trouvable ici et la documentation ici. Personnellement, je suis parti du principe que:
- Mon fichier
robots.txt
est censé bloqué tout type de bots. - Je n’en ai rien à carrer de donner à manger à des IA, et encore moins quand je leur interdis déjà explicitement.
- J’ai déjà perdu trop de temps avec ces problèmes, donc on va au plus simple et surtout plus efficace.
Au final, j’interdis globalement tout ce qui ressemble à un bot/crawler et je force le challenge à tout les autres (sauf pour l’accès au fichier robots.txt
pour ceux qui le respectent encore).
1{
2 "bots": [
3 {
4 "name": "robots-txt",
5 "path_regex": "^/robots.txt$",
6 "action": "ALLOW"
7 },
8 {
9 "name": "internal-traffic",
10 "remote_addresses": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],
11 "action": "ALLOW"
12 },
13 {
14 "name": "generic-challenging",
15 "user_agent_regex": "(?i)(bot|spider|crawl|fetch|scrapy|wget|curl|python-requests|libwww|Java|Go-http-client)",
16 "action": "CHALLENGE",
17 "challenge": {
18 "difficulty": 16,
19 "report_as": 4,
20 "algorithm": "slow"
21 }
22 },
23 {
24 "name": "ai-bots",
25 "user_agent_regex": "(?i)(AI2Bot|Ai2Bot-Dolma|Amazonbot|anthropic-ai|Applebot|Applebot-Extended|Brightbot 1.0|Bytespider|CCBot|ChatGPT-User|Claude-Web|ClaudeBot|cohere-ai|cohere-training-data-crawler|Crawlspace|Diffbot|DuckAssistBot|FacebookBot|FriendlyCrawler|Google-Extended|GoogleOther|GoogleOther-Image|GoogleOther-Video|GPTBot|iaskspider/2.0|ICC-Crawler|ImagesiftBot|img2dataset|imgproxy|ISSCyberRiskCrawler|Kangaroo Bot|Meta-ExternalAgent|Meta-ExternalFetcher|OAI-SearchBot|omgili|omgilibot|PanguBot|Perplexity-User|PerplexityBot|PetalBot|Scrapy|SemrushBot-OCOB|SemrushBot-SWA|Sidetrade indexer bot|Timpibot|VelenPublicWebCrawler|Webzio-Extended|YouBot)",
26 "action": "CHALLENGE",
27 "challenge": {
28 "difficulty": 16,
29 "report_as": 4,
30 "algorithm": "slow"
31 }
32 },
33 {
34 "name": "default",
35 "user_agent_regex": ".*",
36 "action": "CHALLENGE"
37 }
38 ]
39}
Suppression des logs d’accès sur Anubis
Avec mon instance Gitea de nouveau debout, mes fichiers de logs d’accès explosent. Or avec Traefik, il n’y a pas moyen de ne pas loguer les accès pour un seul service, c’est tout ou rien.
J’ai donc mis en place une simple tâche cron qui va faire la commande sed
pour supprimer tous les logs sur le service Anubis:
sed -i '/"gitea-anubis@docker"/d' /path/to/traefik-access.log && docker kill --signal="USR1" traefik > /dev/null 2>&1
Il faut également envoyer le signal USR1
à Traefik afin qu’il ré-ouvre le fichier de log de son côté.
Ce n’est pas parfait, parce que ça me supprime les IP entrantes dans les logs d’accès de Gitea (du point de vue de Traefik, le trafic provient d’Anubis via l’entrypoint dédié), mais ça évite de générer plusieurs centaines de Mo de logs pour rien chaque jour.
Conclusion
C’est très dommage de devoir faire ça, mais ça protège réellement mon serveur sans avoir à bloquer des pays entiers. Ça demande également des calculs “inutiles” (dans le sens où ils ne servent pas à quelque chose d’utile derrière) à chaque nouveau client, mais peut-on encore parler de sobriété face à ce que consomme l’entraînement des IA ?
À noter également que pour l’instant, Anubis rend le Javascript obligatoire. C’est un point à prendre en compte dans le choix de mettre Anubis devant un service.
Pour finir, dans cet article, je montre comment j’ai configuré Anubis avec Gitea, mais on voit qu’on peut très facilement l’adapter à d’autres services. J’ai par exemple rajouté Anubis sur ce site pour éviter que les IA y volent le contenu sans mon accord.
CERT-FR : de nombreux firewalls Fortinet compromis en France, malgré les correctifs !
Alerte de sécurité firewalls FortiGate : des cybercriminels exploitent une technique pour maintenir un accès furtif, même lorsque les correctifs sont appliqués.
The post CERT-FR : de nombreux firewalls Fortinet compromis en France, malgré les correctifs ! first appeared on IT-Connect.
SEO 2025 : les tendances incontournables pour dominer les moteurs de recherche
Découvrez les tendances SEO 2025 pour optimiser votre site web. Contenus de qualité, IA, GEO, on vous dit tout.
The post SEO 2025 : les tendances incontournables pour dominer les moteurs de recherche first appeared on IT-Connect.
La version gratuite de VMware ESXi est de retour ! Voici comment en profiter !
L'hyperviseur bare-metal de la suite VMware vSphere, à savoir VMware ESXi, est de retour en version gratuite avec la version 8.0 Update 3e.
The post La version gratuite de VMware ESXi est de retour ! Voici comment en profiter ! first appeared on IT-Connect.
Confidentialité : Google Chrome 136 enterre un problème de sécurité vieux de 20 ans !
Google Chrome 136 s'apprête à intégrer une amélioration pour corriger une faille portant atteinte à la confidentialité, à cause du sélecteur CSS visited.
The post Confidentialité : Google Chrome 136 enterre un problème de sécurité vieux de 20 ans ! first appeared on IT-Connect.
-
IT-Connect
- Patch Tuesday d’avril 2025 : votre Active Directory est-il prêt pour la validation du PAC ?
Patch Tuesday d’avril 2025 : votre Active Directory est-il prêt pour la validation du PAC ?
Comment analyser et anticiper les effets du Patch Tuesday d'avril 2025 au niveau du PAC de Kerberos dans un environnement Active Directory ? Voici nos conseils.
The post Patch Tuesday d’avril 2025 : votre Active Directory est-il prêt pour la validation du PAC ? first appeared on IT-Connect.
PrivateBin : comment déployer votre propre PasteBin sur un serveur ?
PrivateBin est une alternative open source à PasteBin, une application très utile pour partager des mots de passe et bouts de code en toute sécurité.
The post PrivateBin : comment déployer votre propre PasteBin sur un serveur ? first appeared on IT-Connect.
-
Journal du Net : A la Une
- Le nombre de morts va grimper en flèche dans cette région française d'ici quelques années
-
Journal du Net : A la Une
- Voici ce qui se trouve réellement sous vos pieds de l'autre côté de la Terre - Ce n'est ni la Chine, ni l'Australie
Comment Google utilise ses téléphones Pixel et l'IA pour parler aux dauphins
-
Liens en vrac de sebsauvage
- OneDrive clients for Windows, Mac still broken 10 months on • The Register
OneDrive clients for Windows, Mac still broken 10 months on • The Register
(Permalink)
Goossips SEO : Hreflang, Outil de désaveu
Quelques infos sur Google (et Bing parfois) et son moteur de recherche, glanées ici et là de façon officieuse ces derniers jours, avec au programme cette semaine quelques réponses à ces angoissantes questions : quelles sont les conséquences de balises hreflang pointant vers des pages redirigées en 301 ? L'outil de désaveu peut-il être considéré comme une solution de maintenance pour les sites ?
Les balises hreflang pointant vers des pages redirigées sont probablement acceptables
Selon John Mueller, les balises hreflang pointant vers des pages avec une redirection 301 sont « probablement acceptables ». Cependant, il recommande d'automatiser la configuration des balises hreflang pour éviter les redirections, ce qui facilite au passage le suivi et réduit les risques liés aux problèmes de canonicalisation.
Source : Search Engine Roundtable
Taux de fiabilité : On a quelques doutes...
En effet, même si certaines solutions techniques fonctionnent en l’état, l’idéal reste encore de faire les choses proprement. D’autant que John Mueller évoque ici un « probablement acceptable » qui laisse une belle place au doute.
Goossip #2
L’outil de désaveu de liens n’est pas un outil de maintenance de site
Lors d’un événement Search Central à New York, John Mueller a précisé que l’outil de désaveu n’était pas destiné à un usage régulier et ne fait pas partie de la maintenance normale d’un site. Par ailleurs, il a insisté sur le fait que Google ne reconnaît pas la notion de « backlinks toxiques », terme inventé par certains outils SEO. Le désaveu ne devrait être utilisé que dans certains cas extrêmes, comme lorsqu’un site a acheté des liens et subit une action manuelle pour spam. En règle générale, Google ignore les liens douteux automatiquement.
Source : Search Engine Journal
Taux de fiabilité : On est d'accord !
Derrière la déclaration de John Mueller, qui ne manque jamais une occasion pour rappeler que l’outil de désaveu de liens est utilisé en dépit du bon sens, il y a aussi l’idée encore répandu qu’un mauvais classement serait nécessairement lié à un problème de liens toxiques. Dans la plupart des cas, l’explication se trouve souvent ailleurs : contenu de mauvaise qualité, problèmes techniques…
L’article "Goossips SEO : Hreflang, Outil de désaveu" a été publié sur le site Abondance.
-
Liens en vrac de sebsauvage
- Hertz s’est fait dérober des données clients : permis, passeports, cartes de crédit… - Next
Hertz s’est fait dérober des données clients : permis, passeports, cartes de crédit… - Next
(Permalink)
Boxedwine – Linux Emulator that runs WINE
C'est une appli en wasm (donc javascript) qui tourne dans le navigateur.
Qui émule un processeur Intel 32 bits.
Dans lequel tourne Linux.
Dans lequel tourne Wine.
Dans lequel des jeux et applications Windows sont lancés.
Donc tout cela sert à faire tourner des applications Windows directement dans un navigateur.
(bon que des applis windows 32 bits)
C'est tordu mais j'admire la prouesse.
(Permalink)
GPT-4.1 est disponible, mais pas pour tout le monde
-
ZDNETZDNET
- Samsung dévoile deux smartphones robustes et avec IA : Galaxy XCover7 Pro et Galaxy Tab Active5 Pro
Samsung dévoile deux smartphones robustes et avec IA : Galaxy XCover7 Pro et Galaxy Tab Active5 Pro
-
ZDNETZDNET
- ZDNET Morning 15/04/2025 : Parler aux dauphins ? La Cnil en Europe, Loi datacenter en France,...