Bonjour à tous,

J'essaie de mettre en place un fichier de conf pour traiter les logs de mon serveur nextcloud.

Le problème c'est que je connais pas bien la syntaxe pour traiter le problème. Si vous avez une doc pour cela, je suis preneur.

Voici mes logs à traiter :

Code actionscript3 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"reqId":"nkUHMTIR238pHO8fZ4E3",
"level":2,
"time":"January 29, 2018 21:25:30",
"remoteAddr":"192.168.1.1",
"user":"--",
"app":"core",
"method":"POST",
"url":"\/login?user=arthur575",
"message":"Login failed: 'arthur575' (Remote IP: '192.168.1.1')",
"userAgent":"Mozilla\/5.0 (X11; Linux x86_64; rv:52.0) Gecko\/20100101 Firefox\/52.0",
"version":"12.0.5.3"
}

en une ligne :

Code actionscript3 : Sélectionner tout - Visualiser dans une fenêtre à part
{"reqId":"nkUHMTIR238pHO8fZ4E3","level":2,"time":"January 29, 2018 21:25:30","remoteAddr":"192.168.1.1","user":"--","app":"core","method":"POST","url":"\/login?user=arthur575","message":"Login failed: 'arthur575' (Remote IP: '192.168.1.1')","userAgent":"Mozilla\/5.0 (X11; Linux x86_64; rv:52.0) Gecko\/20100101 Firefox\/52.0","version":"12.0.5.3"}

Voici le fichier de conf que j'ai fait avec failregex pour le moment qui ne match pas par rapport au log.

Je ne connais que la syntaxe :
- .* -> signifie qu'on fait abstraction de cette valeur

Code actionscript3 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
][Definition] 
failregex = {
"reqId":".*",
"level":2,
"time":".*",
"remoteAddr":".*",
"user":".*",
"app":"core",
"method":".*",
"url":".*",
"message":"Login failed: '.*' \(Remote IP: '<HOST>'\)",
"userAgent":".*",
"version":".*"
}

en ligne :

Code actionscript3 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
][Definition] 
failregex = {"reqId":".*","level":2,"time":".*","remoteAddr":".*","user":".*","app":"core","method":".*","url":".*","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","userAgent":".*","version":".*"}

On m'a donné cette solution (ci-dessous) mais elle ne fonctionne pas lorsque j'execute la commande

Code : Sélectionner tout - Visualiser dans une fenêtre à part
failregex = : .*?"Login failed: '.*' \(Remote IP: '<HOST>'\)"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo fail2ban-regex /var/tmp/nextcloud.log /etc/fail2ban/filter.d/nextcloud.conf
On m'a orienté vers ces deux sites mais aussi mais je n'avance pas sur la question :

https://regex101.com/
https://regexper.com/

Merci d'avance.