Websites sicher betreiben – Teil 2
Spam-Bots
Ein Spam-Bot ist eine Kombination aus Spam (nicht erwünschte Nachricht) und Bot (automatisiert handelndes Computerprogramm). Diese lästigen Zeitgenossen sind Programme, die eine Internetseite für gewöhnlich nach zwei Dingen absuchen, Formulare und E-Mail-Adressen:
Formulare
Diese werden durch den SPAM-Bot automatisiert, zum Beispiel mit unerwünschter oder anstößiger Werbung, befüllt. Je nach Funktion des Formulars (Kontaktformular, Bestellformular), werden die Inhalte im nächsten Schritt an Ihre User oder an Sie selbst versendet. Handelt es sich um ein Kommentarformular, wird der Inhalt direkt auf Ihrer Webseite für alle Besucher sichtbar angezeigt.
Kommentare sollten deshalb immer vor Freigabe durch einen Mitarbeiter geprüft werden.
Um sich vor diesen automatisierten Attacken zu schützen, kann man folgende drei Mechanismen einsetzen:
1) Honeypot
Honeypot, übersetzt „Honigtopf“, beschreibt in der IT allgemein ein System, welches einen Angreifer vom eigentlichen Ziel ablenken soll. Zum Beispiel wird mit Absicht ein Server mit Sicherheitslücken betrieben, der nur eine Kopie des Originalservers darstellt. Dem Angreifer wird somit simuliert, dass er sein Ziel erreicht hat.
Im Zusammenhang mit Formularen wird ein zusätzliches Feld angehängt, welches für einen echten User unsichtbar ist. Wird dieses unsichtbare Formular-Feld ausgefüllt, kann serverseitig eine Nachricht eindeutig als Spam identifiziert werden.
Vorteile: Diese Methode ist benutzerfreundlich. Sie können den Zugriff des Spam-Bots protokollieren und Daten wie IP-Adresse, Zeitstempel und Nachrichteninhalt speichern und auswerten.
Nachteile: Ein Spam-Bot, der auf Ihre Website zugeschnitten wurde, wird die geheimen Formular-Felder kennen und sie nicht befüllen. Solche Spam-Bots werden Sie mit dieser Methode nicht ohne weiteres erkennen können.
Fazit: Ich empfehle diese Methode als erste Maßnahme, um die Aktivitäten der Spam-Bots protokollieren zu können. Gleichzeitig haben Sie einen wirkungsvollen Schutz gegen die große Masse von Spam-Bots im Netz.
2) Generieren und Absenden von Formularen über JavaScript
Für gewöhnlich können Spam-Bots den Quellcode einer Website nur auslesen, nicht aber ausführen. Das heißt, es wird kein JavaScript durch einen Spam-Bot abgearbeitet. Diesen Umstand können Sie sich zunutze machen, indem Sie sämtliche Formulare über JavaScript anzeigen und absenden lassen.
Vorteile: Die Spam-Bots sehen keine Formulare auf Ihrer Website und werden diese mit ein wenig Glück nicht mehr durchsuchen. Dadurch haben Sie weniger Zugriffe auf Ihre Website und steigern so ihre Performance.
Nachteile: Es kann vorkommen, dass auch ein echter Nutzer Ihrer Website JavaScript deaktiviert hat. In diesem Fall würde auch dieser Nutzer keine Formulare sehen.
Fazit: Nach meiner Erfahrung verzichtet heutzutage keine Website mehr auf JavaScript. Sollten Sie auf Ihrer Website bereits Grundfunktionen einsetzen die auf JavaScript angewiesen sind, können Sie diese Methode auch als Mittel gegen Spam-Bots nutzen.
3) Captchas
Ein Captcha ist ein öffentlicher Test, mit dem sich feststellen lässt, ob ein Mensch oder eine Maschine ein Programm bedient. Im Zusammenhang mit Formularen würde ein Captcha-Test einen Spam-Bot als Computer entlarven. Captchas kennen Sie wahrscheinlich als kleine Bilder in einem Formular. In den Bildern sind Zeichen abgebildet, die es abzutippen gilt, um zu bestätigen, dass Sie ein Mensch sind. Captchas sind die wohl sicherste Methode, um ein Spam-Bot daran zu hindern, ein Formular abzusenden.
Vorteile: Captchas sind ein sehr sicherer Schutz gegen Spam-Bots.
Nachteile: Captchas sind nicht sehr nutzerfreundlich. Ich selbst hatte schon des Öfteren Probleme, die Zeichen in dem kleinen Bildchen zu entziffern. Eine einfache Protokollierung der Zugriffe von Spam-Bots ist mit dieser Methode, soweit mir bekannt ist, ebenfalls nicht möglich.
Fazit: Honeypots und JavaScript können nicht so gut vor dem Zugriff über Spam-Bots schützen. Die neuesten Spam-Bots beherrschen eventuell JavaScript. Speziell für Ihre Website geschriebene Spam-Bots werden Honeypots erkennen. Captchas sind zwar deutlich sicherer, aber auch sie lassen sich theoretisch von Spam-Bots umgehen: neue Spam-Bots können durchaus auch Informationen aus einem Bild auslesen.
Ich würde die drei beschriebenen Methoden in genau dieser Reihenfolge in die Website integrieren: Honeypot, JavaScript, Captcha. Wenn der Honeypot nicht funktioniert, können Formulare über JavaScript generiert und versendet werden. Klappt auch das nicht, können Captcha-Tests eingesetzt werden.
E-Mail-Adressen
Die E-Mail-Adressen die Sie auf Ihrer Website veröffentlichen, sind ebenfalls interessante Ziele für Spam-Bots. Es wird genau wie bei Formularen jede einzelne Seite nach E-Mail-Adressen durchsucht. Wird eine E-Mail-Adresse gefunden, wird diese abgespeichert und als Adresse für anstößige oder illegale Mail-Werbung missbraucht. Es gibt unterschiedliche Methoden eine E-Mail-Adresse für Spam-Bots unkenntlich zu machen.
1) Schreibweise der E-Mail-Adresse ändern
Aus info@ihre-domain.de wird info[at]ihre-domain.de
oder
i n f o @ i h r e – d o m a i n . d e
Gerade die erste Variante hat sich gut etabliert.
Vorteile: Es ist leicht umzusetzen.
Nachteile: Es ist nicht sehr nutzerfreundlich und funktioniert wohl nur noch bei alten und sehr primitiven Spam-Bots. Zudem gibt es noch einen weiteren Nachteil: Die E-Mail-Adressen können nicht verlinkt werden. Die nützliche Funktion, durch einen Klick auf die E-Mail-Adresse den lokalen E-Mail-Client zu öffnen, entfällt bei modifiziert geschriebenen E-Mail-Adressen.
Fazit: Schnell gemacht, aber kein sicherer Schutz, mit zusätzlicher Einbuße des Nutzerkomforts.
2) Generieren der E-Mail-Adressen mittels JavaScript
Hier können wir uns wieder zunutze machen, dass die meisten Spam-Bots kein JavaScript beherrschen. Der SPAM-Bot kann ausgetrickst werden, indem wir die E-Mail-Adresse mittels JavaScript generieren. Dadurch ist die E-Mail-Adresse im Quellcode nicht zu finden.
Vorteile: Keine kryptische Schreibweise, die richtige E-Mail-Adresse wird angezeigt und kann verlinkt werden.
Nachteile: Ein aktueller Spam-Bot der bereits JavaScript beherrscht, wird die E-Mail-Adresse finden. User, bei denen JavaScript deaktiviert wurde, sehen die E-Mail-Adresse nicht.
Fazit: Wenn die Website auch im Übrigen mit JavaScript arbeitet, empfehle ich den Einsatz der JavaScript-Variante, da sie sicher und nutzerfreundlich ist.
Phishing Mails
Phishing Mails sind fiese E-Mails mit gefälschten Absendern und Links zu gefälschten Websites. In der Regel gaukelt die Phishing-Mail vor, von einem Freund, einem Kollegen oder einem Internetdienst versendet worden zu sein. Oft werden Sie im Mail-Text darum gebeten, einen Link zu klicken. Folgen Sie der Anweisung, kommen Sie nicht wie vermutet zu dem gewünschten Dienst, sondern zu einer gefälschten Website, die genauso aussieht wie das Original. Dort sollen Sie sich nun einloggen. Mit dem Login haben die Angreifer Ihre Zugangsdaten.
Was hat das mit dem Betrieb der eigenen Website zu tun?
Angreifer können Ihre Website nachbauen und eine Phishing Mail an Ihre Mitarbeiter oder Kunden versenden. Der Inhalt der Phishing-Mail kann durchaus plausibel sein.
Da das Thema Phishing-Mails einen eigenen Artikel füllen würde, möchte ich Sie an dieser Stelle nur daran erinnern, dass auch die eigene Website sehr leicht kopiert werden kann.
Für den BvD-Blog, Alexander Heit
……………….
Alexander Heit ist technischer Leiter bei der H&N IT-SERVICES UG mit den Schwerpunkten:
Server-Administration unter Linux, Webentwicklung, Kundenberatung und Betreuung von Webprojekten
E-Mail: alexander.heit@hn-websolutions.com
Internet: www.hn-websolutions.com