Kleines Hilfsmittel gegen aktuelle sshd BruteForce Attacken

  • Hi,


    basierend auf einem Blogeintrag (im Repo verlinkt), habe ich hier mal ein kleines Script erstellt: https://github.com/dMopp/ssh-geoblock. Das greift noch bevor der ganze Mist im Log landet und Fail2ban aktiv werden muss. Man kann so (Zumindest mit Debian getestet), einfach alle Länder außer DE aussperren... Seit dem ist bei MIr endlich wieder Ruhe :)


    Es ist nicht perfekt, tut aber seinen Dienst bisher SEHR Zuverlässig (Und lässt sich auf diverse Dienste erweitern, sollte man es wollen)


    Kleiner Hinweis:

    Je nach Fail2Ban Settings, solltet ihr die Logging Message anpassen, sonst spamt Fail2Ban euch trotzdem zu ;)

  • basierend auf einem Blogeintrag (im Repo verlinkt), habe ich hier mal ein kleines Script erstellt:

    Finde ich sehr interessant, danke.


    Das Problem was ich sehe, bei jeder Verbindungsanfrage wird die Bash im Userspace gestartet, um das Script zu interpretieren.

    Der Linux Kernel hat eine integrierte Firewall, die soetwas viel schneller behandeln kann im Kernelspace.


    Für größere Blocklisten im Kernel gibt es zudem https://wiki.archlinux.org/title/Ipset

    Ich würde Länderlisten in ipset laden und kann per iptables das Ganze für mehrere Dientste, oder das ganze System sperren.


    Im Blogeintrag steht zudem:

    Zitat

    Update January 2019: Maxmind have officially dropped all support for the widely used geoiplookup binary and GeoIP Country (v1) database that it used.


    Somit bist du nicht auf eine Datenbank angewiesen, sondern kannst per Cronjob dir andere Länderlisten von z.B. github ziehen.

    Vorschlag: https://github.com/firehol/blocklist-ipsets

  • Der ssh-Dienst ist meiner Meinung nach im Gegensatz zu anderen – zwangsweise exponierten – Diensten wie Webservern (für welche die vom OP genannte Strategie sinnvoll sein kann) optimal dadurch zu schützen, dass man den verwendete Port außerhalb eines VPN nur nach Anklopfen (vgl. knock) temporär für eine einzelne IP-Adresse freischaltet.

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

    Gefällt mir 1
  • H6G

    damit hast die neueren mmdb-Datenbanken

    Externer Inhalt gist.github.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    ich hab bei meinen vServern bei IPv4 die IP-Ranges meines ISPs

    und bei IPv6 die von meinem Tunnel per iptables erlaubt,

    ales andere wird gedropp'd

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

    Gefällt mir 1
  • Das es viele bessere Varianten gibt, ist auch mir klar. Unter Debian funzt geoip noch weiterhin super :). Es sollte nur die „nimm es und es geht“ Variante sein. Problem das ich zB mit Wireguard habe: Wireguard startet NACH ssh und somit muss ich nach jedem reboot den sshd Neustarten. Habe das mit einem @reboot cron gelöst (das Problem habe ich auch generell mit IPv6 in LXC) aber das ist ein anderen Thema :D

  • Pack das teil auf einen anderen Port, falls du sicher gehen willst dass kein Dienst den SSHD-Port übernimmt machst du das re-routing von außen Port XX nach innen auf port 22 via iptables/firewall und du solltest schon einiges an ruhe haben. Aber vielleicht habe ich auch Glück. Ehrlicherweise hab ich ungern externe Quellen für IP-Sperren auf SSH, das klingt so als ob meine bei der nächsten IPv4 rotation auch mal drin landet.

  • Habe das mit einem @reboot cron gelöst

    Ich habe gelernt, dass „allfällige Aufräumarbeiten“ sehr gut in /etc/rc.local abgearbeitet werden können (und mir entsprechend ein Script dort abgelegt, welches seinerseits als ausführbar (chmod +x) markierte „Teilscripte“ in /etc/rc.local.d ausführt, die sich beispielsweise um nicht gestartete Dienste kümmern oder Korrekturen vornehmen, die noch nicht in systemd-Definitionen abgefangen werden).

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

    Einmal editiert, zuletzt von m_ueberall ()