Empfohlene Schutzmaßnahmen
Haben Sie List Bombing festgestellt, stehen Ihnen mehrere Lösungsmöglichkeiten zur Verfügung. Identifizieren Sie den Zeitpunkt, an welchem der Angriff begonnen hat, und überprüfen, gegebenenfalls entfernen, Sie alle Empfänger (auch mit DOI Verfahren), die danach zu Ihrer Empfängerliste hinzugefügt wurden.
Entfernen Sie zunächst alle Registrierungsformulare von Ihrem Webserver. Indexierte und von Bots gecrawlte Formular-URLs werden sonst immer wieder erneut angegriffen, auch wenn Sie Maßnahmen hinzufügen, lernen auch die Angreifer dazu.
Verwenden Sie für neue oder überarbeitete Formulare nicht dieselbe URL bzw. denselben Webserver-Pfad wie zuvor. Setzen Sie zudem die Formularseiten auf noindex, nofollow, um zu verhindern, dass Webcrawler diese automatisch indexieren.
Dies ist der schnellste und sicherste Weg, um Angriffe zu unterbinden und zu überprüfen, ob Ihre API-Zugangsdaten kompromittiert wurden oder ob tatsächlich das vermutete Formular Ziel der Angriffe ist. Beachten Sie außerdem, dass möglicherweise noch ältere Anmeldeformulare im Netz verfügbar sind, die weiterhin mit Ihren Kampagnen verknüpft sein könnten.
Zusätzlich empfehlen wir folgende Maßnahmen:
- CSRF Token implementieren. CSRF-Token (Cross-Site Request Forgery Token) verhindern, dass externe Seiten oder Bots das Formular direkt POSTen können, ohne vorher ein echtes Formular auf der Seite zu laden. Ein CSRF-Token ist ein eindeutiger, serverseitig generierter Wert, der bei Formularen als verstecktes Feld mitgeschickt wird. Er verhindert, dass Dritte unberechtigt Formulare absenden können, indem der Server nur Anfragen mit gültigem Token akzeptiert. Fügen Sie ein verstecktes Feld hinzu, das nur durch einen echten Seitenaufruf erzeugt wird.
- Eingabefelder für Content einschränken:. Viele zusätzliche Eingabefelder wie Name, Vorname usw. sind unzureichend gegen URL-Eingaben geschützt. Um potenziellen Missbrauch zu erschweren, sollten Sie die Eingabemöglichkeiten in diesen Feldern gezielt einschränken, z. B. durch das Unterbinden von Sonderzeichen und Punkten. Zwar verhindert dies einen Angriff nicht vollständig, macht ihn jedoch deutlich unattraktiver.
- Integrieren Sie ein Honeypot-Feld. Ein Honeypot in Registrierungsformularen ist ein zusätzliches Inhaltsfeld, das für den Menschen unsichtbar, für einen Bot jedoch nicht von anderen Feldern unterscheidbar ist. Wenn Sie feststellen, dass das Feld ausgefüllt wurde, wurde die Registrierung nicht von einem Menschen durchgeführt und der Vorgang kann sofort abgebrochen werden. Siehe Honeypots integrieren (unten).
- Verwenden Sie andere Feldnamen im HTML-Code. Bots suchen im Quellcode einer Website nach Textfeldern. Machen Sie es ihnen schwer und vergeben Sie Feldnamen, die vom Standard abweichen, z. B. anstelle Vorname, Nachname, E-Mail nutzen Sie First_Banana, Last_Apple, Em_Orange. Dadurch verhindern Sie, dass die Felder von Bots überhaupt gefunden werden.
- Implementieren Sie ein CAPTCHA. CAPTCHA können Registrierungen von menschlichen Wesen von automatisierten Registrierungen durch Bots unterscheiden. Es gibt eine Vielzahl von CAPTCHA-Anbietern auf dem Markt, die Lösungen anbieten, die auf unterschiedlichen Mechanismen und Konformitätsstufen basieren, z. B. mit GDPR.
- Messen Sie die Zeit der Formularübergabe. Messen Sie die Zeit, die für das Senden von Formularen benötigt wird, indem Sie ein Feld integrieren, das einen Zeitstempel oder einen generierten Schlüssel für das Laden der Seite enthält. Ein Mensch kann einige Minuten brauchen, um ein Formular auszufüllen, ein Bot vielleicht nur eine Sekunde. Wenn eine besonders kurze Zeit festgestellt wird, unterbrechen Sie den Registrierungsprozess.
- Ergänzen Sie IP-Rate-Limits. Arbeiten Sie mit IP-Rate-Limits in Ihrem Registrierungsformular, die verhindern, dass das selbe Formular in einem bestimmten Zeitraum mehrmals von derselben IP-Adresse übergeben wird.
- Legen Sie zulässige Formulareingaben fest. Implementieren Sie eine Sperre für bestimmte Einträge in Ihrem Registrierungsformular, z. B. Sonderzeichen, URLs und HTML-Tags, oder bereinigen Sie regelmäßig Ihre Liste neuer Abonnenten. Spammer können URLs einfügen, die zu böswilligen oder illegalen Websites führen, welche dann möglicherweise unbeabsichtigt in Ihren E-Mails enthalten sind und von unaufmerksamen Empfängern geklickt werden.
-
Java-Script-Token implementieren. Ein JavaScript-Token ist ein clientseitig generierter Wert, der nur dann erzeugt oder übermittelt wird, wenn echtes JavaScript im Browser aktiv ist, also z. B. durch Menschen, nicht durch einfache Bots oder Skripte wie curl.
Der Server gibt dem Browser einen temporären „Token Seed“ (z. B. als Cookie oder im HTML). JS berechnet daraus einen Token (z. B. mit Hash oder Timestamp). Der Token wird beim Absenden automatisch dem Formular hinzugefüg. Ist der Token korrekt, gültig und passt zur Session/IP? Wenn nein > Abbruch -
User-Agent-Checks sind eine einfache, aber nützliche Methode, um Bots von echten Nutzern zu unterscheiden, basierend auf dem sogenannten User-Agent-Header, den Browser und Programme bei jeder HTTP-Anfrage mitsenden.
Einen hundertprozentigen Schutz gibt es nicht. Die hier vorgeschlagenen Maßnahmen können jeweils zur Verbesserung der Sicherheit beitragen. Welche davon Sie umsetzen, bleibt selbstverständlich Ihre Entscheidung, wir empfehlen jedoch, mehrere Methoden zu kombinieren.
Honeypots integrieren
Sie können Honeypot-Felder in Registrierungsformularen wie folgt integrieren:
<input type="email" name="email-confirmation-field1" class="hidden" placeholder="Ihre E-Mail-Adresse" required="required" autocomplete="off"> /* Für den Empfänger sichtbares E-Mail-Feld */ <input type="email" name="email-field1" class="required" placeholder="Ihre E-Mail-Adresse" id="required" autocomplete="off"> /* Honeypot-Feld */ <input type="text" name="birthday-field1" class="optional" autocomplete="off"> /* Honeypot-Feld */ <input type="text" name="name-field1" class="required" autocomplete="off"> /* Honeypot-Feld */ <input type="text" name="city-field1" class="optional" autocomplete="off"> /* Honeypot-Feld */
class="hidden". Passen Sie Ihr CSS-Stylesheet für die Registrierungsseite an, damit diese Klasse sichtbar ist.
autocomplete="off". Soll verhindern, dass Formularfelder automatisch ausgefüllt werden. Diese Einstellung wird jedoch nicht von allen Web-Browsern unterstützt. Vergeben Sie daher untypische Feldnamen, die vom Standard abweichen, zum Beispiel birthday-field1.
Passen Sie Ihr CSS-Stylesheet für die Registrierungsseite an, damit alle anderen Klassen und IDs nicht sichtbar sind. Verwenden Sie beispielsweise folgende Befehle:
visibilty: none; display: none; width: 0px; height: 0px;
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.