Agence web » Actualités du digital » Owncloud + Fail2Ban

Owncloud + Fail2Ban

Owncloud + Fail2Ban

Je me rends compte seulement aujourd’hui que Owncloud ne prévient pas des attaques de brute-force de façon native. Il semble cependant que les développeurs en soit conscient et proposeront un système de captcha à la prochaine release. En attendant je vous propose de mettre en place un patch maison pour faire fonctionner notre instance Owncloud avec Fail2Ban.

Création d’un fichier de log spécifique

Modification du code source pour qu’il log les erreurs de connexion. On édite /owncloud/lib/user/database.php.
En ligne 202, dans la fonction checkPassword, juste avant le “return false” on ajoute le code suivant

Cette modification concerne les erreurs de mot de passe pour les logins existant en base. Si l’on souhaite également loguer les erreurs pour tous les logins il faut ajouter le même code avant le dernier “return false” dans la partie “else” de la fonction. On modifie juste le commentaire.

Edit: Depuis la version 6 de Owncloud le fichier se trouve dans /var/www/owncloud/lib/private/user/database.php. Dans le if($row) se trouve 2 return false au lieu de un. Remplir les deux de la même façon. 

On passe à présent à la création de la prison Fail2ban dans /etc/fail2ban/filter.d/owncloud.conf

On test que la regex match bien. (Effectuez une erreur de login sur l’interface avant)

On ajoute cette prison à la conf dans /etc/fail2ban/jail.conf

Restart de fail2ban pour prendre en compte

Il faut quand même garder en tête que les lignes dans le php seront à réécrire à chaque mise à jour de Owncloud.

★★★★★