Les changements de version notables :
– Debian 8 > Debian 13
– PHP7.1 > PHP8.4
– SPIP 3.2 > SPIP 4.4.13
– Sphinx 2.3 > Manticore 17.5
La nouvelle VM a les mêmes ressources que l’ancienne :
– Hyperviseur Proxmox
– RAM 24Go
– Processeur 6 cœurs
– Disque 650Go (NVMe)
Elle est hébergée sur Roubaix quand l’ancienne est à Gravelines. Nous allons ramener la nouvelle VM sur Gravelines d’ici quelques jours.
Un succès total, merci @biggrizzly !
Maintenant les gens vont pouvoir poster des webp... (même s’il y a certainement d’autres nouveautés que je n’ai plus en tête).
Au top ! Merci à vous qui vous y collez...
On voit sur ▻https://git.spip.net/groups/seenthis/-/activity que vous êtes bien peu à vous démener pour que ça tourne
谢谢
(car pour moi, c’est du chinois)
Je poste un svg sans faire râler le serveur !
je ne sais si cela est en rapport avec le bond technologique effectué mais un seen qui ne se présentait pas ainsi auparavant (?) est en ligne ▻https://seenthis.net/messages/1161496
J’aime vraiment @seenthis comme Cosmic Psychos Really Really Really Like Beer
Sinon, la prochaine étape, c’est le datacenter ? Non, parce que vu l’orientation que prennent certains ici, il va falloir s’y atteler ...
▻https://seenthis.net/messages/1162307
C’est exactement ce qu’on a vécu avec le Minilecte hier :
@colporteur comme je le disais plus haut, suite au passage en #SPIP 4 @seenthis prend enfin en charge les images webp.
oui, bravo et merci à tou·te·s !
pour la rénovation, bien sûr, mais aussi, pour le quotidien
sans parler, des concepteurs/ conceptrices aux petites mains, qui ont pondu les mécaniques et les algos qui font tourner tout ça
Les emails doivent être de retour.
J’ai réalisé deux sélections d’IP louches. Cela a représenté une moisson de 22000 IP.
Potentiellement, une des sélections peut avoir inclus les adresses IP de personnes fréquentant SeenThis en mode non-connecté. J’espère que vous n’en faites pas partie. N’hésitez pas à le signaler par un canal ou un autre...
La charge du serveur est divisée par 2. Et j’espère que les gros pics d’indisponibilité vont avoir été bloqués, eux aussi.
Par contre ce matin, impossible d’accéder à la page d’accueil ni aux liens diffusés par le mail de @7h36.
Super bravo et mille mercis pour ce travail inestimable ! Apprécié vraiment à sa juste valeur qui est immense.
❤️
Et c’est quoi les canaux parallèles @biggrizzly ? À qui on s’adresse en cas be black-out de @seenthis comme le week-end dernier. J’ai pas trop insisté, enfin je me suis connecté avec un autre appareil pour conclure que ça venait de #Seenthis et de son déménagement. à Roubaix (encore LFI qui fout la merde Guiraud grand favori pour le second tour avec 46,64% (8560 voix pour 62,38% d’abstention).Hier tout semblait être revenu à la normale, comme avant que vous changiez de machine. Mais ce mardi, voilà que ça recommence
502Gateway (connexion impossible) ça commençait à branler du manche début mars déjà. Je crois que je vais faire une pause quelques temps. Le beau temps revient, je vais aller faire un tour plutôt que de me prendre la tête avec vos problèmes techniques
Désolé pour le #blacklistage @vanderling c’est parfois compliqué de ne pas moissonner trop large. J’ignore quels pourraient être les canaux parallèles. Mastodon ? J’y suis, et d’autres ici y sont. Tu aurais pu insister, j’aurais tâché de corriger plus vite mon empressement à bloquer les #botnets.
Si j’ai bien compris @biggrizzly tu as mon adresse IP, donc je ne suis pas un botnet. J’ai bien repéré @monolecte @davduf @7h36 S. Bortzmeyer… sur Mastodon/Piaille mais je ne suis que sur seenthis aucun autre compte ailleurs et surtout pas sur X ou autre Meta-bollocks. Enfin pour l’instant la connexion à l’air de tenir.
vos problèmes techniques
=> nos problèmes techniques à tout⋅es
Rappel : il n’y a pas de magie derrière seenthis, juste du code qui tourne sur une machine , et tout ça est géré par des humains pour d’autres humains qui aiment utiliser le bouzin :)
@vanderling, je n’ai pas compris que tu aies été spécifiquement bloqué. Cet après-midi, c’est tout le site qui a affiché l’erreur 502 pendant de longues minutes pour tout le monde, pas juste pour toi.
Parce qu’on a subi une attaque assez massive, avec 1000 machines avec chacune une dizaine de user-agent différents qui ont bloqué Seenthis. Ce que @biggrizzly a finalement réussi à bloquer.
▻https://seenthis.net/messages/1163113
Ce qui se passe, encore une fois, c’est qu’on se prend des passages absolument massifs de bots, avec des milliers de machines qui se branchent sur Seenthis et qui rendent son utilisation très lente voire totalement bloquée.
Et c’est justement l’une des principales raisons du déménagement de la semaine dernière : passer sur une machine plus moderne, ce qui permet à @biggrizzly d’accéder à des outils plus précis et performants pour identifier ces attaques et les bloquer. Ce qu’il fait au fur et à mesure, c’est évidemment ça ne va pas se faire du jour au lendemain, encore aujourd’hui lui et @b_b ont discuté de configurations (auxquelles je ne comprends pas grand chose) pour améliorer la détection de ces bots.
Il faut donc comprendre que le déménagement n’était que la première étape pour qu’ils disposent d’outils (impossibles à installer sur l’ancienne machine) pour pouvoir mieux contrer ces passages massifs de bots, et au fur et à mesure mettre en place les contre-mesures techniques. Mais forcément, ça va se faire au fur et à mesure.
–---
Signalons aussi que Seenthis est sur une seule machine, et qu’avec un seul serveur on tente de bloquer les bots qui, eux, viennent de centaines de machines en même temps. Le souci écologique est clairement de notre côté…
Vous faites un sacré boulot en tout cas, vu de mon passif dev puis admin puis enseignant-chercheur (et bientôt retraité, youpiiiii !), je loue votre constance. Osana et toutes ces sortes de choses. Longue vie à seenthis.
En fin de semaine dernière, j’ai étudié les IP qui se connectaient, et tenté de détecter un schéma de consultation qui permettrait de décider qu’une IP est un bot. J’ai décidé un petit peu rapidement que les IP qui consultent certaines pages sans être connecté étaient des bots. Ça m’a permis de bloquer 10000 IP distinctes, et je ne me suis rendu compte que je m’étais auto-bloqué à mon domicile qu’au moment de couper le VPN pro... Il m’a fallu le WE pour m’en rendre compte, et encore 24 heures de plus pour décider de supprimer ces 10000 IP du firewall ; parfois, je suis lent à la détente. Je ne connais donc pas ton IP en particulier @vanderling, mais par contre, ton IP peut se retrouver au milieu de milliers d’autres sans autre raison qu’une erreur de jugement de l’un d’entre nous, et comme c’est moi en ce moment en particulier qui m’y colle, et bien voilà.
Aujourd’hui, dans l’après-midi, nous avons, comme le relate @arno, eu à gérer un millier d’IP particulièrement sauvages, qu’il a heureusement été relativement facile d’identifier, au moyen des nouveaux outils d’analyse des logs, que nous avons enfin pu mettre en place, du fait de la nouvelle machine.
Tout ce que nous avons fait ces dernières semaines nous permet de relancer des projets d’évolution, qui avaient été à tort laissés de côté. Travailler sur un environnement obsolète, ça ne motive pas forcément pour réaliser des évolutions, et quand je constate que nous avons entamé l’installation de ce nouvel environnement il y a déjà 2 ans, je me dis que mieux vaut tard que jamais... mais on pourrait sans doute être un petit peu plus efficace ! :-))
Entre autres travaux de fond, que nous avons pu commencer, merci @b_b pour ta disponibilité et ton accompagnement, nous tâchons d’optimiser et d’isoler certains traitements présents dans le code de SeenThis et de SPIP qui normalement ne posent pas de difficultés, mais qui lorsque les bots agressifs deviennent la normalité sont de vraies failles de sécurité pour la stabilité de l’environnement. Je pense par exemple à la façon dont SeenThis calcule les blocages de comptes. Quand il est nécessaire de calculer la page d’accueil d’une page /people/, les requêtes effectuées sur la base de données sont peu performantes, en particulier quand le people en question bloque beaucoup de monde. Ces requêtes sont probablement améliorables. Et toute amélioration assure que la prochaine attaque fera moins de dégâts, et ce sans nécessité de rajouter des ressources (processeur, mémoire...).
Ci-dessous, le nombre de processus simultané qui servent des pages pour SeenThis. En général, on sert moins de 20 pages en même temps. Quand la barre est toute rouge, cela signifie qu’on a 100 processus qui tournent en même temps. Et ce sont ces moments où on se retrouve bloqué, à ne rien pouvoir lire ni publier, avec des erreurs 502, des gateway time-out, etc.
Le botnet était passé, visiblement, déjà une fois dans la nuit. Puis à nouveau dans l’après-midi. On constate qu’une fois le blocage en place, le serveur est revenu dans le vert, sans dépasser les 40 processus actifs. Pourvu que ça dure !
Je ne mesure pas la tache du problème mais je plussoie à vos efforts et à votre perspicacité pour faire tourner la boutique ainsi que la maintenance de ce formidable rézo. J’y passe bcp de temps, trop peut-être mais bon je ne vais quand même pas aller travailler. V’là le printemps qui pointe, je préfère laisser mon temps de cerveau aux petits oiseaux ou sur seenthis. @biggrizzly @arno @b_b
des nouveaux outils d’analyse des logs
@biggrizzly, quels sont ces nouveaux outils, j’ai des problèmes similaires.
Les gens qui vous occupez du « bouzin », vous menez un combat d’arrière-garde et vous faites partie de l’obsolescence programmée par les instances IA/LLM et c’est pour ça qu’on vous aime :-)) Maintenant, quand ça rame, je me dis qu’il faut savoir patienter et revenir plus tard car je sais que vous êtes au charbon pour décoincer tout ça. Force à vous et grand merci pour votre investissement personnel ! 🖤🖤🖤
@george : nous utilisons des outils à la fois artisanaux, et industriels.
Industriels : nous transférons les journaux du serveur web dans un entrepôt de donnée de type ElasticSearch (ELS). Ce transfert n’est pas naturel, il faut disposer d’un format de log plus ou moins normalisé, et créer un index dans ELS pour recevoir ces données, puis générer des visualisations et des tableaux de bord, pour analyser ces données.
Artisanaux : L’analyse dans ELS est réalisée à la main. Pas d’automatisme actuellement. Il faudrait ajouter de l’intelligence à tout cela, des automatismes, pour détecter les comportements manifestement malveillants, et les bloquer dans le pare-feu sans intervention humaine. Mais là, il faudrait faire le travail que fait CloudFlare par exemple.
Et puis il y a le fait que ce n’est pas logique de décider de bloquer le monde entier, parce que le monde entier est utilisé comme un botnet.
Si tu as des soucis sur un petit site, je conseille d’installer Anubis. C’est une solution à moindre coût et qui rend le service attendu dans la plupart des cas.
▻https://github.com/TecharoHQ/anubis
Peut-être qu’ici aussi on y arrivera... :-/
J’ai installé Anubis sur un serveur avec un site moyennement fréquente mais a part le ralentissement j’ai l’impression que les bots réussissent à le traverser.
J’ai du m’y reprendre à 3 fois, du fait que LibreOffice, pour manipuler 10000 lignes, c’est décidément beaucoup moins performant que de le faire avec Excel. C’est même carrément source d’erreurs de calculs. Pénible et décevant.
Bref, j’avais 10000 adresses IP candidates. Il fallait tout de même que je retire les adresses susceptibles d’être de vrais utilisateurs. Par exemple cette adresse IP Orange, avec 3 ou 4 user-agent différents, et 10 ou 20 pages consultées seulement... par exemple.
J’ai bloqué, finalement, seulement 8700 adresses IP de plus. De longues séries de blocs d’IP avec quelques requêtes, et un nombre équivalents de user-agent distincts. Il se peut qu’on soit tranquille pour quelques jours avec ce dernier filtrage. On verra.
Comme je le disais hier soir : « jusqu’à la prochaine fois ».
A priori, on a gagné, donc, un répit de quelques jours/semaines. Les processeurs vont moins travailler, et on va moins avoir envie de réécrire certaines fonctionnalités.
La formule « nombre de user-agent distincts » vs « nombre de requêtes » vs « nombre d’ip sur la même classe B » semble fonctionner.
Je viens de collecter à nouveau des IP sur la base de ces critères sur les dernières 24 heures. 8200 adresses IP bloquées.
– critère 1 : « nombre de requêtes » / « nombre de user-agent distincts » < 5
– critère 2 : « nombre d’ip sur la même classe B » > 5
Notre second ipset contient désormais 61K adresses IP distinctes.
Pour rappel, le premier ipset a été construit l’an dernier, il contient 1,5M d’adresses IP distinctes, et les IP ont été découvertes du fait qu’elles réclamaient des URLs invalides.
Le serveur vit bien mieux sans ces 61K adresses, vous l’aurez constaté, du fait qu’il n’y a pour ainsi dire quasiment plus de lenteurs. Nous allons probablement pouvoir rouvrir la porte aux vrais bots.
Pool FPM sur les 5 derniers jours :