Ein SSH-Server als Honigtopf

Ein kleiner SSH-Server als Honigtopf

Ein kleiner SSH-Server als Honigtopf, das war die Idee, als ich feststellte, dass einer der von mir betreuten Server andauernd und mehrere tausend mal täglich von brute-force Attacken auf dem SSH Port (22) heimgesucht wurde. Mich interessierte zum einen welche Passworte man ausprobiert und zum anderen woher auf der Welt diese Angriffe kamen. Nach ein wenig Recherche im Internet bin ich auf zwei kleine Projekte gestoßen, die in dann zusammenführte, um die Idee umzusetzen.

Das eine Projekt zeigt wie man einen kleinen SSH-Server in Python baut, der jede Anmeldung ablehnt und Daten sammelt. Das andere Projekt -ebenfalls in Python-zeigt wie man aus einer Liste von IP-Adressen eine Weltkarte mit Markierungen als Bild generiert.

Beide Projekte habe ich angepasst und so verheiratet, dass man die Logdatei des SSH-Servers direkt in die Bildgenerierung einlesen kann. Heraus gekommen ist der honeypot-ssh-server. Für die Ungeduldigen gibt es auf Github auch eine Kurzanleitung, um direkt loszulegen.

Der SSH-Server

Will man noch einen „richtigen“ SSH-Server laufen lassen, so muss dieser auf einen anderen Port gelegt werden. Das erreicht man durch editieren der Datei /etc/sshd/sshd_config, ändert dort den Port und startet dann den Service neu (sudo service sshd restart).

Der Honigtopf-Server sollte nicht als root laufen. Findet doch mal jemand einen Weg dort hinein, hat er gleich Adminrechte. Um den Server unter einem normalen User laufen zu lassen, muss dieser einen Port > 1024 (z.B. 2222) verwenden. Damit die Angriffe auf Port 22 auch auf dem Port 2222 ankommen, muss man sie umleiten. Das geschieht am Einfachsten mit dem Befehl:

iptables -A PREROUTING -t nat -p tcp --dport 22 -j REDIRECT --to-port 2222

Um den Honigtopf-Server automatisch zu starten bietet sich ein Systemd Service an. Eine entsprechende Konfigurationsdatei ist auf Github mit dabei. Man muss nur noch den Pfad editieren, wo man die Dateien abgelegt hat, die Datei nach /lib/systemd/system kopieren, mit sudo systemctl enable hp-ssh-server aktivieren und dann mit sudo service hp-ssh-server starten.

Die Daten logged der Server in der Datei sshlogins.txt und nach ein paar Stunden hatte ich meine ersten paar Tausend Einträge zusammen.

Die Landkarte

Das Programm ip2map.py liest die IP Adressen aus der durch den Server geschriebenen Datei sshlogins.txt ein, sucht über die GeoIP Datenbank die entsprechenden Koordinaten und trägt diese Koordinaten dann als Punkt auf der Karte ein. Wenn ein Server (also die gleiche IP-Adresse) mehrfach in der Datei vorkommt, wird der Punkt jedesmal ein bisschen größer, um die Häufigkeit der Angriffe von diesem Server ebenfalls zu berücksichtigen.

Das Ergebnis sieht dann bspw. so aus:

Ein SSH-Server als Honigtopf

Es sieht also so aus, als ob die Angriffe mehr aus dem asiatischen Raum kommen. Ein kleiner SSH-Server mit Honigtopf, der sogar eine Landkarte hat. ;-)

Abschließend noch zwei Hinweise:

  • seit ich diesen Honigtopf installiert habe, wird fast nur noch der Honigtopf angegriffen
  • auf tuxlog.de läuft gar kein SSH-Server, weder ein echter, noch dieser hier. ;-)

Teile diesen Beitrag

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr …
 


Diese Seite verwendet Cookies. Mit der Nutzung von tuxlog erklärst Du Dich mit der Verwendung von Cookies einverstanden. Detaillierte Informationen über die Verwendung von Cookies auf dieser Website findest Du in der Datenschutzerklärung.

Nach oben scrollen