Wie man am Project Honeypot teilnimmt, einen Fake-Login in einem Fake-Backend erstellt und was es dabei alles zu beachten gibt, erfährst Du hier. Von der Migration der Site tote-pixel.de blieben noch einige Artikel übrig, die ich mir als Dokumentation selber schrieb.Aus denen werde ich nach und nach Artikel machen. Das, was ich in diesem Artikel erklären kann man in einem CMS wie WordPress oder Joomla, aber auch in einer puren HTML-Website implementieren. Unter Joomla hatte ich sehr viele Jahre einen Fake-Login als Honeypot eingesetzt.
Haftungsausschluss:
Ihr fummelt an Eurem Webserver/-space herum, nicht ich! Macht vorher ein Backup! Wenn Ihr Euch diese Codeschnipsel ungeprüft auf Eure Website kopiert, oder hier gezeigte Änderungen vornehmt, bin ich nicht dafür verantwortlich! Kommt Ihr also nicht mehr auf die eigene Website, erleidet Daten- oder Einnahmeverluste, schadet Dritten mit Eurem Handeln oder bekommt rechtlichen Ärger, ist das Euer Problem. Wenn Ihr die Scripte nicht versteht und nicht anpassen könnt, dann lasst es! Eine Website ist kein Spielzeug.
Das Projekt Honigtopf
Nett finde ich das Project Honey Pot, welches IP-Adressen von Spammern sammelt. Es sogar DSGVO-konform, denn man verarbeitet keine Daten, sondern schickt Leute, die versuchen am Backend der eigenen Website anzumelden, auf eine Seite, die Teil des Honigtopf-Projektes ist. Dort werden die Daten in Listen für aktives Blocking von IP-Adressen eingepflegt
Ähnlich machen es auch Plugins wie Wordfence für WordPress, nur dass diese meines Wissens nach auch die Daten von normalen Besuchern erheben und auswerten – damit wird es dann wieder nicht mehr datenschutzkonform, denn dazu werden die IP-Adressen aller Besucher zum Hersteller des Plugins zur Überprüfung gesendet. Ein absolutes NoGo!
Möchte man nun auch selber von diesem Projekt profitieren, statt nur die Möchtegern-Hacker weiterzuleiten, gibt es für die diversen CMS passende Erweiterungen oder auch PHP-Scripte zum selber einbinden.
Ist das auch seriös?
Ja, natürlich. Auch das Admin-Magazin berichtete davon in einem Artikel (deutsch).
Fake-Backend erstellen
Falls jemand oder etwas versucht, Zugriff auf die üblichen Ordner eines CMS zu bekommen, wird er auf eine gefakte Anmeldeseite weitergeleitet. Versucht er (oder es) sich dort anzumelden, geht es an die Adresse, die man bei der Registrierung beim o.a. Projekt als persönliche Sammel-URL bekommen hat.
Wie kann man sich daran beteiligen? Das ist mit überschaubaren Aufwand zu erledigen. In der .htaccess wird DEINE-DOMAIN.de/backend/ als Weiterleitung für Möchtegern-Hacker angegeben. Bitte darauf achten, dass Ihr nicht Eure wirklich vorhandenen Ordner damit blockiert, denn dadurch wird Eure Website nicht mehr funktionsfähig sein, bis Ihr die .htaccess-Datei wieder ändert, bzw. das Backup, welches ihr vor jeder Änderung anlegen solltet, wiederherstellt.
.htaccess-Einträge
Dies hier für alle CMS außer WordPress:
# ### ALLE WordPress-Admin und -Content-Aufrufversuche abweisen (\/.*) # ## WP-Admin RewriteCond %{REQUEST_URI} ^\/wp\-admin\/.* RewriteRule .* https://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## WP-Content RewriteCond %{REQUEST_URI} ^\/wp\-content\/.* RewriteRule .* https://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## Module RewriteCond %{REQUEST_URI} ^\/modules\/.* RewriteRule .* https://DEINE-DOMAIN.de/backend/login.php [R=307,L] ## Media RewriteCond %{REQUEST_URI} ^\/media\/.* RewriteRule .* https://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## Admin RewriteCond %{REQUEST_URI} ^\/admin\/.* RewriteRule .* https://DEINE-DOMAIN.de/backend/login.php [R=307,L] #
Das Gleiche für alle CMS außer Joomla!:
# ### ALLE Joomla-System-Aufrufversuche abweisen (\/.*) # ## Admin RewriteCond %{REQUEST_URI} ^\/administrator\/.* RewriteRule .* http://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## Module RewriteCond %{REQUEST_URI} ^\/modules\/.* RewriteRule .* http://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## Plugins RewriteCond %{REQUEST_URI} ^\/plugins\/.* RewriteRule .* http://DEINE-DOMAIN.de/backend/login.php [R=307,L] # ## Libraries RewriteCond %{REQUEST_URI} ^\/libraries\/.* RewriteRule .* http://DEINE-DOMAIN.de/backend/login.php/ [R=307,L] #
„DEINE-DOMAIN.de“ bitte entsprechend ändern.
Wenn Ihr hier Mist baut, ist Eure Site nicht mehr erreichbar, dann
Ich benutze nur WordPress und Joomla, kann Euch also nicht sagen, welche Ordner von anderen Systemen noch gesperrt werden könnten. Seht in Euren Logs nach und tragt einfach die Ordner ein, die nicht von einem Suchmaschinenbot gescannt wurden.
Du hast keine Logs? Nun, es gibt das für WordPress das Plugin Redirection, dass 404-Fehler sammelt und es ermöglicht, mit zwei Klicks eine Weiterleitung einzurichten. Ich habe mich echt gewundert, dass einige Crawler noch Unterseiten aus dem Jahr 1998 suchen. Die gab es nur zwei oder drei Jahre. Das Internet vergisst nichts, weiß aber nicht mehr, wo es die Sachen hingelegt hat. ;-)
Wie dem auch sei, auch für Joomla gibt es solche Pluing, die sind praktisch, wenn man mit seiner Seite gerade umgezogen ist, oder sie neu aufgesetzt hat. Schließlich soll Google ja nicht zuviele 404-Fehler bekommen und die Website als irrelevanter ansehen, als sie mal war. Mit diesen Plugins musst Du Dir keine EInträge für die .htaccess basteln, was aber nicht bedeutet, dass Du Dir damit nicht sogar noch schneller Deine Site zerschiessen kannst, wenn Du nicht aufpasst.
Sicherheit geht vor: noindex!
Wir erstellen uns in der Root unseres Website-Verzeichnisses einen Ordner namens „backend“. Wenn der schon existiert, dann erstellt Euch halt einen anderen. Am besten nichts mit dem Namen „Honypot“, denn so dumm sind Bots und Möchtegern-Hacker ja nun auch nicht. Passt den neuen Ordnernamen dann bitte auch in den folgenden Scripten an.
Damit Suchmaschinen das Fake-Backend nicht durchsuchen und noch irgendwelche ahnungslosen Leute dorthin weitergeleitet werden, tragen wir folgende Zeile in die robots.txt in Website-Root ein:
Disallow: /backend/
Fake-Login erstellen
Wir erstellen eine Datei mit dem Namen login.php und speichern sie im backend-Ordner ab:
<!DOCTYPE html> <html lang="de"> <head> <title>WOPR-Admin-Login</title> <style> .container { display: grid; justify-content: center; align-items: center; text-align: center; } .img { justify-content: center; align-items: center; } </style> </head> <body> <!-- Titel und Bilder --> <div class="container"> <h1>WOPR CMS</h1> <div class="img"><img alt="Galaktischer Sicherheitsdienst" src="WOPR.png"> </div> <a>Version TRAV 172815</a> ©1962 -2021 <a href= "https://raumpatrouille.fandom.com/de/wiki/Galaktischer_Sicherheitsdienst">GSD</a><br> <!-- Eingabeformular erfasst tatsaelich Daten, die aber nicht ausgewertet werden. Weiterleitung an login-bestaetigung, die automatische Weiterleitung ausfuehrt. --> <h2>Administrator-Login</h2> <form action="login-bestaetigung.php" method="post"> <div class="login required"> Username: <input name="uname" required="" type="text"><br> <br> Passwort: <input name="psw" required="" type="text"><br> <br> <input name="rememberme" required="" type="checkbox"> Daten verarbeiten<br> <br> <input type="submit" value="Bestaetigen"> </div> </form> <!-- Disclaimer und Mail-Adresse für neues Passwort-Anfordern sieht echter aus --> <span class="psw"><br> Passwort <a href="mailto:EINE-SPAM-MAILADRESSE">vergessen?</a></span><br> <br> <br> <a><b><br> <br> Haftungsausschluss:</b><br> <br> Wenn Sie auf "Bestaetigen" klicken, geben Sie zu, dass Sie gerade<br> illegal versuchen diese Website auszuspaehen. Sie werden auf eine<br> fremde Website ausserhalb der EU weitergeleitet, welche Ihre<br> Daten erfassen und verarbeiten wird.<br> <br> Ihr Zugang zu geschuetzten Websites wird ggf. dadurch unmoeglich.<br> Danke fuer Ihr Aufmerksamkeit.<br> ©Galaktischer Sicherheitsdienst<br> <br></a> <a href= "https://DEINE-DOMAIN/datenschutzerklaerung-eu/">Datenschutzerklaerung</a> </div> </body> </html>
„EINE-SPAM-MAILADRESSE“ – bitte mit einer Mail-Adresse ersetzen, die Du nicht benötigst, kann sein, dass die in Zukunft jede Menge Spam gekommen wird.
„DEINE-DOMAIN“ ersetzen, bzw. hier den Link zu Deiner Datenschutzerklärung eintragen. Wir wollen uns doch nicht mit jemandem rumschlagen, der zwar eine Straftat begehen wollte, in dem er versuchte sich auf Deinem System einzuloggen, dann aber als Bot, Spammer und Angreifer in eriner Datenbank ausserhalb der EU landete. Zur Datenschutzerklärung selber kommen wir noch weiter unten.
Ich denke, dass das reine HTML auch für Anfänger keine großen Rätsel aufgibt.
Es wird ein Fake-Login erstellt, welcher tatsächlich Daten erfasst und sich daher wie ein echtes Login verhält. Die Daten werden aber nicht im nachfolgenden Script ausgewertet.
Das nachfolgende Script soll verhindern, dass ein Bot oder ein Angreifer vor dem Ausfüllen des Logins bemerkt, dass er gleich auf eine externe Seite weitergeleitet wird.
Das Login-Formular sieht so aus:
Weiterleitung
Nun legen wir die Datei login-bestaetigung.php an:
<!DOCTYPE html> <html lang="de"> <head> <title>Und Tschuess!</title> <style> .container { display: grid; justify-content: center; align-items: center; text-align: center; } </style> <!-- Eine Skunde warten, dann Weiterleitung zu der persoenlichen Honigtopf-URL --> <meta content= "1; URL=PERSOENLICHEN-QUICK-LINK-DES-HONEY-POT-PROJEKTS" http-equiv="refresh"> </head> <body> <!-- PHP-Script für das Zaehlen der Zugriffe --> <?php // Dateiname fuer den Counter $datei = "honigtopf.txt"; // Datei mit "0" erstellen, wenn nicht vorhanden if (!file_exists($datei)) { file_put_contents($datei, "0"); } // Datei auslesen $zaehler = intval(file_get_contents($datei)); // Zugriffszaehler erhoehen $zaehler=($zaehler+1); // Zaehler in Datei schreiben: file_put_contents($datei, $zaehler); ?><!-- Style zuweisen --> <div class="container"> <!-- Text und Bild --> <h1>Alphaorder:</h1> <img alt="Orion" src="spaceship-2745800_640.png"> <h1>Ruecksturz zur Erde!</h1> <a>1. Ein Roboter darf nie einen Menschen angreifen.<br> 2. Ein Roboter muss dem Menschen gehorchen, es sei denn der Befehl verstößt gegen Regel eins.<br> 3. Ein Roboter muss die eigene Existenz schützen, es sei denn dies verstieße gegen Regel eins oder zwei.</a> </div> </body> </html>
Den „PERSOENLICHEN-QUICK-LINK-DES-HONEY-POT-PROJEKTS“ erhaltet Ihr direkt, nachdem Ihr Euch dort angemeldet habt. Die bitte entsprechend im Script ändern. Nicht wundern, die persönlich URL liegt auf irgendeiner Seite, die bei diesem Projekt mitmacht, das ist in der Regel ausserhalb des Geltungsbereichs der DSGVO, bzw. der GDPR.
Hier kommt die automatische Weiterleitung ins Spiel, die den Angreifer auf die Seite des Projekts schickt, wo seine Daten ausgelesen werden. Nun, wie man oben sehen kann, hat der Bösewicht gleich mehrfach bestätigt, dass es nichts Gutes im Schilde führt und er es total knorke findet, wenn nun seine Daten außerhalb der EU gesammelt werden. Mehr kann man die Leute nicht mehr warnen. Oder die Bots. Das werden zu 99,9 % Bots sein – der Rest ist halt dämlich.
Damit wir auch etwas Spaß haben und den Erfolg sehen, wird in einer Datei gezählt, wie oft jemand in den Honigtop gefallen ist. Das geschieht mit einem kleinen PHP-Script.
Der Rest ist die Alphaorder und die Robotergesetze, sind ja schließlich hauptsächlich Bots, die die Fake-Login-Site benutzen.
Die Weiterleitungsseite kann man innerhalb von einer Sekunde natürlich nicht komplett lesen, deshalb hier ein Screenshot:Ja, ja, die Orion ist nicht mittig, aber das ist eben auf dem Bild von Pixabay auch so. Mir echt egal.
Das andere fehlende Bild des WOPR-GSD-Logos habe ich von der Website der Raumpatrouille-Fans geklaut und verändert. Hat eh nie die Schöpfungshöhe erreicht. Nicht mal mit dem WOPR-Schritzug. War Operation Plan Response, grob übersetzt Kriegsszenario-Reaktion(s-Rechner).
Was habe ich davon?
Nun, Du kannst aus den o.a. Erweiterungen des Projektes etwas in Deine Website einbinden und schon so Bots, Spammer und Angreifer von Deiner Website ausschließen. Datenschutz? Nun, Du lädst nicht die IPs oder sonstige Daten Deiner Besucher hoch, sondern blockierst nur die Besucher, deren IP in der Blacklist des Projektes auftaucht. Die sollte, da sie sehr umfangreich ist, nur alle 14 Tage automatisch aktualisiert werden.
Für WordPress gibt es zum Beispiel Honeypot Toolkit, das zudem noch einen Login-Wächter mitbringt, der bei zuvielen echten Anmeldeversuchen, den User sperrt und seine IP auf die Blacklist setzt.
Datenschutz:
Im Internet gibt es viele deutsche Seiten, die das Honeypot Project in der Datenschutzerklärung aufgeführt haben. Man fragt sich warum, denn eigentlich sind die meisten Honeypot-Plugins für normale Besucher und Browser unsichtbar, es werden also gar keine Daten erhoben. Wie dem auch sei, hier die Datenschutzerklärung:
Project Honeypot Meine Website ist Teil des freiwilligen Antispam-Netzwerks projecthoneypot.org, welches von der Firma Unspam Technologies betrieben wird. Unspam Technologies, Inc. P.O. Box 57265 Murray, UT 84157-0265 USA Zu diesem Zweck existieren auf dieser Website sog. "Honigtöpfe", unsichtbare Formulare und Links, die i.d.R. nur von Bots erkannt werden können, die den Quelltext der Website scannen. Honeypots werden eingesetzt, um Informationen über Angriffsmuster und Angreiferverhalten zu erhalten. Als Seitenbetreiber habe ich ein berechtigtes Interesse am Schutz meiner Systeme, der Daten und der Besucher dieser Website. Die DSGVO untersagt es, IP-Adressen ohne Nutzereinverständnis an nicht entsprechend gerüstete Server in den USA und anderen Ländern zu senden. Derzeit liegt keine DSGVO-Konformitätserklärung seitens Unspam Technologies vor, daher ist nur der Honigtopf-Teil dieser Technik aktiviert. Dieser erkennt bösartige Skripte und Bots, die keine natürlichen Personen sind und für die daher die DSGVO nicht gilt, und übermittelt deren IP-Adressen an das weltweite Netzwerk der Firma. Für natürliche Personen als Besucher meiner Website bleibt diese Technik unsichtbar, wirkungslos und ohne Folgen, da deren Besuch nicht erfasst wird. Auch die Kommentarfunktion wird NICHT durch das Project Honeypot geschützt. Auf dem Server dieser Website existiert ein versteckter administrativer Bereich. Auf dieses können durch Brute-Foce-Scannen der Verzeichnisstruktur des Servers auch natürliche Personen Zugriff erlangen. Versuchen Sie also nicht, sich im Backend dieser Seite anzumelden. Sie werden dann automatisch an einen Server des Honypot-Netzwerkes weitergeleitet. Bedenken Sie zudem: Wer unbefugt sich oder einem anderen Zugang zu Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, unter Überwindung der Zugangssicherung verschafft, wird ist gemäß § 202a deutsches Strafgesetzbuch (StGB) mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft. Weitere Informationen zum Umgang mit IP-Adressen seitens projecthoneypot.org finden Sie in deren Datenschutzerklärung: www.projecthoneypot.org/privacy_policy.php
Bot-Zähler
Mit einem kleinem PHP-Schnipsel, den wir überall einfügen können, ist es auch möglich, den o.a. Zähler auszulesen:
<?php $Zaehler = file_get_contents('https://DEINE-DOMAIN/backend/honigtopf.txt'); echo $Zaehler; ?>
„DEINE-DOMAIN“ natürlich auch hier mit Deiner Domain (z.B. Musterwebsite.de) ersetzen.
Wie sieht das dann aus? Na, so: