mit meiner neuen Software für Websites und Webapplications kann ich IP-Adressen automatisch komplett vom Serverzugriff aussperren, wenn
bestimmte URLs aufgerufen werden. Das funktioniert wahlweise mit
iptables oder fail2ban und läuft super.
Doch was passiert, wenn tausende von Bots Millionen von Bad-Urls
aufrufen? [Bad-Urls sind nicht Schreibfehler, sondern sowas wie "\x80w\x01\x03\x01" oder "wp-login.php"]
Hat jemand Lese-Tipps, über die ich in das Thema eintauchen kann?
Wie viel Aufwand du darein stecken willst, musst Du Dir aber überlegen, diese
Anfragen kommen in der Regel automatisiert aus irgendwelchen Botnetzen und bekommen
von deinem Webserver einen entsprechenden HTTP Status (404 Not Found) und das war es.
Die IP kommt nicht so schnell wieder, das Sperren hat also wenig Effekt.
Viele dieser Botnetze landen relativ schnell auf DNS Blacklists. Für Apache httpd
gibt es ein Modul mod_defensible (https://packages.debian.org/bullseye/libapache2-mod-defensible)
mit dem Du Requests von solchen IPs auch vorab blocken kannst. Die XBL von SPAMHAUS
(https://www.spamhaus.org/xbl/) ist kostenlos verfügbar und hat bei mir merklich dafür
gesorgt, dass weniger Bot-Zugriffe beim Webserver aufschlagen.
Für beides gilt: Potenziell sperrst Du mit solchen Mechanismen auch valide Nutzer
aus (die über dynamische IP-Ranges kommen), zu lange Blocken ist daher nicht ratsam, kurz blocken bringt nicht übermäßig viel. In dem Zusammenhang ist es
praktisch, dass fail2ban bei mehr Verstößen auch die Sperrzeit erhöhen kann,
damit kann man zunächst kurz sperren und dann verlängern (siehe z.B.: https://visei.com/2020/05/incremental-banning-with-fail2ban/). Das geht auch über verschiedene Dienste, die Du mit fail2ban überwachst hinweg (und damit erwischt man dann eher sinnvoll zu sperrende IPs).
Viele dieser Botnetze landen relativ schnell auf DNS Blacklists. Für Apache httpd
gibt es ein Modul mod_defensible (https://packages.debian.org/bullseye/libapache2-mod-defensible)
mit dem Du Requests von solchen IPs auch vorab blocken kannst. Die XBL von SPAMHAUS
(https://www.spamhaus.org/xbl/) ist kostenlos verfügbar und hat bei mir merklich dafür
gesorgt, dass weniger Bot-Zugriffe beim Webserver aufschlagen.
Hallo Thomas,
danke für Deine lange Antwort.
fail2ban wird bei mir seit langem eingesetzt.
Am 24.08.22 um 17:13 schrieb debian-mailing-lists@thomas.freit.ag:
Wie viel Aufwand du darein stecken willst, musst Du Dir aber überlegen, diese
Anfragen kommen in der Regel automatisiert aus irgendwelchen Botnetzen und bekommen
von deinem Webserver einen entsprechenden HTTP Status (404 Not Found) und das war es.
Die IP kommt nicht so schnell wieder, das Sperren hat also wenig Effekt.
Wahrscheinlich hast Du recht, dass ich fail2ban noch stärker nutzen
könnte. Auch meine IP-Blocks gelten immer für 10 Minuten und verhindern >genauso, wie bei fail2ban massenweise folgende Zugriffe auch über andere >Ports. Bei meinem System kann ich zur Laufzeit URLs rein- oder rausnehmen.
Valide Nutzer werden mit meiner Methode nicht ausgesperrt. Sämtliche Zugriffe auf PHP-Urls sind Angriffe, da bei mir kein PHP installiert
ist.
Wie viel Aufwand du darein stecken willst, musst Du Dir aber überlegen, diese
Anfragen kommen in der Regel automatisiert aus irgendwelchen Botnetzen und bekommen
von deinem Webserver einen entsprechenden HTTP Status (404 Not Found) und das war es.
Die IP kommt nicht so schnell wieder, das Sperren hat also wenig Effekt.
Wahrscheinlich hast Du recht, dass ich fail2ban noch stärker nutzen
könnte. Auch meine IP-Blocks gelten immer für 10 Minuten und verhindern genauso, wie bei fail2ban massenweise folgende Zugriffe auch über andere Ports. Bei meinem System kann ich zur Laufzeit URLs rein- oder rausnehmen.
Für beides gilt: Potenziell sperrst Du mit solchen Mechanismen auch valide Nutzer
aus (die über dynamische IP-Ranges kommen), zu lange Blocken ist daher nicht
ratsam, kurz blocken bringt nicht übermäßig viel. In dem Zusammenhang ist es
praktisch, dass fail2ban bei mehr Verstößen auch die Sperrzeit erhöhen kann,
damit kann man zunächst kurz sperren und dann verlängern (siehe z.B.:
https://visei.com/2020/05/incremental-banning-with-fail2ban/). Das geht auch >> über verschiedene Dienste, die Du mit fail2ban überwachst hinweg (und damit
erwischt man dann eher sinnvoll zu sperrende IPs).
Valide Nutzer werden mit meiner Methode nicht ausgesperrt. Sämtliche Zugriffe auf PHP-Urls sind Angriffe, da bei mir kein PHP installiert ist.
Viele dieser Botnetze landen relativ schnell auf DNS Blacklists. Für Apache httpd
gibt es ein Modul mod_defensible (https://packages.debian.org/bullseye/libapache2-mod-defensible)
mit dem Du Requests von solchen IPs auch vorab blocken kannst. Die XBL von SPAMHAUS
(https://www.spamhaus.org/xbl/) ist kostenlos verfügbar und hat bei mir merklich dafür
gesorgt, dass weniger Bot-Zugriffe beim Webserver aufschlagen.
Use of Spamhaus's free public DNSBL service is restricted to low-volume non-commercial users only. To make sure you qualify for free use, please
see the terms...
Bin nicht sicher, ob ich dann einfach das Apache-Modul einsetzen kann,
wenn da 20.000 Anfragen pro Tag gemacht werden...
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 01:12:23 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,577 |