Hallo liebe Nextcloud Community,
ich habe ein Problem mit der Absicherung meiner Nextxcloud 11-Installation. Leider funktioniert keiner der gängigen failregex-Strings die man so in diversen Tutorials findet und auch ein selbstgebauter regulärer Ausdruck führt beim fail2ban-regex Test nicht zu matches, obwohl ich mit gleichem String bei einem grep die gewünschten outputs bekomme.
Ein entsprechender Auszug aus dem nextcloud.log sieht so aus:
{“reqId”:“ngZGt1OAQCsVVGINeQ18”,“remoteAddr”:“192.168.1.100”,“app”:“core”,“message”:“Login failed: ‘dbb’ (Remote IP: ‘192.168.1.100’)”,“level”:2,“time”:“March 09, 2017 10:46:44”,“method”:“POST”,“url”:“/login”,“user”:“–”,“version”:“11.0.2.7”}
Meine nextcloud.config für Fail2Ban sieht folgendermaßen aus:
[INCLUDES]
before = common.conf
[Definition]
failregex = Login failed.*Remote IP: '<HOST>'
ignoreregex =
Die Fail2Ban jail.conf sieht so aus:
[nextcloud]
enabled = true
filter = nextcloud
port = http,https
logpath = /var/log/nextcloud*.log
findtime = 1800
bantime = 1800
maxretry = 3
Die Logconfig in der config.php meiner Nextcloud-Installation sieht so aus:
'log_type' => 'file',
'logfile' => '/var/log/nextcloud.log',
'loglevel' => 2,
'syslog_tag' => 'Nextcloud',
'logdateformat' => 'F d, Y H:i:s',
'log_rotate_size' => 104857600,
Wenn ich mit grep "Login failed.*Remote IP: '.*'" /var/log/nextcloud.log
den Regex-String teste bekomme ich die gewünschten Einträge aus dem Log zurück, aber wenn ich den String mit fail2ban-regex /var/log/nextcloud.log /etc/fail2ban/filter.d/nextcloud.conf
direkt über Fail2Ban teste, bekomme ich 0 Matches.
Kann sich wer erklären warum das so ist und wie ich Fail2Ban mit Nextcloud zum laufen bekomme?
Vielen Dank für eure Unterstützung!
Gruß
Nico