Massive Angriffe auf ssh

  • Guten Tag zusammen,


    seit ein paar Tagen erhalte ich massiv Meldungen von Fail2ban über bans auf meinem vServer, der nun schon seit Monaten online ist. Bisher hielten sich die Meldungen einigermaßen in Grenzen, aber seit ein paar Tagen explodieren die Fälle...

    Hat irgendwer die gleichen Erfahrungen gemacht?


    Gibt es eine einfache Möglichkeit, IPs mit Fail2ban dauerhaft zu sperren? Oder macht es Sinn, die bantime massiv zu erhöhen?


    Bisher läuft ssh auf dem Standardport. Macht es Sinn, den SSH-Port zu ändern? Ich habe jetzt schon einiges dazu gelesen, aber die Meinungen gehen da doch auseinander...


    Die Entwicklung macht mich ein bisschen unruhig und ich frage mich, ob der Server genügend abgesichert ist. Welche Maßnahmen würdet ihr den als Standard zur Absicherung empfehlen?


    Herzliche Grüße,


    Steffen

  • SSH-Port ist eben eine rein kosmetische Änderung. Davon wirds nicht sicherer. Höchstens in den Logs etwas ruhiger. Habe ich früher auch so gemacht.


    Ich bin auf Wireguard umgestiegen und sehr glücklich damit. Alle Dienste die nicht öffentlich sein müssen, lauschen nur am Wireguard.


    Und da Wireguard erst gar keine User/Passwort-Logins unterstützt, und auf falsche Pakete auch gar nicht erst antwortet, brauchts da weiters auch kein fail2ban.


    ( PS: Dafür muss man bei Wireguard andere Dinge beachten, es ist eben eine vollwertige Netzwerkverbindung, die auch dann aktiv ist, wenn man gerade gar keine offene SSH-Session hat bzw. eben auch für andere Protokolle nutzbar ist. )

  • Hatte ich vor einiger Zeit auch.

    Im Gegensatz zu einigen anderen hier, bin ich der Meinung, dass es in einem solchen Fall durchaus Sinn macht den ssh-Port zu ändern.

    Besser noch auf Login über key umstellen und Passwort-Login ganz abschalten, falls das möglich ist.

    Bei fail2ban fahre ich ganz gut mit einem zusätzlichen jail. Das puffert etwas ab:

    /etc/fail2ban/jail.local:

  • Die Idee mit dem ssh-jail finde ich gut. Werde ich gleich einrichten.


    Login per key ist eingerichtet und Passwort-Login abgeschaltet. Alle Ports bis auf ssh, http und https sind geschlossen.


    Knock finde ich auch interessant. Werde ich bei Gelegenheit mal ausprobieren.


    Aber irgendwie bleibt immer das Gefühl, dass ich noch mehr machen müsste....

  • fail2ban aktivieren, root-logins abdrehen, User-Whitelist machen, ssh-keys anlegen und zeitweise gegen sicherere austauschen - eventuell überhaupt den Zugriff für gewisse Teile der Welt sperren. Und gut ist's.

  • Falls du nur SSH user mit key oder sehr sicherem Passwort hast, würde ich mir über fehlgeschlage Login keine grossen Gedanken machen.


    Dann eher über erfolgreiche Logins :evil: (siehe https://forum.netcup.de/admini…ei-reboot-oder-ssh-login/)


    Edith sagt: ich schränke die user zusätzlich noch mit "AllowGroups sshuser" ein. root und die meisten user sind da nicht drin.

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus

  • Ich wiederhole meine Empfehlung auch noch einmal :)

    (Falls man kein "klassisches" Port-Knocking haben möchte.)

    Danke für die Erinnerung! Da gab es ja hier noch das (Meta-)TODO, die Nutzung dieses Werkzeugs auf die TODO-Liste zu setzen… ;(

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Ruhe im Logfile ist auch, wenn man den sshd nur auf einer eigenen ipv6 Adresse lauschen lässt. Man muss natürlich bei allen Clients ipv6 haben. Für die Sicherheit sorgt man weiterhin mit Login nur per Key.

  • Hallo,

    ich denke, dass ich ein sehr sicheres Passwort nutze, da es dreistellig lang und in KeePass gespeichert ist. Ist es nur mit SSH-Key tatsächlich sicherer oder genau so sicher, wenn dieser auf meinem Rechner liegt? Ich habe immer Angst, dass irgendjemand in mein Windows PC kommt und den einfach klaut. Oder ist der SSH-Key auch mit einem Passwort belegt? Aus Bequemlichkeit habe ich nur ein SSH-Key ohne Passwort erstellt, als ich mal lokal etwas testen wollte.

  • Oder ist der SSH-Key auch mit einem Passwort belegt?

    Du kannst den Key mit einer Passphrase verschlüsseln, das geht auch nachträglich. "Passphrase" deutet schon an, dass das etwas länger sein sollte. Falls jemand an deinen Key kommt, dann kann er bei sich lokal versuchen, den zu entschlüsseln. Also kann er sehr viele Versuche pro Sekunde durchführen, deswegen: ordentlich lang und aus keinem Wörterbuch. Wenn es dann beim Eingeben nervt: ssh-agent verwenden, dann muss man das nur einmal pro Boot eingeben.


    Ein sehr langes Passwort auf dem Server halte ich auch für sicher. Du musst halt sicherstellen, dass alle User, für die ein ssh-login möglich ist, so ein gutes Passwort haben. Falls du nur selbst drauf willst: erlaube den ssh-login nur für dich.

  • 2FA mit TOTP (Authenticator App auf Client Seite, PAM Modul auf dem Server) wäre auch noch eine Möglichkeit zur zusätzlichen Absicherung.

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus