Neue Nutzer, die nie „Gesehen“ oder „Aktiviert“ waren

Ich versuche, eine große Welle von Spam-Konten in unserem Discourse-Forum zu analysieren. Es gibt eine hohe Zahl (hunderte!) von kürzlich erstellten Konten, die nie „Gesehen“ wurden und noch nicht „Aktiviert“ sind – wie kann das passieren? Verwenden sie eine API zur Erstellung der Konten? Oder erstellen sie die Konten und melden sich dann nie an? Dies scheint ein sehr starkes Indiz dafür zu sein, dass es sich bei diesen Konten um Spam handelt, aber ich weiß nicht, was das genau bedeutet oder ob ich darauf filtern kann, um sie in Massen zu löschen.

Gibt es eine Benutzeroberfläche, um diese ungesehenen und/oder nicht aktivierten Konten zu finden und zu bereinigen? Vielleicht sollte so etwas automatisch nach einer längeren Verzögerung passieren?

3 „Gefällt mir“

Sieht aus, als gäbe es einen Weg. Ich glaube, das geschieht automatisch nach einer bestimmten Anzahl von Tagen für nicht aktivierte Konten, und diesen Zeitraum können Sie auf weniger oder mehr Tage einstellen:

3 „Gefällt mir“

Wenn es eine aktuelle große Welle ist, würde ich auf einen Bot irgendeiner Art tippen… das Internet wird mittlerweile regelmäßig mit Bots überflutet… diese Accounts sind jedoch nutzlos, solange sie nicht aktiviert sind, daher verstehe ich nicht ganz, warum jemand sie erstellen und dann einfach liegen lassen sollte.

Jemand hat einen Account erstellt, die E-Mail aber nie bestätigt und kann sich daher nicht anmelden. Ohne Aktivierung wird für einen Account niemals ein „Seen“-Eintrag verzeichnet.

Discourse ist eine einzige große API, sodass jemand direkt auf dieselben Endpunkte zugreifen kann, die auch die Oberfläche zum Erstellen eines Accounts nutzt. Das ist sicherlich automatisierbar, wobei der Ersteller dann allerdings Rate Limits umgehen müsste, um schnell viele Accounts anzulegen.

Unter admin/users/list/new gibt es einen Filter für „nicht aktiviert“

Von hier aus kannst du auf das Symbol über dem Avatar in der Tabellenkopfzeile klicken, um den Stapelauswahlmodus zu aktivieren. So kannst du bei Bedarf Accounts löschen.

Discourse löscht diese standardmäßig automatisch nach 14 Tagen, solange sie keine Beiträge haben. Die relevante Website-Einstellung ist purge_unactivated_users_grace_period_days.

Wenn du einen der Benutzer auswählst und zu seiner Admin-Seite gehst, kannst du auch die Schaltfläche „IP-Lookup“ nutzen, um Accounts anzuzeigen, die mit derselben IP-Adresse verknüpft sind. Falls mehrere Accounts zugeordnet sind, wird dir die Option zum Löschen angezeigt:

Du solltest nichts manuell tun müssen und dich auf die automatische Löschung verlassen können… aber es könnte sich lohnen, ein Auge darauf zu werfen, falls es viele Accounts gibt oder einige zur Spam-Erstellung aktiviert werden.

Gibt es Muster? Derselbe Standort? Dieselbe IP-Adresse? Dieselbe E-Mail-Domain? Wenn es ein erkennbares Muster gibt, kannst du in Erwägung ziehen, weitere Schutzmaßnahmen zu implementieren.

6 „Gefällt mir“

Danke, Kris! Das war leider auch für mich sehr hilfreich. Wir hatten gerade auch einen Anstieg von neuen Benutzern, die eindeutig Spam waren. Seit dem 16.10. haben wir 268 Benutzer, die sich alle mit derselben IP-Adresse angemeldet haben, mit Benutzernamen wie b und einer Reihe zufälliger Zahlen (b123456789).

Nicht cool

1 „Gefällt mir“

Wir hatten dieselbe Erfahrung… 266 Konten kürzlich von 89.124.71.104

Als ich versuchte, eines zu blockieren, erlaubte die GUI mir, manuell 10 weitere Benutzer zur Suspendierung auszuwählen, aber nicht alle. Es wäre schön, wenn es einen „Alle“-Button gäbe, anstatt jedes Mal 10 auszuwählen und dies noch 25 weitere Male wiederholen zu müssen.

Oder gibt es bereits eine bessere Möglichkeit für die Massen-Suspendierung?

2 „Gefällt mir“

Eine andere Lösung könnte sein, hier „und alle nicht bestätigten Konten derselben IP-Adresse löschen“ zu erlauben

2 „Gefällt mir“

Vergiss es… Ich war blind. Es gibt eine „Alle auswählen“-Option, um die Löschung von 100 Benutzern gleichzeitig zu ermöglichen.

Ich hatte nur den Button nicht gesehen, der das [ ] neben den Benutzern einblendet.

4 „Gefällt mir“

Ist komisch, aber das war auch die IP hinter meiner.

2 „Gefällt mir“

Könnten diese sanften Wellen von einer ähnlichen OAuth-App-Geschichte [1] kommen wie das, was gerade bei Mastodon passiert ist? Die Symptome sind sehr ähnlich.


  1. Haftungsausschluss: Ich weiß natürlich überhaupt nicht, wie OAuth-Apps funktionieren ↩︎

Dieser Nutzer hat es ebenfalls gemeldet. Wäre es gerechtfertigt, diese IP-Adresse vorsorglich für alle Kunden zu sperren?

Genau das hat diese Frage ausgelöst, ja! Mindestens 193 sind hier. Wir hatten auch noch einen weiteren Schwarm von ein paar Dutzend anderer Bot-Accounts, die TL1 erreichten und dann jeweils 20 private Nachrichten spamten – es war beim Suchen nach mehr solchen Accounts, dass mir die b123456789-Konten auffielen.

1 „Gefällt mir“

Update: Auch nach dem Sperren dieser IP sehe ich mehrere neue Nutzer, die sich mit dem gleichen Namensmuster, aber von einer anderen IP registriert haben. Es wird Zeit, eine CAPTCHA-Lösung in Betracht zu ziehen :melting_face:

2 „Gefällt mir“

Hier ist die andere Kategorie von Spam-Konten — über Nacht wurden hundert neue Konten registriert, alle mit exakt demselben Muster für Benutzername/Lesezugriff:

Im Gegensatz zu den nicht aktivierten bXXXX-Konten stammen diese alle von verschiedenen IPv6-Adressen.

Ich probiere reCAPTCHA v2 aus, da es kostenlos ist. Ich habe es in nur wenigen Minuten eingerichtet.

Legen Sie Ihren Site-Key und Ihr Secret fest und aktualisieren Sie hier einige Werte: /admin/site_settings/category/discourse_captcha?filter=recaptcha

1 „Gefällt mir“

Ich empfehle euch, ein Auge auf solche Konten zu haben. Wir sind in den letzten Tagen von mehreren solcher Wellen betroffen worden. Immer das gleiche Schema bei den Namen, von einer Handvoll IP-Adressen.

Sie schießen schnell auf TL1 [“lesen” von 209 Beiträgen in 11 Min. …], um dann per DM an zufällige Nutzer zu spammen.

Welche Art von Nachrichten sendet es? Gibt es ein bestimmtes Muster @mbauman @Danika_Dakika ?

Offenbar ist es möglich, über 50 Beiträge in weniger als einer Minute zu lesen, ohne Themen anzuzeigen oder überhaupt gesehen zu werden?

4 „Gefällt mir“

Ja, jedes Konto erhielt Stufe 1 (TL1) und sendete anschließend 20 private Nachrichten (das Standard-Tageslimit) an die Verfasser von Themen mit Nachrichten wie:

Hallo @mbauman

Ich habe deinen Thread zu „[Thema-Titel]“ gesehen – [Verkaufsargument und Link]

Wir haben die Limits für private Nachrichten verschärft und versucht, dies gezielter anzugehen. Alle scheinen viele unterschiedliche Wegwerf-E-Mail-Domains zu verwenden. Ich erwäge auch, auf eine weitaus stärker eingeschränkte Allowlist für E-Mail-Hosts umzustellen (im Gegensatz zur standardmäßigen Blocklist).

2 „Gefällt mir“

Du könntest einige Filter für beobachtete Wörter und/oder Workflows einrichten, um PM-Inhalte zu analysieren und sie zu kennzeichnen.

Hmm, hast du die Einstellungen für TL1 überhaupt gesenkt?

Es ist möglich, „gelesene Beiträge“ auf diese Weise ohne Betreten von Themen zu füllen (unter Verwendung der API), aber wenn tl1_requires_topics_entered auf dem Standardwert von 5 steht, sollte es für diese Konten nicht möglich sein, TL1 zu erreichen.