Webserver und die Sache mit den Bots...

  • Hi,


    wir hatten das Thema ja die Tage bereits angerissen...

    Es ist nichts neues, dass im Internet Bots, Crawler, Spider (und wie sie alle heißen) unterwegs sind, und versuchen, Sicherheitslücken zu finden oder Schadcode auszuführen. Oder die E-Mail Adressen suchen, um einen dann mit Spam zuzuballern. Auch wenn bei meinem Apache2 und meinen Webseiten eigentlich alles sicher ist - ich möchte mir sowas trotzdem ganz gerne vom Hals halten...


    Fail2Ban ist nur bedingt eine Lösung - ich sag mal so, 5 Minuten nach Aktivierung der Filter hat mich mein Co-Admin gefragt, warum er nicht mehr auf unsere Nextcloud drauf kommt. Danke dafür. xD

    Aber auch von der Taktik her. Damit Fail2Ban bannen kann, muss immer mindestens erstmal ein Request erfolgen. Und dann bannt der auch nur für einen gewissen Zeitraum. Klar, das kann man einstellen, aber auch nicht auf für immer. Für immer würde ja auch heißen, dass false Friends für immer gebannt werden. Das ist auch keine Lösung...


    Theoretisch kann man über iptables viel machen, aber auch dafür muss man auch erstmal die ganzen Port Ranges kennen. Auch nicht so die Musterlösung.



    Gibt es überhaupt eine Musterlösung? Wie tretet ihr dem Problem gegenüber?

    Was wäre eine möglichst effiziente Maßnahme, dessen Aufwand im halbwegs im Verhältnis zum Nutzen steht?

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

    -Max Weber

  • Möglichst effizient ist z.B. fail2ban bei korrekter EInrichtung. fail2ban sperrt IPs auch gerne schon vor dem ersten Zugriff: https://lukasthiel.de/wiki/Blacklist_mit_Fail2Ban mit bekannten Blacklisten wie z.B. dshield_top_20, blocklist_de_all, cinsarmy_badguys, et_block, greensnow_co, dataplane, etc. In der Regel nimmt man aber noch z.B. mod_security mit z.B. den Atomic ModSecurity Rules dazu. Bevor man das ganze scharf schaltet, betreibt man solche Lösungen immer erstmal für 1 Woche im Modus "Erkennen aber nur Loggen".


    Wenn du mehr Schutz brauchst, dann wäre eventuell https://de.wikipedia.org/wiki/Cloudflare etwas für dich.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Möglichst effizient ist z.B. fail2ban bei korrekter EInrichtung. fail2ban sperrt IPs auch gerne schon vor dem ersten Zugriff. In der Regel nimmt man aber noch z.B. mod_security mit z.B. den Atomic ModSecurity Rules dazu. Bevor man das ganze scharf schaltet, betreibt man solche Lösungen immer erstmal für 1 Woche im Modus "Erkennen aber nur Loggen".


    Wenn du mehr Schutz brauchst, dann wäre eventuell  https://de.wikipedia.org/wiki/Cloudflare etwas für dich.


    Cloudflare ist zwar nichts für mich, aber der Rest klingt trotzdem gut.


    Wie genau kann Fail2Ban bannen, bevor etwas passiert ist? Der Zugriff des "Gegners" muss doch erstmal erfolgen, bevor überhaupt ein Logeintrag da ist, den Fail2Ban auswerten und "sanktionieren" kann?! :/

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

    -Max Weber

  • Und dann bannt der auch nur für einen gewissen Zeitraum. Klar, das kann man einstellen, aber auch nicht auf für immer.

    Da kannst schon Werte wie 99999999999 Sekunden Blockzeit einstellen (so über 3000 Jahre).


    Ich würde den Zugriff auf alle Admin-Bereiche grundsätzlich durch die Firewall stark einschränken, sodass sich gar nicht erst jemand damit verbinden kann (evtl. mit Bastion Host).


    Wenn ich keine Dienste für „Fremde“ anbiete, könnte auch das Betreiben in einem VPN sinnvoll sein, sodass man erst einmal im VPN sein muss, um den Dienst überhaupt sehen zu können.


    Bei Fail2ban solltest du (unabhängig davon) beachten, dass bspw. die aktuelle unter Debian 9 verfügbare Version nur IPv4 kann. Wenn deine Serversoftware also auch IPv6 anbietet, kann Fail2ban da gar nichts machen.

  • Wenn ich keine Dienste für „Fremde“ anbiete, könnte auch das Betreiben in einem VPN sinnvoll sein, sodass man erst einmal im VPN sein muss, um den Dienst überhaupt sehen zu können.

    Ich habe schon ein VPN, da läuft auch alles interne drin. Aber ich biete genauso auch Dienste an, die für Fremde sind. Und auf meine Cloud möchte ich auch ohne VPN zugreifen können. Was IPv6 betrifft, nutze ich das noch nicht.


    Einige Netzbereiche konnte ich anhand von Fail2Ban schon rausfinden und fest blocken. Ich denke darauf wird es in Zukunft auch hinauslaufen - Netzbereiche ermitteln und blocken...

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

    -Max Weber

  • Einige Netzbereiche konnte ich anhand von Fail2Ban schon rausfinden und fest blocken. Ich denke darauf wird es in Zukunft auch hinauslaufen - Netzbereiche ermitteln und blocken...

    Das klingt so, als würdest du das manuell machen?

    "Security is like an onion - the more you dig in the more you want to cry"

  • Das klingt so, als würdest du das manuell machen?

    Naja. Ich lass mir dann einfach immer die Fail2Ban reports im Postfach nach Betreff sortieren, womit automatisch ähnliche IP Adressen beieinander stehen. Da dann fix drüber geschaut, und auffällige Netzbereiche geblockt. Dabei bin ich allerdings noch nie über /24er Netze hinaus gegegangen...

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

    -Max Weber