Résolu - SOLUTION pour écrire le filtre /etc/fail2ban/filter.d/subsonic.conf:
bruno a écrit [Definition]
failregex = ^.*INFO LoginFailureLogger.*from \[<HOST>\]$
Bonsoir,
Je souhaiterais obtenir de l'aide pour configurer un filtre fail2ban en surveillant mon log situé à l'emplacement: /var/subsonic/subsonic.log
J'accède à subsonic par l'adresse
https://mondomaine.com:4443 (je n'arrive pas à comprendre la mise en place du reverse proxy pour subsonic, mais c'est un autre problème je pense.)
j'ai volontairement fait une connexion erronée depuis mon téléphone portable en 4G, je trouve la ligne suivante dans mon log:
[2019-11-30 22:27:49,900] INFO LoginFailureLogger - Login failed for [Gargantua] from [**.***.***.*]
(**.***.***.*--> ip de mon téléphone en 4G)
J'ai créé dans mon /etc/fail2ban/jail.local la section suivante:
[subsonic]
enabled = true
filter = subsonic
logpath = /var/subsonic/subsonic.log
J’ai créé le fichier /etc/fail2ban/filter.d/subsonic.conf contenant:
# fail2ban filter configuration for subsonic
[Definition]
failregex = .* INFO LoginFailureLogger * from <HOST>
ignoreregex =
Lorsque je teste le filtre avec la commande:
fail2ban-regex /var/subsonic/subsonic.log /etc/fail2ban/filter.d/subsonic.conf
celle-ci me retourne:
Running tests
=============
Use failregex filter file : subsonic, basedir: /etc/fail2ban
Use log file : /var/subsonic/subsonic.log
Use encoding : UTF-8
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [1200] {^LN-BEG}ExYear(?P<_sep>[-/.])Month(?P=_sep)Day(?:T| ?)24hour:Minute:Second(?:[.,]Microseconds)?(?:\s*Zone offset)?
`-
Lines: 1429 lines, 0 ignored, 0 matched, 1429 missed
[processed in 0.19 sec]
Missed line(s): too many to print. Use --print-all-missed to print all 1429 lines
Je pense que c'est dans la rédaction de la règle du le filtre /etc/fail2ban/filter.d/subsonic.conf que j'ai besoin d'aide. Comment me suggéreriez-vous de rédiger cette règle ?
Les autres modifications apportées par rapport au /etc/fail2ban/jail.conf original sont:
ignorself = true
ignoreip = 127.0.0.1/8 ::1
bantime = -1
maxretry = 2
action = %(action_mwl)s
[apache-auth]
enabled=true
[apache-badbots]
enabled=true
[apache-noscript]
enabled = true
[apache-overflows]
enabled = true
[apache-nohome]
enabled = true
[apache-botsearch]
enabled = true
[apache-fakegooglebot]
enabled = true
[apache-modsecurity]
enabled = true
[apache-shellshock]
enabled = true
Ubuntu version: Ubuntu 18.04.3 LTS
Fail2ban installé depuis le dépôt ubuntu (version 0.10.2)
Merci
T.