Hier mal eine Vorstellung von SSH-Tarpit. Es handelt sich um ein Tool, welches Angreifer aus dem Netz in einem Server/Rechner festklebt.
Der SSH Zugriff auf einen entfernten Rechner erfolgt im Standard über den Port 22. Entsprechend versuchen viele böse Jungs und Mädels, meistens aus dem asiatischen Bereich, offene Ports im Internet zu finden um dann zu versuchen via Wörterbuchabfragen einzubrechen. Daher sollte jeder, welcher SSH im Internet benutzt grundsätzlich den Standardport ändern! Um die Angreifer ärgern gibt es SSH-Tarpit (auf deutsch Teergrube). Normal ist es so, dass bei einer SSH Loginanfrage sofort die Passwortaufforderung angezeigt wird. Dies wird mit SSH-Tarpit verhindert, bzw. so verzögert, das der Angreifer wortwörtlich an dem Server festklebt und nichts mehr machen kann. Seine einzige Möglichkeit ist, die Verbindung zu trennen. So lang der Angreifer bei einem klebt, kann er niemand anderen behelligen was auch sehr gut ist.
Da man den Port von SSH geändert hat, kann man jetzt Tarpit auf dem 22er laufen lassen, bzw. den 22er im Router auf irgend einen anderen umleiten (z.Bsp 2222), so kann man weiterhin SSH uneingeschrengt nutzen.
Wärend ich hier schreibe logge ich meinen Tarpid mit, damit ihr sehen könnt, das sie Scanns aus dem Netz nicht gerade wenig sind.
Installation
Python PIP installieren:
Arch:
Debian:
ssh-tarpit installieren
Arch:
Debian:
jetzt muss ssh-tarpit nur noch gestartet werden
I ~ ssh-tarpit --help 5.4s Fr 03 Feb 2023 13:55:38 CET
usage: ssh-tarpit [-h] [--disable-uvloop] [-v {debug,info,warn,error,fatal}] [-i INTERVAL] [-f [LOGFILE ...]] [-a BIND_ADDRESS] [-p BIND_PORT] [-D]
SSH tarpit that slowly sends an endless banner
options: -h, --help show this help message and exit --disable-uvloop do not use uvloop even if it is available (default: False) -v {debug,info,warn,error,fatal}, --verbosity {debug,info,warn,error,fatal} logging verbosity (default: info) -i INTERVAL, --interval INTERVAL interval between writes in seconds (default: 2.0) -f [LOGFILE ...], --logfile [LOGFILE ...] file(s) to log to. Empty string argument represents stderr. Flag without arguments disables logging completely. Default is stderr only. (default: [''])
listen options: -a BIND_ADDRESS, --bind-address BIND_ADDRESS bind address (default: 127.0.0.1) -p BIND_PORT, --bind-port BIND_PORT bind port (default: 2222) -D, --dualstack force dualstack socket mode. Sets socket IPV6_V6ONLY option to 0 (default: False)
Alles anzeigen
-i der interval zu den einzelnen Abfragen wärend des Verbindungsaufbaus bzw. Banneraustausch
-a Adresse eures Servers
-p welcher Port
-f /Pfad7zur/ssh-tarpid.log <-- wenn ihr eine möchtet