Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Hier à 16:03

geolocaliseip

Une REGEX correct qui ne fonctionne pas avec FAIL2BAN

J'ai une REGEX pour Fail2Ban qui fonctionne en théorie, je l'ai vérifié avec https://regex101.com/ mais elle ne match pas avec Fail2Ban.

Ubuntu 18.04.6 LTS / Fail2Ban v0.10.2

Je veux faire matcher sur les erreurs 404. Voici les types de lignes dans mon journal (pour tester j'ai copié les lignes plusieurs fois):

172.69.136.215 - - [13/Mar/2025:11:45:51 +0100] "GET /wordpress/wp-admin/setup-config.php HTTP/2.0" 404 169654 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
172.69.136.174 - - [13/Mar/2025:11:46:41 +0100] "GET /wp-admin/setup-config.php HTTP/2.0" 404 169614 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
74.80.208.191 - - [13/Mar/2025:11:53:15 +0100] "GET /de/ladenausstattung/URL_IMAGE_COLONNE_4 HTTP/2.0" 404 172363 "-" "Mozilla/5.0 (compatible; ImagesiftBot; +imagesift.com)"
193.41.206.202 - - [13/Mar/2025:11:55:19 +0100] "GET /price_hawk_client/.env HTTP/1.1" 404 175304 "-" "-"
193.41.206.202 - - [13/Mar/2025:11:55:20 +0100] "GET /prisma/.env HTTP/1.1" 404 171262 "-" "-"
193.41.206.202 - - [13/Mar/2025:11:55:20 +0100] "GET /prisma/.env HTTP/1.1" 404 171262 "-" "-"

Voici la REGEX dans Fail2Ban :

failregex = ^<HOST>.*GET.*404.*$

Je l'ai transformé pour regex101 en :

^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*GET.*404.*$

Et voici le résultat de fail2ban-regex :

sudo fail2ban-regex /tmp/test-access.log /etc/fail2ban/filter.d/my-apache-404.conf

Running tests
=============

Use   failregex filter file : my-apache-404, basedir: /etc/fail2ban
Use      datepattern : Default Detectors
Use         log file : /tmp/test-access.log
Use         encoding : UTF-8


Results
=======

Failregex: 0 total

Ignoreregex: 0 total

Date template hits:

Lines: 288 lines, 0 ignored, 0 matched, 288 missed
[processed in 0.07 sec]

Missed line(s): too many to print.  Use --print-all-missed to print all 288 lines

La REGEX ne match pas :

Lines: 288 lines, 0 ignored, 0 matched, 288 missed

Qu'est-ce que je fais mal, qu'est-ce que je n'ai pas compris ?
Merci d'avance pour votre aide

Hors ligne