Am Tag 2-3 x Mails von Fail2Ban mit Loginversuchen

  • Ich habe seit neusten einem RS und habe vorher nur zur Hause in der VM probiert und geübt. Nun bin ich am übelregen ob ich alles richtig gemacht habe oder nicht.

    Auf jeden Fall bekomme ich mehrfach am Tag Mails von fail2ban mit folgendem Text das einige IPS etwas versucht haben.

    Diese werden natürlich gebannt, aber 2-3 x am Tag kommt sowas rein und nun vermute ich einen Fehler zu haben.


    Lines containing failures of 43.134.75.120 (max 1000)

    2024-06-05T14:19:57.157148+02:00 v2202404190794263410 sshd[42252]: Connection from 43.134.75.120 port 42756 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:19:59.103287+02:00 v2202404190794263410 sshd[42252]: Connection closed by authenticating user root 43.134.75.120 port 42756 [preauth]

    2024-06-05T14:20:06.547103+02:00 v2202404190794263410 sshd[42254]: Connection from 43.134.75.120 port 55212 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:08.509852+02:00 v2202404190794263410 sshd[42254]: Invalid user guest1 from 43.134.75.120 port 55212

    2024-06-05T14:20:08.904654+02:00 v2202404190794263410 sshd[42254]: Connection closed by invalid user guest1 43.134.75.120 port 55212 [preauth]

    2024-06-05T14:20:16.145372+02:00 v2202404190794263410 sshd[42257]: Connection from 43.134.75.120 port 40186 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:18.170748+02:00 v2202404190794263410 sshd[42257]: Connection closed by authenticating user root 43.134.75.120 port 40186 [preauth]

    2024-06-05T14:20:25.467250+02:00 v2202404190794263410 sshd[42259]: Connection from 43.134.75.120 port 52310 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:27.338935+02:00 v2202404190794263410 sshd[42259]: Connection closed by authenticating user root 43.134.75.120 port 52310 [preauth]

    2024-06-05T14:20:34.672924+02:00 v2202404190794263410 sshd[42261]: Connection from 43.134.75.120 port 35968 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:36.609512+02:00 v2202404190794263410 sshd[42261]: Connection closed by authenticating user root 43.134.75.120 port 35968 [preauth]

    2024-06-05T14:20:43.904052+02:00 v2202404190794263410 sshd[42263]: Connection from 43.134.75.120 port 48136 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:45.922198+02:00 v2202404190794263410 sshd[42263]: Connection closed by authenticating user root 43.134.75.120 port 48136 [preauth]

    2024-06-05T14:20:53.267124+02:00 v2202404190794263410 sshd[42265]: Connection from 43.134.75.120 port 60506 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:20:55.226018+02:00 v2202404190794263410 sshd[42265]: Connection closed by authenticating user root 43.134.75.120 port 60506 [preauth]

    2024-06-05T14:21:02.517736+02:00 v2202404190794263410 sshd[42267]: Connection from 43.134.75.120 port 44618 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:21:04.510039+02:00 v2202404190794263410 sshd[42267]: Connection closed by authenticating user root 43.134.75.120 port 44618 [preauth]

    2024-06-05T14:21:11.825583+02:00 v2202404190794263410 sshd[42269]: Connection from 43.134.75.120 port 56658 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:21:13.460987+02:00 v2202404190794263410 sshd[42269]: Invalid user test2 from 43.134.75.120 port 56658

    2024-06-05T14:21:13.812604+02:00 v2202404190794263410 sshd[42269]: Connection closed by invalid user test2 43.134.75.120 port 56658 [preauth]

    2024-06-05T14:21:21.277125+02:00 v2202404190794263410 sshd[42272]: Connection from 43.134.75.120 port 40520 on <meineIP> port 2222 rdomain ""

    2024-06-05T14:21:23.192226+02:00 v2202404190794263410 sshd[42272]: Invalid user backups from 43.134.75.120 port 40520

    2024-06-05T14:21:23.653821+02:00 v2202404190794263410 sshd[42272]: Connection closed by invalid user backups 43.134.75.120 port 40520 [preauth]


    SSH Port ist geändert und auch Root Login Ausgeschalten soweit kommt nur mein User mit Key drauf.


    Edit: Gibt es hier oder irgendwo Leute, welch meinen Server testen auf Sicherheitslücken?

  • Das ist recht normal:


    Code
    cat /var/log/auth.log | grep -i "Invalid User" | wc -l
    10703
    cat /var/log/auth.log | grep -i "Disconnected from authenticating user root" | wc -l
    2856

    Das wären damit aktuell bei einen meiner Server gut 13.000 Login versuche aufm ssh innerhalb von paar tagen. sshd auf einen alternativen Port laufen zu lassen bringt einen leider auch nicht soviel. Besonders weil 2222 sehr beliebt ist als alternativer port.

    Fail2ban + nur public key auth zu erlauben und sein System immer auf den aktuellsten patch stand zu halten reicht in der Regel aus um ein ssh abzusichern.

    Unter Debian/Ubuntu kann man noch überlegen ssh/openssl über unattended-upgrades automatisch updaten zu lassen. Aber das ist geschmackssache. Weil wenn da was schief geht man über vnc das wieder fixen muss.

  • Wenn du wirklich Ruhe haben willst, mach dir ein Wireguard VPN und lass den SSH-Server nur auf dem VPN-Interface laufen. Nach Wireguard VPNs kann man nicht effektiv scannen, weil die keinerlei Fehlermeldung ausgeben: Wenn der Client den Key nicht kennt, bekommt er einfach gar nichts zurück, genau wie bei einer "drop" Firewall.

  • Ich schneide über munin mit, was meine Firewall und meine WAF so feststellen. Portscans, Zugriff von IPs auf Blacklisten, PHP Attacken, usw. Im Schnitt kommt ein Zugriff pro Sekunde vorbei, den ich nicht will.


    Ich werde oft dafür kritisiert, wenn ich Neulinge hier im Forum darauf aufmerksam mache, dass sie ihren Server absichern sollen, bevor sie anfangen, die eigentliche Applikation einzurichten. Aber genau das ist der Grund dafür, und es ist wichtig. Sonst hat man wenig Freude an seinem Server.

  • wenn einfach ein nicht offensichtlicher Port für SSH verwendet wird, gerne fünfstellig

    Als ich das gerade gelesen habe, kam mir spontan die Idee evtl. einen Sicherheitsgewinn durch zufällige Ports zu schaffen.


    Die Implementierung könnte wie folgt aussehen:

    • TOTP läuft auf dem Server & Client und wird zweckentfremdet:
    • Der aktuelle 6-stellige TOTP-Token wird auf 5 Stellen bis max. 65535 dividiert und ggf. mit einer Ausschlussliste bestimmte Ports verhindert.
    • Die Firewall wird entsprechend umkonfiguriert und der SSH-Port am Server geöffnet.
    • Der Server lässt den Port offen sobald eine erfolgreiche Verbindung aufgebaut wurde - andernfalls wird er geschlossen wenn ein neuer Zeitabschnitt anfängt oder die Verbindung beendet wurde.

    Ist nur so eine Idee.

    Die Wahrscheinlichkeit dass der ständig wechselnde SSH-Port erreicht wird (im Fall keiner laufenden Sitzung) dürfte deutlich reduziert sein. Angreifer bekommen dadurch bereits beim Türsteher (Firewall) einen Platzverweis.


    Allerdings wird der arme Türsteher alle 30 Sekunden von Tür zu Tür gehetzt :D


    Sicher gibt's jemand, der bereits eine existierende Lösung für so eine dynamische Portlösung kennt?


    Falls es sowas noch nicht gibt (und es tatsächlich einen Vorteil bringt) ist die Idee hiermit unter CC BY-SA 4.0 lizenziert ;)

  • Ich nutze generell bei allen einen 5-Stellingen Port inkl. Key. Zudem kommt man auf alle Server nur über meinen Wireguard (sie Post von NaN).

    Auf meinem Wireguard muss man natürlich ohne VPN-Verbindung kommen, dafür wird aber zusätzlich zum Port & Key noch eine 2FA benötigt.

    Fahre mit diesem Setting seit Jahren ohne Probleme.

  • Auf meinem Wireguard muss man natürlich ohne VPN-Verbindung kommen, dafür wird aber zusätzlich zum Port & Key noch eine 2FA benötigt.

    Fahre mit diesem Setting seit Jahren ohne Probleme.

    Wireguard mit 2FA finde ich sehr spannend und würde ich auch gerne einrichten. Hast du einen Tipp für mich, wie du das gemacht hast? Wie bekommt man Wireguard dazu, einen zweiten Faktor abzufragen?

  • Ich habe dasselbe Setup wie VeePay - aber mal abgesehen davon:

    Das Grundrauschen ist "normal", allerdings taucht es bei mir trotzdem auf keinem meiner Server auf. Setze als SSH-Port einen 5-stelligen, welcher nicht auf der folgenden Liste auftaucht, und dein fail2ban hat nichts zu tun: https://nullsec.us/top-1-000-tcp-and-udp-ports-nmap-default/

    [RS] 2000 G11 | 2000 G9 | 500 G8 | 2x Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Like 1
  • Kann mir mal bitte jemand erklären was das ganze mit Wireguard sicherer werden soll? Wireguard ist doch nur ein VPN?

    Ich dachte sicherer geht nur, wenn ein kleinen VPS oder RS mit OpenSense baut und darüber zuerst alls laufen lässt, oder bin ich jetzt irgendwie total daneben?


    Bud

    Hatte gestern den Port auf einen Wert geändert der nicht auf der Liste steht udn seitdem hatte ich auch Ruhe.

  • Kann mir mal bitte jemand erklären was das ganze mit Wireguard sicherer werden soll? Wireguard ist doch nur ein VPN?

    Ich dachte sicherer geht nur, wenn ein kleinen VPS oder RS mit OpenSense baut und darüber zuerst alls laufen lässt, oder bin ich jetzt irgendwie total daneben?


    Bud

    Hatte gestern den Port auf einen Wert geändert der nicht auf der Liste steht udn seitdem hatte ich auch Ruhe.

    Das wird dadurch sicherer, da man sich nur auf deine Server einloggen kann, wenn man die IP deines VPN-Servers besitzt.

  • Kann mir mal bitte jemand erklären was das ganze mit Wireguard sicherer werden soll? Wireguard ist doch nur ein VPN?

    Ich dachte sicherer geht nur, wenn ein kleinen VPS oder RS mit OpenSense baut und darüber zuerst alls laufen lässt, oder bin ich jetzt irgendwie total daneben?

    In wie wie weit macht OPNsense & Co die Verbindung sicherer? Gibts dafür eine eigebaute WAF oder ein IPS?

    VPS 1000 G11 | VPS 16 Years | VPS 500 G8 Plus | VPS Karneval 2020 | RS X-Mas 2016 | VPS A Ostern 2017 | VPS [piko|nano|mikro] G11s

  • Kann mir mal bitte jemand erklären was das ganze mit Wireguard sicherer werden soll?

    Hauptsächlich geht es um Ruhe in den Logs. Nach Wireguard VPNs kann man nicht effektiv scannen, deswegen tut das auch niemand und die Logs schweigen. SSH-Zugänge sind heiß begehrt und endlose Versuche mit Account- und Passwortlisten füllen die Logs. Selbst wenn der Server bei jedem Versuch "nur mit Key" antwortet, werden munter weiter Passwörter durchprobiert. Ruhige Logs sind auch ein Sicherheitsaspekt, weil die wichtigen Informationen sonst leicht untergehen.


    Man kann dem aber auch direkte Sicherheitsvorteile abgewinnen: Ein Eindringling muss zwei kryptographische Zugangskontrollen überwinden, um Zugang zu bekommen: das VPN und den SSH-Login. Die Firewall kann den SSH-Server besser abschotten, wenn man den z.B. in Verbindung mit einem Jump-Host noch direkt für bestimmte IP-Adressen erreichbar machen möchte, oder man bindet den SSH-Server überhaupt nur an das VPN-Interface. Das macht Fehlkonfigurationen des SSH-Servers weniger gefährlich. Bei Wireguard gibt es keinen Passwortmodus (bzw. nur zusätzlich zum Schlüssel), während man andere VPNs sehr leicht völlig unsicher konfigurieren kann.


    Vor allem aber: Ruhe.