J'ai créé un nouveau filtre dans fail2ban pour mon installation owncloud. Lorsque je l'ai testé avec fail2ban-regex, il a renvoyé des correspondances. J'ai donc pensé que cela fonctionnait. Quand je l'allume dans la prison, cela n'interdit toutefois pas, et j'ai du mal à comprendre pourquoi.
J'ai créé ce filtre (owncloud.conf):
[Definition]
failregex = \"message\":"Login failed: '.*' \(Remote IP: '<Host>\)\"
ignoreregex =
Test avec fail2ban-regex:
fail2ban-regex /home/villermen/hdd/owncloud/owncloud.log
config/fail2ban/filter.d/owncloud.conf
Running tests
=============
Use failregex file : config/fail2ban/filter.d/owncloud.conf
Use log file : /home/villermen/hdd/owncloud/owncloud.log
Results
=======
Failregex: 80 total
|- #) [# of hits] regular expression
| 1) [80] \"message\":"Login failed: '.*' \(Remote IP: '<Host>\)\"
`-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [440447] ISO 8601
`-
Lines: 440447 lines, 0 ignored, 80 matched, 440367 missed
Missed line(s):: too many to print. Use --print-all-missed to print all 440367 lines
La prison actuelle:
[owncloud]
enabled = true
filter = owncloud
logpath = /home/villermen/hdd/owncloud/owncloud.log
port = http,https
J'utilise Ubuntu 14.04 et Fail2ban 0.8.11-1.
J'ai moi-même résolu le problème à l'aide de l'option verbose de la commande fail2ban-regex (-v). Cela montre quels sont les adresses IP et les temps qu’il a collectés. Les temps étaient tous décalés d'une heure. C'est probablement un problème dans ownCloud, et je posterai ici quand j'ai un correctif réel.
Correction :
ownCloud utilise le fuseau horaire par défaut non système, ni php d'Europe/Berlin (je suis sur Europe/Amsterdam, une heure plus tôt). J'ai trouvé cette information sur leur documentation pour config.php . Ajouter
'logtimezone' => 'Europe/Amsterdam',
Est-ce que le truc, donc maintenant tout le monde peut être banni à nouveau =)