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 :
{
"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 :
{"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
][Definition]
failregex = {
"reqId":".*",
"level":2,
"time":".*",
"remoteAddr":".*",
"user":".*",
"app":"core",
"method":".*",
"url":".*",
"message":"Login failed: '.*' \(Remote IP: '<HOST>'\)",
"userAgent":".*",
"version":".*"
}
en ligne :
][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
failregex = : .*?"Login failed: '.*' \(Remote IP: '<HOST>'\)"
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.