Jeder der einen Server im Internet zur Verfügung stehen hat, oder den Log eines Routers / Modems bzw. der Firewall einsehen kann, sieht ganz genau, wer den andauernd versucht einzudringen.
Dabei werden ganze Bot-Armeen auf die Welt los gelassen, die nur versuchen, irgendwo einzudringen.
In den meisten Fällen setzen die Hacker hierbei eine sogenannte Wörterbuchattacke ein.
Sie probieren also jede Menge Benutzername + Passwort-Kombinationen aus.
Das probieren sie auch auf dem SSH-Port. Also in der Standardkonfiguration Port 22.
Ab hier kommt Tarpit ins Spiel.
Bei jedem Login, wird ein sogenannter Infobanner angezeigt.
Dieser kann auch frei konfiguriert werden.
Tarpit hat diesen Infobanner so modifiziert, das er extreeeeeeeeeem langsaaaaam an das Ziel gesendet wird.
Um genauer zu sein, es dauert unendlich lange.
Und genau hier bleiben Angreifer nun wortwörtlich kleben.
Da sie nie eine Antwort erhalten, kommen sie nie in die Lage nur eine Benutzernamen/Passwort-Kombi einzugeben.
Zusätzlich müssen sie ihren Angriff auf unser System auch aktiv abbrechen, da von alleine nicht abgebrochen wird. Der Login läuft nie in einen Timeout.
Die Installation ist relativ simpel und kann auf jedem Linux-System umgesetzt werden.
Hier eignet sich z.B. sehr gut ein Raspberry Pi (oder ähnliches).
Er braucht kaum Strom und kann Angreifer so wunderbar den Spaß verderben.
Was brauchen wir?
– Ein Linux-System
– Vollen Root-Zugriff (um Pakete zu installieren)
– Auf dem Linux-System benötigen wir einen freien Port
– Port 22 auf dem Router / Firewall sollte frei sein
Und so installierst du dir ein Tarpit:
1. Aktualisiere dein System
apt update && apt upgrade -y && apt autoremove -y
2. Installiere Python3 PIP
apt install python3-pip -y
3. Installiere Tarpit
pip3 install ssh-tarpit
Fertig!
Nun müssen wir es nur noch mit den notwendigen Infos starten.
4. Hilfe ausgeben, um die möglichen Befehle zu sehen
ssh-tarpit --help
5. Tarpit mit IPv4-Support und auf Port 2222 starten
ssh-tarpit -i 4 -a DEINE-IPv4 -p 2222
Ersetze hierbei DEINE-IPv4 mit der IPv4-Adresse deines Servers. Im lokalen Netzwerk ist es deine lokale IP (z.B. 192.168.XXX.XXX) und bei einem öffentlichen Server, deine öffentliche IPv4.
Wer möchte kann auch mit dem Parameter -D IPv6-Untersützung aktivieren, hat aber bei mir nicht funktioniert.
Wer alles in ein Log ausgeben möchte, nutzt den Parameter -f und gibt einen Pfad für das Log an.
ssh-tarpit -i 4 -a DEINE-IPv4 -p 2222 -f /pfad/zum/log/tarpit.txt
6. Portfreigabe und Portweiterleitung auf dem Router einrichten
Dafür kann ich dir leider hier keine perfekte Anleitung geben, da jeder Router eine andere Konfigurationsmöglichkeit hat.
Schau daher in das Handbuch deines Routers, um zu ermitteln, wie du das einrichten kannst.
Was brauchen wir?
Eine Portweiterleitung von Port 22 auf den konfigurierten Port des Tarpits. Hier in meinem Beispiel Port 2222.
Der Weg sieht nachher wie folgt aus:
Internet → Port 22 → Router → Port 2222 → Tarpit
Wie können wir die Funktion testen?
Verbinde dich einfach in deinem lokalen Netzwerk nun auf Port 2222.
Du solltest auf jeden Fall nicht so „schnell“ eine Antwort erhalten, um ein Benutzername oder dein Kennwort eingeben zu können.
Was bringt das Ganze am Ende des Tages?
– Eine Ressource des Angreifers wird blockiert und diese kann keine weiteren Opfer anfallen.
– Deine IP-Adresse wird mit etwas Glück beim Angreifer auf eine Blacklist gesetzt und du hast (zumindest von ihm) ruhe.
– Du kannst dir mit den gesammelten Daten eine Blacklist zusammenstellen, um auch andere Systeme direkt zu schützen.
– Du versaust Hackern etwas den Tag.