Editamos el fichero de configuración config.php situado en el directorio data de la instalación de owncloud y añadimos la siguientes líneas.
'logtimezone' => 'Europe/Madrid',
'logfile' => '/var/log/owncloud.log',
'loglevel' => '2',
'log_authfailip' => true,
'logfile' => '/var/log/owncloud.log',
'loglevel' => '2',
'log_authfailip' => true,
Creamos el siguiente filtro para file2ban en esta ruta: /etc/fail2ban/filter.d/owncloud.conf
(Este filtro está probado con la versión 7.0.4 de owncloud)
[Definition]
failregex={"app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>', X-Forwarded-For: '.*'\)","level":2,"time":".*"}
ignoreregex =
failregex={"app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>', X-Forwarded-For: '.*'\)","level":2,"time":".*"}
ignoreregex =
(Este filtro está probado con la versión 8.0.3.4 de owncloud)
[Definition]
failregex= {"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>', X-Forwarded-For: '.*'\)","level":2,"time":".*"}
ignoreregex =
failregex= {"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>
ignoreregex =
(Este filtro está probado con la versión 8.1.0 de owncloud)
[Definition]
failregex={"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '\)","level":2,"time":".*"}
ignoreregex =
failregex={"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '
ignoreregex =
Editamos el fichero /etc/fail2ban/jail.local y añadimos lo siguiente
[owncloud]
enabled = true
filter = owncloud
action = iptables-multiport[name=owncloud,port="80,443"]
logpath = /var/log/owncloud.log
enabled = true
filter = owncloud
action = iptables-multiport[name=owncloud,port="80,443"]
logpath = /var/log/owncloud.log
Creamos el fichero /var/log/owncloud.log y le hacemos propietario al usuario "daemon" y el grupo "daemon"
Podemos probar si la expresión regular es correcta y asegurarnos de que funcionará el filtro con el siguiente comando.
fail2ban-regex /var/www/owncloud/data/owncloud.log /etc/fail2ban/filter.d/owncloud.conf -v
Reiniciamos fail2ban y ya podemos probar que funciona. Dependiendo de como tengamos la configuración general de fail2ban a los tres intentos en mi caso queda bloqueada la ip que ha intentado logearse incorrectamente.
Fuente: http://www.rojtberg.net/711/secure-owncloud-server/ (tiene algunos fallos que se solucionan en este post)
regex para la versión 8.0.x.x. : https://forum.owncloud.org/viewtopic.php?f=31&t=26336
regex para la versión 8.1.0: https://forum.owncloud.org/viewtopic.php?f=8&t=28678
No hay comentarios:
Publicar un comentario