Mit Speck fängt man Mäuse, mit Honeypots schädliche Skripte. Sysadmin-Kolumnist Charly Kühnast greift daher diesmal zu Glastopf – einem Honeypot, der sich zwar schwer installieren, aber leicht administrieren lässt. Jetzt hat er einen Fensterplatz, um Web-Aggressoren bei ihrem unnützen Treiben zu beobachten.
Ein Honeypot ist ein Serverdienst, der eine unsichere oder fehlerhafte Konfiguration simuliert. Er soll Angreifer anlocken, um deren Einbruchsversuche in den vermeintlich verwundbaren Dienst beobachten zu können.
Glastopf [1] ist ein solcher Honeypot, geschrieben in Python. Er gibt vor, ein vor Fehlern strotzender Webserver zu sein. Leider stellen sich die meisten gängigen Distributionen Glastopf nicht als Paket ins Regal. Darum habe ich eine ausführliche Installationsanleitung als Open-Document-Text unter [2] hinterlegt.
Himbeerhonig
Nach der Installation – bei mir auf einem Raspberry Pi – startet das Kommando »glastopf-runner« den Server im Vordergrund. Seine Ausgabe auf der Konsole sieht beim Start etwa so aus wie in Listing 1. Wer eine Fehlermeldung erhält, dass Greenlet nicht aktuell genug ist, installiert am besten die neueste Entwicklungsversion mit dem Kommando:
pip install greenlet==dev
Wenn ich nun meinen Raspberry mit einem Browser ansurfe, erscheint Glastopfs Startseite. Sie sieht nicht besonders schick aus (Abbildung 1), was aber völlig egal ist, denn hier kommen sowieso nur automatische Angriffstools zu Besuch.
Listing 1
Glastopf startet
01 2014-06-17 14:24:03,816 (glastopf.glastopf) Initializing Glastopf 3.1.2 02 using "/opt/myhoneypot" as work directory. 03 2014-06-17 14:24:03,856 (glastopf.glastopf) Connecting to main database with: sqlite:///db/glastopf.db 04 2014-06-17 14:24:04,398 (glastopf.modules.handlers.emulators.dork_list.dork_page_generator) Bootstrapping dork database. 05 2014-06-17 14:24:04,582 (requests.packages.urllib3.connectionpool) 06 Starting new HTTPS connection (1): mnemosyne.honeycloud.net 07 2014-06-17 14:25:08,091 (pyhpfeeds) connecting to hpfriends.honeycloud.net:20000 08 2014-06-17 14:25:09,226 (glastopf.glastopf)Glastopf started and privileges dropped.
Live und aus der Konserve
Da Glastopf im Vordergrund läuft, kann der wachsame Admin nun alle Angriffe live auf der Konsole mitlesen, etwa den SQL-Injection-Angriff in diesem Beispiel:
2014-06-19 10:11:58,339 (glastopf.glastopf) 10.0.0.50 requested GET /?id=-1%20union%20select 1,2,3,4,5,6 on devserver:80
Zusätzlich speichert Glastopf alle Zugriffe in einer SQlite-Datenbank, die in »/opt/myhoneypot/db/« lagert. Um auf sie zuzugreifen, muss SQlite 3 installiert sein (»apt-get -fym install sqliete3« ). Das folgende SQL-Kommando listet die Felder »id« , »source« , »request_url« und »pattern« aller Zugriffe auf den Glastopf auf – aus Platzgründen ist die Ausgabe auf eine Zeile gekürzt:
sqlite> select id, source, request_url, pattern from events;[...] 9|10.0.0.50:52179|/?id=-1%20union%20select%201,2,3,4,5,6
Dank dieses Logging kann ich Zahl und Art der Attacken auf mein Honigglas in Ruhe analysieren. Sollen ruhig noch mehr Viecher kommen!
Infos
- Glastopf: http://glastopf.org
- Installationsanleitung: http://charly.in/glasinst






