\n\n\n\n Ich kämpfe gegen Bots in meinem Retro-Computing-Forum. - BotSec \n

Ich kämpfe gegen Bots in meinem Retro-Computing-Forum.

📖 11 min read2,068 wordsUpdated Mar 28, 2026

In Ordnung, Freunde, hier ist Pat Reeves, der in euren Feeds von botsec.net auftaucht. Wir haben den 23. März 2026, und ich hatte kürzlich Kopfschmerzen aufgrund von Bots einer ganz bestimmten Art. Nicht die hochentwickelten, von Nationalstaaten gesponserten – auch wenn es immer interessant ist, sie zu analysieren – sondern die automatisierte Plage, die ein wenig zu clever ist und eines meiner Nebenprojekte ins Visier nimmt.

Mein Nebenprojekt, um dies im Kontext darzustellen, ist ein kleines Nischenforum für Liebhaber von Retro-Computern. Nichts Bemerkenswertes, nur ein Ort für uns Alte, um uns über moderne Prozessoren zu beschweren und zu diskutieren, wie man einen Amiga am besten emuliert. Der Traffic ist nicht riesig, aber die Leidenschaft ist da, und die letzten Monate war das Forum fröhlich von Bots befreit. Bis letzten Monat.

Plötzlich, Registrierungs-Bots. Nicht nur ein paar, sondern Wellen. Hunderte von Fake-Konten, alle mit leicht randomisierten Benutzernamen, generischen E-Mail-Adressen (oft von neu registrierten Domains) und absolut keinem Postverlauf. Sie haben nicht sofort Spam verschickt, was seltsam war. Sie waren einfach… dabei, sich zu registrieren. Und füllten meine Benutzerdatenbank mit Nutzern, was ihre Verwaltung mühsam machte und mir ehrlich gesagt das Gefühl gab, dass mein kleines digitales Refugium überflutet wurde.

Also, diesen Monat sprechen wir über Vulnerabilität: Die stille Welle – Warum Bot-Registrierungen mit geringem Aufwand eine größere Bedrohung darstellen, als Sie denken (und wie man sie stoppt).

Das Unbehagen, das zu einer Bedrohung wird

Sie könnten denken: „Pat, das sind nur Registrierungen. Kein Grund, ein großes Geschirr daraus zu machen, oder? Lösche sie und mach weiter.“ Und für eine Weile war genau das mein Denken. Ich habe einen Cron-Job eingerichtet, um die Konten ohne Beiträge nach 24 Stunden zu löschen. Problem gelöst, oder? Falsch.

Die Bots haben sich angepasst. Sie haben angefangen, einen einzigen harmlosen Beitrag zu machen. „Hallo!“ oder „Schön, hier zu sein.“ Nichts, was meine Anti-Spam-Filter ausgelöst hätte. Nur genug, um der Löschung der Konten ohne Beiträge zu entgehen. Jetzt hatte ich Hunderte von Konten mit einem nutzlosen Beitrag, die weiterhin meine Datenbank belagerten und immer noch eine manuelle Überprüfung benötigten.

Das ist nicht nur lästig. Es ist ein subtiler und heimtückischer Angriff. Hier ist, warum:

  • Ressourcenabfluss: Jede Registrierung, jeder Datenbankeintrag, jeder kleine Beitrag verbraucht Serverressourcen. Für eine kleine Seite wie meine ist das nicht unerheblich. Wenn das Volumen steigt, kann dies zu einer Leistungsverschlechterung oder sogar zu einem Denial-of-Service für legitime Nutzer führen.
  • Datenverunreinigung: Meine Benutzertabellen waren durcheinander. Echte Benutzer zu finden, Aktivitäten zu analysieren oder sogar einfach die Datenbank zu sichern, wurde komplizierter.
  • Rufrisiko: Wenn diese Konten plötzlich mit Spam oder Phishing beginnen, könnte der Ruf meines Forums leiden. Suchmaschinen mögen keine Seiten, die mit schädlichen Aktivitäten in Verbindung gebracht werden.
  • Vorläufer größerer Angriffe: Oft sind Bots mit geringem Aufwand ein Erkundungsschritt. Sie testen die Gewässer, identifizieren Schwächen und legen eine Grundlage für später ausgeklügeltere Angriffe, wie Credential Stuffing oder sogar Spear-Phishing echter Nutzer.
  • Risiken von Credential Stuffing und Account Takeover (ATO): Das ist der große Punkt. Wenn ein Bot ein Konto registriert und ein legitimer Benutzer später versucht, sich mit demselben Benutzernamen/E-Mail (oder einem gemeinsamen) zu registrieren, hat der Bot-Betreiber jetzt ein potenzielles Ziel für Credential Stuffing, wenn sie Anmeldedaten aus einem anderen Verstoß erlangt haben. Sie können versuchen, diese Anmeldedaten auf meiner Seite zu verwenden.

Was also als Problem von „meh, ich werde es später bereinigen“ begann, verwandelte sich schnell in eine Situation von „das muss jetzt aufhören“.

Meine ersten (fehlgeschlagenen) Versuche: Die CAPTCHA-Falle

Meine erste Reaktion, wie viele, war es, ein CAPTCHA einzuführen. Genauer gesagt, reCAPTCHA v2. Jeder kennt reCAPTCHA, oder? Das Häkchen „Ich bin kein Roboter“, vielleicht ein paar verschwommene Verkehrsschilder.

Ich habe es eingerichtet. Für ungefähr drei Tage sind die Registrierungen fast auf null gefallen. Ich habe mich gefeiert. „Aha! Gelöst!“

Dann kamen sie zurück. Nicht so viele, aber genug. Wie? Nun, für reCAPTCHA v2 gibt es Dienste, die Menschen ein paar Cent bezahlen, um CAPTCHAs zu lösen. Oder, zunehmend, werden KI-Modelle ausreichend leistungsfähig, um sie zu entschlüsseln, besonders die einfacheren. Es ist ein Katz-und-Maus-Spiel, und auf einer Seite mit geringem Verkehr war es die Mehrkosten von reCAPTCHA v3 (das ein Albtraum sein kann, ohne legitime Nutzer zu signalisieren) einfach nicht wert.

Außerdem HASSEN legitime Nutzer CAPTCHAs. Ich habe ein paar Beschwerden erhalten. Mein Publikum für Retro-Computing, Gott segne sie, ist nicht immer die geduldigste mit den modernen Irritationen des Webs. Ich brauchte etwas Unauffälligeres, das gegen Bots effektiver und weniger störend für Menschen ist.

Über das Häkchen hinaus: Praktische Verteidigungen

Nachdem ich das sichtbare CAPTCHA aufgegeben hatte, begann ich darüber nachzudenken, was einen Menschen von einem Bot unterscheidet, über das bloße Anklicken eines Kästchens hinaus. Hier sind die Dinge, die tatsächlich für mich funktioniert haben:

1. Das Honeypot-Feld

Das ist ein Klassiker aus gutem Grund. Es ist einfach, effektiv und für menschliche Nutzer völlig unsichtbar. Die Idee ist, ein zusätzliches, verstecktes Feld zu deinem Registrierungsformular hinzuzufügen. Bots, da sie weniger ausgeklügelt sind als Menschen, versuchen oft, alle Felder auszufüllen, die sie finden können. Menschen sehen es nicht, also füllen sie es nicht aus.

Hier ist ein einfaches Beispiel, was ich zu meinem HTML-Registrierungsformular hinzugefügt habe:


<form action="/register" method="POST">
 <label for="username">Benutzername:</label>
 <input type="text" id="username" name="username" required>
 
 <label for="email">E-Mail:</label>
 <input type="email" id="email" name="email" required>
 
 <!-- Honeypot-Feld -->
 <div style="display:none;">
 <label for="fax_number">Faxnummer (leer lassen):</label>
 <input type="text" id="fax_number" name="fax_number" tabindex="-1" autocomplete="off">
 </div>
 
 <label for="password">Passwort:</label>
 <input type="password" id="password" name="password" required>
 
 <button type="submit">Registrieren</button>
</form>

Und auf der Serverseite (unter Verwendung eines Python/Flask-Beispiels, aber die Logik gilt universell):


@app.route('/register', methods=['POST'])
def register():
 # Überprüfen Sie das Honeypot-Feld
 if request.form.get('fax_number'):
 # Bot erkannt! Speichern Sie es, möglicherweise blockieren Sie die IP und geben Sie einen Fehler zurück
 print(f"Honeypot ausgelöst von IP: {request.remote_addr}")
 return "Registrierung fehlgeschlagen. Bitte versuchen Sie es erneut.", 400 # Oder eine generische Erfolgsnachricht, um die Bots zu verwirren
 
 username = request.form.get('username')
 email = request.form.get('email')
 password = request.form.get('password')
 
 # ... der Rest Ihrer Registrierungslogik ...
 
 return "Registrierung erfolgreich!"

Das display:none; macht es unsichtbar. tabindex="-1" verhindert die Tastaturnavigation zu diesem Feld. autocomplete="off" hilft, zu verhindern, dass Browser es automatisch ausfüllen. Ich habe „fax_number“ gewählt, weil es ein altmodisches Feld ist, das auf einem modernen Registrierungsformular nichts zu suchen hat und sich daher gut als „Köder“ eignet.

2. Zeitbasierte Analyse (Überprüfung des Zeitstempels)

Bots reichen Formulare oft unglaublich schnell ein. Menschen brauchen mindestens einige Sekunden, um selbst ein einfaches Formular auszufüllen. Ich protokolliere die Zeit, zu der das Formular geladen wird, und die Zeit der Einreichung.

Wenn das Registrierungsformular bereitgestellt wird:


<form action="/register" method="POST">
 <!-- Andere Formularfelder -->
 <input type="hidden" name="form_load_time" value="{{ current_timestamp_in_seconds }}">
 <button type="submit">Registrieren</button>
</form>

Auf der Serverseite:


import time

@app.route('/register', methods=['POST'])
def register():
 form_load_time = int(request.form.get('form_load_time', 0))
 submission_time = int(time.time())
 
 time_taken = submission_time - form_load_time
 
 # Wenn das Formular zu schnell eingereicht wurde (zum Beispiel weniger als 5 Sekunden)
 if time_taken < 5: 
 print(f"Zu schnelle Einreichung von der IP : {request.remote_addr}, hat {time_taken}s gedauert")
 return "Registrierung fehlgeschlagen. Bitte versuchen Sie es erneut.", 400
 
 # ... der Rest Ihrer Registrierungslogik ...
 
 return "Registrierung erfolgreich!"

Ich habe mir eine Mindestzeit von 5 Sekunden gesetzt. Dies hat sofort einen Großteil der verbleibenden Bots herausgefiltert. Achten Sie darauf, diese Schwelle nicht zu hoch anzusetzen, da legitime Nutzer schnell tippen oder vorab ausgefüllte Formulare haben könnten.

3. IP-Drosselung (mit einem Twist)

Die Standard-IP-Drosselung ist gut: „Nicht mehr als 5 Registrierungen von dieser IP pro Stunde.“ Aber Bots nutzen oft Proxys oder wechseln die IP. Daher habe ich einen Twist hinzugefügt: die IP- und User-Agent-Fingerabdruck.

Ich habe begonnen, den User-Agent-String zusammen mit der IP-Adresse zu protokollieren. Wenn ich einen plötzlichen Anstieg der Registrierungen von verschiedenen IP-Adressen, aber mit demselben leicht ungewöhnlichen User-Agent-String sah, war das ein starkes Indiz für ein Botnetz oder einen einzelnen Bot, der die IP wechselte. Das erlaubte mir, nicht nur die IP, sondern auch den User-Agent vorübergehend zu blockieren oder zu melden, wenn er eindeutig als nicht-Browser oder verdächtig wiederholt erkannt wurde.

Das ist kein Codeausschnitt, den man einfach einfügen kann, da dies spezifisches Logging und Backend-Analysen erfordert. Aber konzeptionell geht es darum, Muster über die einfache Quell-IP hinaus zu untersuchen. Viele Web Application Firewalls (WAFs) bieten diese Art der fortschrittlichen Drosselung und Anomalieerkennung.

4. Überprüfung der E-Mail-Domain (unter Verwendung öffentlicher Daten)

Viele Bot-Registrierungen stammen von neu registrierten E-Mail-Domains, oft von Wegwerf-E-Mail-Anbietern. Ich habe eine Überprüfung gegen eine kleine, sorgfältige Liste bekannter Wegwerf-E-Mail-Anbieter eingerichtet, aber effektiver war es, das Alter der E-Mail-Domain selbst zu betrachten.

Es gibt APIs (einige kostenpflichtig, andere kostenlos mit Einschränkungen), die anzeigen können, wann eine Domain registriert wurde. Wenn eine E-Mail-Adresse von einer Domain stammt, die in den letzten 30 Tagen registriert wurde, ist das ein enormer Alarmgeber. Es ist nicht narrensicher – legitime neue Websites werden ständig gestartet – aber in Kombination mit anderen Signalen ist es mächtig.

Für mein Forum habe ich eine pragmatische Entscheidung getroffen: Wenn die Domain weniger als 60 Tage alt war UND andere Bot-Signale vorhanden waren (Honeypot ausgelöst, zu schnelle Einreichung), würde ich die Registrierung einfach blockieren. Bei Domains, die weniger als 30 Tage alt sind, würde ich eine manuelle Überprüfung anfordern und möglicherweise eine Bestätigung per E-Mail vor der Aktivierung verlangen.

Die Ergebnisse: Frieden (fast) Wiederhergestellt

Die Implementierung dieser Schritte war keine schnelle Lösung, aber sie war unglaublich effektiv. Der Honeypot und die zeitbasierten Überprüfungen haben sofort die Mehrheit der automatisierten Registrierungen reduziert. Die Analyse der IP/User-Agent-Muster hat mir geholfen, die hartnäckigsten Bot-Betreiber zu identifizieren und zu blockieren.

Meine Benutzerdatenbank ist wieder sauber. Meine Serverprotokolle sind weniger laut. Und ich kann mich auf die Moderation von Diskussionen über die Überlegenheit des SID-Chips des Commodore 64 konzentrieren, anstatt Hunderte von gefälschten Konten zu löschen.

Es ist wichtig zu verstehen, dass dies keine „einrichten und vergessen“-Lösung ist. Bots entwickeln sich weiter. Angreifer finden neue Methoden. Ich muss überwachen und anpassen. Aber im Moment haben mir diese praktischen und kostengünstigen Methoden die Kontrolle über mein kleines Stück Internet zurückgegeben.

Wichtige Punkte

Wenn Sie mit wenig Aufwands-Bot-Registrierungen oder ähnlichen automatisierten Störungen konfrontiert sind, sollten Sie jetzt Folgendes tun:

  • Implementieren Sie einen Honeypot: Es ist unglaublich einfach, effektiv und für die Nutzer unsichtbar. Tun Sie es.
  • Fügen Sie eine zeitbasierte Überprüfung hinzu: Messen Sie die Zeit zwischen dem Laden des Formulars und der Einreichung. Blockieren Sie Einreichungen, die unnormal schnell sind.
  • Gehen Sie über einfaches IP-Blockieren hinaus: Suchen Sie nach Mustern in User-Agent-Strings, Referrern und anderen Anfrage-Headern, um die anspruchsvolleren Bots, die IPs wechseln, zu identifizieren. Erwägen Sie eine WAF, wenn Ihr Traffic dies rechtfertigt.
  • Validieren Sie die E-Mail-Domains: Überprüfen Sie bekannte Wegwerf-E-Mail-Anbieter und berücksichtigen Sie das Domainalter bei neuen Registrierungen.
  • Überwachen und Anpassen: Bots entwickeln sich ständig weiter. Behalten Sie Ihre Protokolle im Auge, analysieren Sie verdächtige Aktivitäten und seien Sie bereit, Ihre Abwehrmechanismen anzupassen.
  • Belästigen Sie echte Nutzer nicht: Priorisieren Sie die Benutzererfahrung. Vermeiden Sie zu strenge CAPTCHAs oder übermäßig strenge Regeln, die legitime Registrierungen blockieren könnten. Die beste Abwehr gegen Bots ist die, die Menschen nicht einmal bemerken.

Seien Sie vorsichtig und halten Sie diese Bots fern!

Verwandte Artikel

🕒 Published:

✍️
Written by Jake Chen

AI technology writer and researcher.

Learn more →
Browse Topics: AI Security | compliance | guardrails | safety | security
Scroll to Top