Page 1 of 2

Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Tue 10. Jun 2025, 12:22
by Tobi
Hallo Zusammen,

nachdem ich bereits im englischsprachigen Bereich versucht hatte eine Antwort zu bekommen (viewtopic.php?p=54487#p54487), bin ich nun von der Firewall Idee abgerückt.
Denn tatsächlich sollte ein IP-Range Ban auch mit Fail2Ban möglich sein.

Dieses Tutorial sieht für mich verständlich und einfach umsetzbar aus.
https://pipo.blog/articles/20210518-fai ... nt-banning

Einziges Problem:
Wie kann ich den Erfolg testen? Ich kann mich ja schlecht selbst aussperren...

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Tue 10. Jun 2025, 12:23
by Fezzi
Mit einer VPN ? :idea:

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Tue 10. Jun 2025, 12:24
by Tobi
Oder ich sperre dich aus.
Thailand wäre auch auf der Liste :-)

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Tue 10. Jun 2025, 12:30
by Fezzi
Nur zu... :D Ich mach jetzt Feierabend.. aber Du weist ja wo Du mich erreichen kannst..

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Fri 13. Jun 2025, 10:26
by -prh
Oh ja, Tobi, daran bin ich auch sehr interessiert...
:D

Peter

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 16. Jun 2025, 21:19
by Tobi
-prh wrote: Fri 13. Jun 2025, 10:26 Oh ja, Tobi, daran bin ich auch sehr interessiert...
:D

Peter
Dein Wunsch ist mir Befehl.
Läuft bereits.
:lol:

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 16. Jun 2025, 21:44
by Tobi
Folgende Lösung funktioniert unabhängig auf Debian und Ubuntu, parallel zu KeyHelp.
Alles als root (sudo) bzw. als keyhelpadmin anlegen.
Die gesperrten IPs lassen sich unter Sicherheit >> Fail2Ban-Verwaltung einsehen und bearbeiten.

####################################################

Wie funktioniert das Skript?

Das Skript nutzt das Github Repository von borestad und dort die Abuse-IP-Liste "abuseipdb-s100-3d.ipv4".
https://raw.githubusercontent.com/bores ... 00-3d.ipv4

Diese erscheint mir ein guter Kompromiss aus Dateigröße und Aktualität.
Die IP-Blockliste wird eingelesen und die IP Adressen werden für 4 Wochen gesperrt.
Somit kommen jeden Tag neue IP Adressen hinzu und nach 4 Wochen werden diese automatisch wieder freigegeben.

####################################################



Schritt für Schritt Anleitung
=================

1. Neue Datei /etc/fail2ban/filter.d/iplistblock.conf anlegen

Code: Select all

[Definition]
failregex = 
ignoreregex = 



2. Neue Datei /etc/fail2ban/jail.d/iplistblock.conf anlegen

Code: Select all

[iplistblock]
banaction = %(banaction_allports)s
bantime = 4w
enabled = true



3. fail2ban stoppen und wieder starten
fail2ban-client stop
fail2ban-client start


4. neues Verzeichnis /root/banip anlegen und dorthin wechseln
mkdir /root/banip
cd /root/banip/


5. In dem neuen Verzeichnis ein neues Shellskript /root/banip/loadlist.sh anlegen

Code: Select all

#! /usr/bin/bash
echo `date "+%Y-%m-%d %H:%M:%S"`
echo "Lade IP Blocklist"
wget https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/refs/heads/main/abuseipdb-s100-3d.ipv4 -O /root/banip/ipblocklist.txt
echo `date "+%Y-%m-%d %H:%M:%S"`
echo "IP Blocklist von Github geladen"
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /root/banip/ipblocklist.txt | while read IP; do fail2ban-client set iplistblock banip $IP; done
echo `date "+%Y-%m-%d %H:%M:%S"`
echo "IP Blocklist verarbeitet"
rm /root/banip/ipblocklist.txt
echo `date "+%Y-%m-%d %H:%M:%S"`
echo "fertig"



6. Shellskript ausführbar machen
chmod +x /root/banip/loadlist.sh


7. Root Cronjob in KeyHelp anlegen und einmal täglich laufen lassen.
cron.png


8. FERTIG!

################################################################################################

Ob alles funktioniert seht ihr in KeyHelp unter der Fail2Ban Verwaltung
ipblock.png

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 16. Jun 2025, 22:56
by keyhelpuser
Thank you Tobi!

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 14:54
by NicoMSH
ohhhh tolle Arbeit, vielen Dank. Werden die IPs dann einzeln in der Firewall gespeichert oder wie läuft das genau? Wenn ja wirft es für mich eine neue Frage auf zwecks Performance (viewtopic.php?t=13965)

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 18:40
by otto58
Ich habe es mal auf meinem VPS (2 vCPU, 4 GB) laufen lassen. Erster Durchlauf 5 Stunden, zweiter Durchlauf 5 Tage) und auch, wenn das Script nicht aktiv ist, lädt die Seite Fail2Ban-Verwaltung sehr langsam. Auch als Perl-Script wird das Update nicht schneller.

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 18:58
by Tobi
Ich habe mittlerweile über 200.000 IP Adressen auf der Sperrliste.

Die einzig spürbare Verzögerung entsteht beim Laden der fail2ban Seite im Backend. Hier hat sich die Ladezeit definitiv verlängert.

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 18:59
by Tobi
NicoMSH wrote: Mon 30. Jun 2025, 14:54 ohhhh tolle Arbeit, vielen Dank. Werden die IPs dann einzeln in der Firewall gespeichert oder wie läuft das genau? Wenn ja wirft es für mich eine neue Frage auf zwecks Performance (viewtopic.php?t=13965)
Dann frage bitte auch im Nachbarthread. Hier geht es um fail2ban.

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 20:44
by NicoMSH
Tobi wrote: Mon 30. Jun 2025, 18:59
NicoMSH wrote: Mon 30. Jun 2025, 14:54 ohhhh tolle Arbeit, vielen Dank. Werden die IPs dann einzeln in der Firewall gespeichert oder wie läuft das genau? Wenn ja wirft es für mich eine neue Frage auf zwecks Performance (viewtopic.php?t=13965)
Dann frage bitte auch im Nachbarthread. Hier geht es um fail2ban.
dort geht es auch um fail2ban und die Performance des Servers. Entschuldige die Frage -.-

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Mon 30. Jun 2025, 21:57
by Tobi
NicoMSH wrote: Mon 30. Jun 2025, 20:44
Tobi wrote: Mon 30. Jun 2025, 18:59
NicoMSH wrote: Mon 30. Jun 2025, 14:54 ohhhh tolle Arbeit, vielen Dank. Werden die IPs dann einzeln in der Firewall gespeichert oder wie läuft das genau? Wenn ja wirft es für mich eine neue Frage auf zwecks Performance (viewtopic.php?t=13965)
Dann frage bitte auch im Nachbarthread. Hier geht es um fail2ban.
dort geht es auch um fail2ban und die Performance des Servers. Entschuldige die Frage -.-
Nun ja, dort geht es streng genommen um eine angeblich performantere und ressourcenschonendere Lösung. Nur halt leider keine Anleitung wie man das realisieren könnte. Aber vielleicht kommt das ja noch. Ist nicht mein Thema.

Zur fail2ban Performance habe ich weiter oben was geschrieben. Aktuell haben wir über 200.000 IPs gesperrt. Die durchschnittliche Systemlast ist seither von ca. 80% auf 60+% gefallen.

Insgesamt beurteile meine Lösung als positiv. Bisher mussten wir mindestens einmal pro Woche irgendwelche random IPs über die Firewall sperren. Das war seitdem nicht mehr nötig.

Re: Länder IP Ban mit Fail2Ban, KeyHelp und Static Files

Posted: Tue 1. Jul 2025, 08:10
by -prh
Tobi wrote: Mon 16. Jun 2025, 21:19 Dein Wunsch ist mir Befehl.
Läuft bereits.
:lol:
Oh, danke! Ich werde es mal beobachten!

Peter