SSH-Angriffe schon am ersten Tag

  • Hallo zusammen,


    ich habe gerade einen Root Server bekommen und muss schon seit dem ersten Tag feststellen, dass extrem viele Angriffe per SSH stattfinden. Bin gerade dabei, den Server zu sichern. Fail2Ban ist schon an Bord. Per root logge ich mich nicht ein und nutze einen weniger priveligierten User mit sudo. Bisher ist noch nichts weiter veröffentlicht und so stelle ich mir die Frage, ist das normal? Seit gestern 17:00 Uhr zähle ich etwa 5000 fehlerhafte Logins?!


    Wie sind eure Erfahrungen? Sollte das der normale Wahnsinn sein, frage ich mich auch, warum Server immer noch mit aktiviertem SSH ausgeliefert werden. Ich denke, der Port 22 gehört auf jeden Fall dicht gemacht.


    Gruß,

    Mustafa

  • Ja, das ist heutzutage leider völlig normal...

    Ansonsten fail2ban, root-Login via sshd_config deaktivieren, sichere Passwörter und ssh-Login ausschließlich über Keys erlauben

    Zusätzlich lasse ich mich benachrichtigen, wenn sich einer auf dem Server einloggt

  • Ja, das ist heutzutage leider völlig normal...

    Ansonsten fail2ban, root-Login via sshd_config deaktivieren, sichere Passwörter und ssh-Login ausschließlich über Keys erlauben

    Zusätzlich lasse ich mich benachrichtigen, wenn sich einer auf dem Server einloggt

    Dem kann ich mich so anschließen. Das ist zwar kein Sicherheitsfeature bzw. bringt nicht mehr Sicherheit, aber zumindest Ruhe rein: Setz den SSH Port einfach auf irgend einen hohen Wert. Wie gesagt, das erhöht nicht die Sicherheit, bringt aber auf jeden Fall Ruhe rein.


    Oder benutze gleich ein VPN, um auf die Dienste auf dem Server zuzugreifen. ;)

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber

  • Das ist der ganz normale „Wahnsinn“ im Internet und dies geschieht nicht nur über Port 22, sondern auch bspw. über Port 21, 80, 443 usw. Die Masse der Angriffe kommt aus Botnetzen. Es ist genau wie Spam: Niemand will es, aber es ist da.


    Ansonsten kannst du neben den Tipps von timkoop auch noch Zwei-Faktor-Authentifizierung für SSH einrichten und die erlaubten IP-Adressen einschränken: https://infosec-handbook.eu/blog/wss1-basic-hardening/

  • Danke für die Tipps - und willkommen in der Realität könnte man sagen:-). An die Möglichkeit, den Server per VPN zu verwalten, hatte ich noch gar nicht gedacht. Guter Hinweis.Danke dafür...

  • Danke für die Tipps - und willkommen in der Realität könnte man sagen:-). An die Möglichkeit, den Server per VPN zu verwalten, hatte ich noch gar nicht gedacht. Guter Hinweis.Danke dafür...

    Wobei der VPN Zugriff ebenfalls ein Angriffspunkt darstellt. Im Grunde verlagerst du die Angriffe nur auf einen anderen Dienst (ok, vermutlich gehen die Botnetze eher auf SSH als auf VPN, aber die Grundproblematik bleibt ja die gleiche). Du vertraust dann einfach nur einer anderen Software. Wobei ein aktuelles OpenSSH schon relativ robust und stabil läuft. Wenn da nicht zufällig die Zugangsdaten in falsche Hände geraten ist das aus meiner Sicht nicht unsicherer als ein VPN. Fail2Ban ist da schon sehr hilfreich. Man konzentriert sich manchmal so sehr auf die eigentlich schon stabilen und zuverlässigen Punkte, dass man meist das Offensichtliche außer Acht lässt wie z.B. veraltete PHP Applikationen, Ruby on Rails, Java, ... Je nachdem, was der Server macht, ist SSH in der Regel dein kleinstes Problem ;) Das nur nochmal so als Hinweis in den Raum geworfen.

  • Paul, das mag richtig sein, was du schreibst. Allerdings gebe ich auch zu bedenken, dass es immer mal wieder vorkommt, dass Passwörter im Netz landen (Stichwort: HaveIBeePawned). Da sind sicher auch viele Administratoren dabei, die genau diese Passwörter auch munter in Putty für ihre Server verwendet haben. Das ist noch ein Faktor, der vielleicht grundsätzlich gegen Username/Passwort spricht. Daher werde ich mir wohl die SSH Key- Authentifikation einrichten.

  • Jo, komplett normal, egal welcher Anbieter, bei IP Pools vom digitalen Ozean oder dem grünen Anbieter dauert es keine 3sec und die Bots attackieren den SSH Port, ...


    Auch wenn es hier nicht gerne als Abwehrmaßnahme gesehen wird, aber wenn du den SSH Port änderst, hast du in 99% der Fälle deine Ruhe. Ist nach dem Ändern des root pw das erste was ich mittels Script bei jedem neuen Server ändere.


    Ansonsten sind die Server und die Community spitze hier. Viel Spaß :)

    Meine Produkte: definitiv zu viele, RS, VPS, Domains, Webhosting, ...

  • Zusätzlich noch eine Benutzer Gruppe setzten welche nur per SSH rein darf. So wird vermieden dass ein extra User sich ein loggen kann.


    /etc/ssh/sshrc

    Wie timkoop schon schrieb ist auch Recht Net. Wir lösen ein Icinga2 Alarm, sowie einen e-mail dort aus. Wenn die IP unbekannt

  • Auch wenn es hier nicht gerne als Abwehrmaßnahme gesehen wird, aber wenn du den SSH Port änderst, hast du in 99% der Fälle deine Ruhe. Ist nach dem Ändern des root pw das erste was ich mittels Script bei jedem neuen Server ändere.


    Ansonsten sind die Server und die Community spitze hier. Viel Spaß :)

    Den SSH Port ändere ich auch. Vielleicht liege ich ja komplett falsch, aber meine Überlegung dahinter ist, dass dann die Masse der Angriffe auf den Standard SSH-Port schon von der Firewall geblockt wird, was eventuell den Server etwas weniger belastet als wenn bei jedem Zugriffsversuch User und Passwort geprüft werden müssen.

  • Hmmm ;)^^

    Ansonsten kannst du neben den Tipps von timkoop auch noch Zwei-Faktor-Authentifizierung für SSH einrichten und die erlaubten IP-Adressen einschränken: https://infosec-handbook.eu/blog/wss1-basic-hardening/

    :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ich habe zwei vServer mit fast identischer Installation (Groupware, Nextcloud, kein Webhosting).

    Der erste für den produktiven Einsatz, der zweite als Spielwiese, um Dinge auszuprobieren, das Verhalten zu beobachten, ...


    Auf ersterem habe ich den SSH Port umgelegt, auf zweiterem nicht.

    Auf ersterem bekomme ich keinerlei Fremdlogins, auf dem zweiten viele (1000-2000 Versuche pro Tag).


    Fail2ban nutze ich bisher noch nicht. Will sagen: Das simple Verlegen des SSH Ports behebt die ganzen Bot Angriffe.

  • Fail2ban nutze ich bisher noch nicht. Will sagen: Das simple Verlegen des SSH Ports behebt die ganzen Bot Angriffe.

    Nein, es behebt sie nicht, es blendet sie nur aus. Irgendwann kommen die Bots vielleicht auf die "Idee", mal (random) andere Ports zu scannen... Aber muss jeder selbst wissen, wie (bzw. ob) er seine Server absichert (Fail2ban würde ich trotzdem nutzen, es frisst nicht viele Resourcen und bietet doch noch zusätzlich Sicherheit)...


    EDIT: bzw. kann der "Bot" ja auch ein echter Mensch sein, der mal einen Portscan ausführt und dann ein bisschen ausprobiert, bis es klappt. Durch mangelndes Fail2ban blockierst du den Angreifer ja nie, er kann also so lange probieren bis es klappt

  • Fail2ban nutze ich bisher noch nicht.

    Das Umlegen des Ports schützt nur vor den regulären Angriffen der Bots. Ein gezielter Angriff auf dein System (Post bekannt, Nutzer bekannt) kann durch Fail2Ban abgeblockt werden, bevor es zu weiteren Schäden kommt.

  • Oft wird leider zuviel in einen Post hineininterpretiert, bzw. missverstanden.


    Mein Hinweis, dass ich fail2ban bisher noch nicht nutze, impliziert doch eigentlich schon, dass ich es noch nutzen werde, bisher aber noch nicht implementiert habe. Zusätzlich weiß man dadurch, dass das nicht 1000 individuelle Angriffe sind, sondern eben viele auch von der selben IP kommen können (und dies auch tun), was, meiner Meinung nach, ein wichtiger Hinweis ist.


    Und natürlich schützt ein Umlegen des Ports nur vor den regulären Angriffen des Bots, nicht umsonst schrieb ich "behebt die ganzen Bot Angriffe."

    Wobei auch fail2ban die Angriffe nur ausblendet, nur werden die Regeln eben automatisch dynamisch der Firewall hinzugefügt

    Und natürlich kann ein Bot auch auf einem anderen Port angreifen.

    Und natürlich wird ein Mensch ganz andere Mittel anwenden, um einen Server direkt anzugreifen.


    Aber Logeinträge, die durch 08/15 bots auftauchen, werden dadurch eliminiert.


    Ohne fail2ban, korrekt, kann ein Angreifer so lange probieren wie er will. Korrekt. Wie lange wäre das dann nochmal, bei einem 15 Zeichen Passwort und einem delay von 1s nach jedem Versuch? Ahja, 1.469*10^22 Jahre im worst case fall.


    Und wieder will ich fail2ban, keyfiles, ... nicht weg reden.

  • Ich sagte es ja, da erwähnt man den Vorteil des Ändern des SSH Ports und schon hat man ne Grundsatzdiskussion zu dem Thema.


    Also ich fahre auf all meinen Kisten ganz gut damit. Fail2Ban läuft natürlich trotzdem hat aber nie was zu tun.


    Wenns mal wirklich einer auf eure Server abgesehen habt, könnt ihr eh nix machen. Man sperrt die Leute zwar aus, aber wenn ich Langeweile habe und die gute alte LOIC auf den Server richte,... ?

    Meine Produkte: definitiv zu viele, RS, VPS, Domains, Webhosting, ...

  • Als neuen Aspekt werfe ich mal Portknocking in den Raum. Dabei wird der SSH Port per Firewall grundsätzlich geschlossen. Eine konkrete IP kann aber für die Verbindung zugelassen werden indem sie an bestimmten Ports in bestimmter Reihenfolge "anklopft". Das bewirkt dass die anklopfende IP für z.B. 15 Sekunden für den SSH-Verbidungsaufbau "freigeschaltet" wird.


    Nutze ich jetzt seit einigen Wochen wieder aktiv.

  • Als neuen Aspekt werfe ich mal Portknocking in den Raum. Dabei wird der SSH Port per Firewall grundsätzlich geschlossen. Eine konkrete IP kann aber für die Verbindung zugelassen werden indem sie an bestimmten Ports in bestimmter Reihenfolge "anklopft". Das bewirkt dass die anklopfende IP für z.B. 15 Sekunden für den SSH-Verbidungsaufbau "freigeschaltet" wird.


    Nutze ich jetzt seit einigen Wochen wieder aktiv.

    Hatte ich früher mal im Einsatz, das nervige dabei war, das, zumindest zum damaligen Zeitpunkt, keine Möglichkeit bestand, das Portknocking automatisiert vom Smartphone auszuführen.

    Meine Produkte: definitiv zu viele, RS, VPS, Domains, Webhosting, ...

  • Hatte ich früher mal im Einsatz, das nervige dabei war, das, zumindest zum damaligen Zeitpunkt, keine Möglichkeit bestand, das Portknocking automatisiert vom Smartphone auszuführen.

    Modernes Portknocking auf kryptografischer Basis: fwknopd (funktioniert auch unter Android und funktioniert sogar mit SSH bzw. OpenVPN Apps einwandfrei)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)