Nouveaux utilisateurs jamais vus ou activés

Je cherche à identifier une affluence massive de comptes spam sur notre forum Discourse. Il y a un grand nombre (des centaines !) de comptes récemment créés qui n’ont jamais été « Vus » et qui ne sont pas encore « Activés » — comment cela est-il possible ? Utilisent-ils une API pour créer les comptes ? Ou créent-ils le compte sans jamais se connecter ? Cela semble être un signal très fort indiquant que ces comptes sont du spam, mais je ne sais pas ce que cela implique concrètement ni si je peux filtrer selon ce critère pour les supprimer en masse.

Y a-t-il une interface utilisateur permettant de trouver et d’épurer ces comptes jamais vus et/ou inactifs ? Peut-être que cela devrait ou pourrait se faire automatiquement après un délai assez long ?

3 « J'aime »

Il semble qu’il existe une solution. Je crois que cela est effectué automatiquement après un certain nombre de jours pour les comptes non activés, une période que vous pouvez régler sur moins ou plus de jours :

3 « J'aime »

S’il s’agit d’une vague récente d’inscription, je parierais sur des bots de toutes sortes… une grande partie d’Internet est actuellement victime de tentatives massives de création de comptes automatisées… Ces comptes resteront inutiles tant qu’ils ne sont pas activés, donc je ne vois pas vraiment pourquoi quelqu’un les créerait pour ensuite les abandonner.

Quelqu’un a créé un compte, mais n’a jamais vérifié l’e-mail, il ne peut donc pas se connecter. Sans activation, un compte n’aura jamais d’enregistrement de présence (« seen record »).

Discourse est essentiellement une grande API, il est donc possible d’accéder directement aux mêmes points de terminaison (« endpoints ») utilisés par l’interface pour créer un compte. Il est bien sûr possible d’automatiser le processus, même si la personne qui le fait devra contourner les limites de débit (« rate limits ») pour créer de nombreux comptes rapidement.

Dans admin/users/list/new, il existe un filtre « non activés »

À partir de là, vous pouvez cliquer sur l’icône située au-dessus des avatars dans l’en-tête du tableau pour activer la sélection multiple. Vous pouvez supprimer les comptes de cette manière si nécessaire.

Par défaut, Discourse supprimera automatiquement ces comptes après 14 jours s’ils n’ont aucun message. Le paramètre de site concerné est purge_unactivated_users_grace_period_days.

Si vous sélectionnez l’un de ces utilisateurs et accédez à sa page d’administration, vous pouvez également utiliser le bouton « Recherche par IP » pour voir les comptes associés à la même adresse IP. Si plusieurs comptes sont associés, une option de suppression groupée s’affichera :

Vous ne devriez pas avoir besoin d’intervenir manuellement et pouvez compter sur la purge automatique… mais il peut être utile de surveiller la situation s’il y a beaucoup de comptes ou si certains sont activés pour créer du spam.

Y a-t-il des schémas récurrents ? Même emplacement ? Même IP ? Même domaine d’adresse e-mail ? Vous pouvez envisager d’ajouter des protections supplémentaires s’il existe des indices de spam identifiables.

6 « J'aime »

Merci Kris ! Malheureusement, cela m’a aussi été très utile. Nous avons également connu récemment une vague de nouveaux utilisateurs qui étaient clairement des spams. Depuis le 16/10, nous avons eu 268 utilisateurs qui se sont tous inscrits depuis la même adresse IP, avec des noms d’utilisateur composés d’un « b » suivi d’une série de chiffres aléatoires (b123456789).

Pas cool

1 « J'aime »

Nous avons eu la même expérience… 266 comptes récemment depuis 89.124.71.104.

Lorsque j’ai voulu en bloquer un, l’interface graphique me permettait de sélectionner manuellement 10 autres utilisateurs à suspendre, mais pas tous. Il serait pratique d’avoir un bouton « Tout », plutôt que de sélectionner 10 utilisateurs, puis de répéter l’opération 25 fois.

À moins qu’il n’existe déjà une meilleure façon de suspendre en masse ?

2 « J'aime »

Une autre solution pourrait être d’autoriser ici « et supprimer tous les comptes non confirmés provenant de la même IP »

2 « J'aime »

Oubliez ça… Je suis aveugle. Il y a une option « Tout sélectionner » qui permet de supprimer 100 utilisateurs à la fois.

Je n’avais simplement pas vu le bouton qui affichait les [ ] à côté des utilisateurs.

4 « J'aime »

Ce qui est amusant, c’est que c’était aussi l’IP derrière la mienne.

2 « J'aime »

Ces vagues bienveillantes pourraient-elles provenir d’une chose semblable à une application OAuth [1] que ce qui vient de se passer sur Mastodon ? Les symptômes sont très similaires.


  1. note : évidemment, je n’y connais absolument rien au fonctionnement des applications OAuth ↩︎

Cet utilisateur l’a également signalé. Serait-il justifié de bloquer préventivement cette adresse IP pour tous les clients ?

C’est exactement ce qui a motivé cette question, oui ! Au moins 193 ici. Nous avons également eu une autre nuée de quelques dizaines d’autres comptes de bots qui ont atteint le TL1, puis ont envoyé 20 messages privés chacun — c’est en cherchant davantage de ces comptes que j’ai remarqué les comptes b123456789.

1 « J'aime »

Mise à jour : même après avoir bloqué cette IP, je vois plusieurs nouveaux utilisateurs inscrits avec le même modèle de nom, mais depuis une IP différente. Il est temps de se pencher sur une solution de captcha :melting_face:

2 « J'aime »

Voici l’autre type de compte de spam : dans la nuit, une centaine de nouveaux comptes ont été enregistrés, tous avec exactement le même schéma de nom d’utilisateur/lecture :

Contrairement aux comptes bXXXX non activés, ceux-ci proviennent tous d’adresses IPv6 distinctes.

J’essaie reCAPTCHA v2 car il est gratuit. Je l’ai configuré en quelques minutes.

Définissez votre clé de site et votre secret, puis mettez à jour certaines valeurs ici : /admin/site_settings/category/discourse_captcha?filter=recaptcha

1 « J'aime »

Je vous recommande de surveiller ce genre de comptes. Nous avons subi plusieurs vagues de ce type ces derniers jours. Même schéma de noms, venant d’une poignée d’adresses IP.

Ils montent rapidement au niveau TL1 [« lecture » de 209 posts en 11 min …] pour pouvoir envoyer des messages privés de spam à des utilisateurs au hasard.

Quel type de messages envoie-t-il ? Y a-t-il une sorte de schéma @mbauman @Danika_Dakika ?

Il semble possible de lire plus de 50 messages en moins d’une minute sans consulter aucun sujet et sans même être vu ?

4 « J'aime »

Oui, chaque compte obtiendrait le niveau TL1, puis enverrait 20 messages privés (la limite quotidienne par défaut) aux auteurs de sujets contenant des messages comme :

Bonjour @mbauman

J’ai vu votre sujet sur “[titre du sujet]” — [argumentaire commercial et lien]

Nous avons resserré les limites des MP et tenté de mieux cibler cela. Ils semblent tous utiliser de nombreux domaines e-mail jetables distincts ; je réfléchis également à passer à une liste blanche d’hôtes e-mail beaucoup plus restrictive (en inversant la liste de blocage par défaut).

2 « J'aime »

Tu pourrais configurer des filtres de mots surveillés et/ou des flux de travail pour examiner le contenu des messages privés et le signaler.

Hmm, as-tu baissé les paramètres pour le niveau 1 (TL1) ?

Il est possible de peupler « posts lus » de cette manière sans entrer dans les topics (via l’API), mais si tl1_requires_topics_entered est réglé sur la valeur par défaut de 5, ces comptes ne devraient pas pouvoir atteindre le niveau TL1