The sys admin's daily grind: Glastopf

Hey, Honey

Article from Issue 168/2014

Good traps catch mice, and honeypots catch malicious scripts. Sys admin Charly resorts to a honeypot in this issue, which, although difficult to install, is easy to manage.

A honeypot is a service that runs on a server and simulates an insecure or incorrect configuration. The idea is to attract attackers with a supposedly vulnerable service and observe their intrusion attempts.

Glastopf [1] is such a honeypot, written in Python. It pretends to be a web server with a hugely vulnerable configuration. Unfortunately, most major distributions do not include a package for Glastopf. This prompted me to post a detailed installation guide as an Open Document text [2].

Raspberry Honey

After installation – in my case on a Raspberry Pi – the following command starts the server in the foreground:


Its output at the command line looks something like Listing 1 when started. If you see an error message stating Greenlet is not recent enough, your best approach is to install the latest development version with the command:

pip install greenlet==dev

Listing 1

Glastopf Starting


Now, when I surf to my Raspberry Pi with a browser, I can see the Glastopf homepage. It does not look particularly appealing (Figure 1), but this it totally irrelevant because it is only visited by automated attack tools.

Figure 1: The fact that the Glastopf front page is no beauty does not really matter. It is only visited by malicious scripts.

Live and Frozen

Because Glastopf is running in the foreground, the vigilant admin can now follow attacks live on the console, such as the SQL injection attack in Listing 2. Additionally, Glastopf saves all the requests in a SQLite database in /opt/myhoneypot/db/. To access it, SQLite 3 must be installed:

apt-get -fym install sqlite3

Listing 2

SQL Injection Attack


The following SQL command lists the fields id, source, request_url, and pattern for all instances of access to Glastopf – I abbreviated the input to a single line to save space:

sqlite> select id, source, request_url, pattern from events;[...]

Thanks to this logging, I can analyze the number and nature of the attacks on my honeypot. I hope more of those nasty critters come to visit!


  1. Glastopf:
  2. Installation guide: (in German)

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More