Seit Jahren entwickle ich Websites, und ebenso lange sind geeignete Massnahmen gegen SPAM ein Thema. Das Antibot-Modul in Backdrop CMS habe ich erst vor kurzem entdeckt. Es erwies sich nach kurzer Zeit als dermassen effizient, dass ich sogar alte Drupal-Sites damit “nachzurüsten” beginne. Willkommen zum zweiten Modul-Montag auf backdrop-cms.de.
Wie, weshalb, warum
Jeder, der Websites entwickelt, kennt die SPAM-Problematik nur allzu gut: gerade Webformulare entwickeln sich zu veritablen Datenschleudern und verstopfen den Posteingang – soweit die harmlose Version. Eine weit ernsthaftere Gefahr sind Skripte, welche sich ins System einloggen möchten, indem sie Sicherheitslücken beim Formularversand oder im Login-Bereich nutzen.
Benutzerführung versus Sicherheit
Nun gibt es ja zahlreiche Möglichkeiten, Formulare oder Login-Bereiche zu schützen. Seit vielen Jahren etwa nutze ich das Recaptcha-Modul für Drupal-Websites, das auch für Backdrop zur Verfügung steht. Dessen Nutzung schränkt aber die Benutzerführung ein: das Lösen einfacher Rechenaufgaben oder Bilderrätsel finden nicht wenige meiner Kunden mühsam.
Eine Alternative dazu ist das Honeypot-Modul, welches unbemerkt vom Nutzer versteckte Felder bereitstellt, welche die Bots dann ausfüllen und somit erst als solche erkannt werden können. Meine eigenen Erfahrungen mit Honeypot sind allerdings durchzogen, viele SPAM-Bots schaffen es doch in den Posteingang.
Auf Drupal mehrmals genutzt habe ich auch die Methode, verdächtige Seitenaufrufe – etwa wp-login.php – zu erkennen und die aufrufende IP umgehend zu sperren, etwa mit dem Autoban-Modul in Drupal. Dies wiederum führte in Einzelfällen zur Sperrung der Website beim Kunden, da einige Angriffe über die firmeneigene IP erfolgen.
Antibot, die simple Alternative
Das Modul Antibot hingegen nutzt einen einfachen, aber höchst effektiven Weg, um Bots zu erkennen: nach der Aktivierung des Moduls benötigen Benutzereingaben JavaScript. Damit wiederum können viele Bots nicht umgehen.
Selten habe ich ein effektivere Möglichkeit gesehen, die SPAM-Flut praktisch auf Null zu bringen. Es funktioniert nahezu perfekt.
Nachteile von Antibot
Mit Antibot wird JavaScript für den Website-Benutzer zur Pflicht. Dagegen gibt es berechtigte Einwände – aber mein bevorzugtes Design-Framework UIKit verlangt für Ausklappmenus oder gewisse Layoutfunktionen ohnehin JavaScript. Zudem dürften Bots zunehmend intelligenter werden und irgendwann einen Weg finden, auch Antibot zu überlisten. Aber das ist wohl allen SPAM-Filtern eigen, dass der Angreifer irgendwann “schlauer” wird.
Nutzung
Nach der Aktivierung des Moduls schützt Antibot standardmässig die Bereiche Login, Kommentar und Kontaktformular. Alle anderen Eingabemöglichkeiten – also etwa ein kundenspezifischer Webform, müssen explizit angegeben werden. Den Code dazu findet man im Quellcode des <form>-Tags. Aus der <form id="webform-client-form-318”> wird webform_client_form_318 (also mit Unterstrichen statt Trennzeichen). Diesen String in den Antibot-Settings eingeben – fertig.
Fazit
SPAM und Hackerangriffe werden wohl immer aktuell bleiben. In der Backdrop-Community laufen auch Diskussionen darüber, längerfristi mehr Module dazu im Core bereitzustellen, was sicher sinnvoll ist. Wer aber unverzüglich und sofort besseren Schutz braucht, dem kann ich Anbibot bestens empfehlen.
Kommentare
Xela
Tipp zur Formular ID
Mo., 07.09.2020 - 12:29Ein kleiner Tipp zum Auffinden von Formular-IDs: Antibot kann die IDs auf den Seiten bequem als Nachricht anzeigen. Das kann im Adminbereich ein- und ausgeschaltet werden (siehe dein Screenshot: Display form IDs).
Auf Seiten mit Formular(en) erscheint dann eine Statusmeldung wie z.B:
Und: klar, SPAM ist und bleibt ein Dauerthema.
Martin Loretz (nicht überprüft)
Gehört zur Grundinstallation dazu
Do., 10.09.2020 - 13:49Das Antibot-Modul gehört für mich mittlerweile zur Grundinstallation dazu. Wo ich es noch nicht installiert habe, da wird dies rasch nachgeholt.