Gibt es einen Trick, um fail2ban beizubiegen, daß es Hosts bannen soll, die vor dem Abgreifen von, sagen wir, JPGs, nichts anderes von der Site geholt haben?

#fail2ban #aicrawlers

@atarifrosch

Ich habe mal im Netz gesucht und folgende Zeile gefunden:

"ignoreregex =.*(robots.txt|favicon.ico|jpg|jpeg|png|gif|css)"

Das ist doch, was Du brauchst, nicht wahr?

Quelle:

"Using fail2ban to block unfriendly web requests"

https://andreas.scherbaum.la/post/2022-12-09_using-fail2ban-to-block-unfriendly-web-requests/

PS: Ich benutze fail2ban nicht, habe mich damit noch nie beschäftigt.

Using fail2ban to block unfriendly web requests

Every time I peek into the webserver logfiles, I find quite a few 404 requests trying to figure out if certain exploits exist on this server. Now I get that these are automated attempts, and the number of requests coming from one IP show that they try several different exploits and path names. Nevertheless I thought that I don’t need this in my log, and on my webserver. fail2ban for the rescue.

ads' corner
@Elektrotier Nein. ignoreregex wird verwendet, um den Abruf bestimmter Dateien/Dateitypen nicht mitzuzählen, wenn ein Host sich ansonsten daneben benimmt.

@atarifrosch

Ach so, Danke für die Info, dann kann ich Dir auch leider nicht helfen.

@Elektrotier Was ich will ist: Host greift ein JPG ab, ohne vorher eine normale Seite abgerufen zu haben -> Ban. Die Links zu den eigentlichen Bildern bekommen solche Hosts nämlich von übergeordneten Hosts, die vorher die Seiten abgreifen und die Links zu den Bildern an andere Bots weiterreichen.

@atarifrosch @Elektrotier senden die Bots einen "Referer"-Header? Falls nicht, evtl. darüber filtern bzw. blocken. Wobei das wahrscheinlich nicht lange funktioniert.

Alternativ eine "PoW Challange" vor schalten, z.B. mit https://anubis.techaro.lol/

Anubis: Web AI Firewall Utility | Anubis

Weigh the soul of incoming HTTP requests to protect your website!

@no5251 @Elektrotier Den Referer sendet laut der Logs ein Teil mit. Wobei nicht der genauer Referer genommen wird, sondern nur die Domain, also ohne die eigentliche Seite. Ich hab schon überlegt, ob sich daraus was basteln läßt.

Anubis sieht aber gut aus, schau ich mir mal näher an, danke.

@atarifrosch Halt ich für schwierig. f2b kann ja nur auf Dinge reagieren. Vielleicht ist crowdsec ne Option?
@chaosrind AI-driven – danke, aber nein danke. Sowas kommt mir nicht auf den Server.
@atarifrosch Ansonsten wirds schwierig, dann musste gucken, woher du Daten bekommst, mit denen sich das verhindern lässt. Vielleicht n honeypot oder sowas.

@chaosrind Ich hab eben nochmal direkt am Webserver geguckt (nginx). Es gibt zwar eine Methode, GET auf bestimmte Dateien zu verhindern, wenn kein Referer enthalten ist, aber das wissen die Bot-Betreiber halt auch und schicken immer brav den Referer mit.

Zu checken, ob ein Host, der ein Bild anfordert, vorher eine index.php angefordert hat, ist wohl auch dem nginx nicht möglich. Und Piwigo scheint da auch nix zu kennen.

@atarifrosch Und wenne n eigenen kleinen daemon bastelst, der sie Abrufe der index.pho für ne gewisse Zeit zwischenspeichert und dann chexkt, in das darf? Also übers Log sieht man das ja.
@chaosrind Ich fürchte, das geht über meine Programmierkenntnisse.
@atarifrosch Ich kann auch nicht wirklich programmieren ;)