Teergrube für Bots: Wie man die Effizienz von SSH-Angriffen senkt

Jede bestehende Internet-Verbindung lockt bekanntlich Angreifer an. Normalerweise versuchen diese es mit Bots, die ständig durch die Netze scannen, Zugänge zu beliebigen Systemen zu finden. Insbesondere offene SSH-Ports werden hier gern kontaktiert. Die Bots versuchen dann mit verschiedenen Standard-Passwörtern Zugang zu bekommen - was auch immer wieder gelingt, wenn sie beispielsweise auf schlecht konfigurierte IoT-Systeme, Homerouter und ähnliche Geräte stoßen.

IP-Scans ausbremsen

Um den Bots ihre Arbeit zu erschweren, schlug der Entwickler Chris Wellons vor einiger Zeit vor, digitale Teergruben im Netz aufzustellen. Hier geht es darum, nicht wie sonst möglichst schnell alle Anfragen abzuarbeiten, sondern künstlich für Verzögerungen zu sorgen. Denn wer sich manuell bei einem SSH-Dienst einloggt, wird kein Problem damit haben, wenn nach dem Aufruf des Zielrechners und der Passwort-Abfrage eine Sekunde vergeht.

Bei einem Bot jedoch, der möglichst schnell riesige Adress-Pools abgrasen soll um an jeder IP-Adresse zu versuchen, mit mehreren Standardpasswörtern eine SSH-Verbindung aufzubauen, kommen hier schnell lange Arbeitszeiten zusammen. Das können euch die Kollegen von SemperVideo hier demonstrieren. Solange es die Angreifer hier mit einem Teergruben-System zu tun haben, können sie keine anderen Rechner attackieren. Und wenn viele solcher Bremsen im Weg liegen, wird die Arbeit extrem ineffizient.

Mehr von SemperVideo: Auf YouTube
Dieses Video empfehlen
Kommentieren6
Jetzt einen Kommentar schreiben
 
Für solche Angriffe werden gerne Botnetze genutzt. Und wenn man 100.000 oder gar 1 Mio. Botnetzrechner einsetzt, dann interessiert es nicht so sehr, ob jeder einzelne 1 Sekunde oder 1 Millisekunde für 1 Anfrage braucht. Natürlich würde es die Gesamtzahl der Angriffszugriffe ein klein wenig senken, aber das löst das Problem nicht. Und die genannten Größen sind bei Weitem noch nicht die größten Botnetze.
 
@Nunk-Junge: Eigentlich gehören SSH-Zugänge für Root auch absolut dicht gemacht. Sowas läuft normalerweise unter einem normalen Nutzer-Account und von dort aus geht man zu Root. Damit läuft ein Standard-Angriff auf Port 22 mit dem Nutzer Root generell schon in die Hose.

Und wenn man dann noch richtig professionell arbeiten möchte, arbeitet man mit nem Key-File, anstelle einem Passwort und dann ist das Ding absolut Wasserdicht.
 
Einfachster Weg: SSH-Port > 1024 stellen und schon hat man Ruhe und die Logs werden nicht mit trillionen Zugriffen zugemüllt. Natürlich Zugriff nur via Public/Private-Key für einen normalen user und gesperrten root.
 
Genau das habe ich auch gemacht nachdem ich das Video von SemperVideo gesehen habe.
Ich hätte nicht gedacht von wie vielen ip-Adressen die Versuche kommen sich bei mir einzuloggen.

Man sieht ja die Benutzernamen mit denen sich versucht wird einzuloggen.

Meine Liste mit Benutzernamen:
admin
default
MikroTik
profile1
user1
admin1
root
ubnt
administrator
web
user
support
tech
demo
telecomadmin
db
testuser
oracle

Das wiederholt sich ständig, also hat da jemand ein Script laufen welches aus einer Liste von ip-Adressen versucht sich auf dem Server einzuloggen.

Da hat schon mal jemand die eingegebenen Passwörter mitgeloggt:
https://hackernoon.com/how-ive-captured-all-passwords-trying-to-ssh-into-my-server-d26a2a6263ec
Das deckt sich mit meinen Benutzernamen.
 
Moment: bedeutet Teergrube nicht, dass es zunehmend langsamer wird? Im Artikel klingt es, als würde nur der einzelne Vorgang verlangsamt. Dann wäre PBKDF auch eine "Teergrube"

Witzige Idee, aber ist das eine SSH-Eigenimplementierung (never code your own crypto) oder wird das nur z.B. OpenSSH vorgeschaltet?

NAchtrag: Das ist nur ein fake-SSH, der gar nicht als eigentlicher SSH funktioniert und damit den Angriffauf einen echten SSH auch gar nicht ausbremst.
Kommentar abgeben Netiquette beachten!
Einloggen