Page 1 of 2
[Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 11 Nov 2014 20:36
by laster13
Bonjour,
Fail2ban lit les logs de divers serveurs (SSH, Apache, FTP, lighttpd…) à la recherche d'erreurs d'authentification répétées et ajoute une règle iptables pour bannir l'adresse IP de la source. Le but de fail2ban est d'empêcher une attaque qui, par force brute, trouve un identifiant/mot de passe permettant l'accès à un service. Les postes serveurs ne dormant jamais, ils sont la cible d'attaques automatiques en provenance de partout. Et sans un tel outil, qui sanctionne les tentatives, plus un serveur est rapide à répondre, plus il est menacé!!!
Pour tous ceux d'entre vous qui donnent un accès extérieur à Nas4free (serveur, owncloud, site web, ssh...), alors ce tuto est pour vous!!!
Merci de vous servir de ce thread pour toutes réactions concernant ce tuto
viewtopic.php?f=94&t=7660
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 12 Dec 2014 20:41
by lulu80
bonsoir ,
j'ai une petit problème sur l'installe Fail2ban ...au démarrage de fail2ban j'ai se message cidessous
owncloud ~/ root~# mkdir /var/run/fail2ban
owncloud ~/ root~# pkg_add -r wait_on
Fetching
ftp://ftp.freebsd.org/pub/FreeBSD/ports ... ait_on.tbz... Done.
owncloud ~/ root~# /usr/local/etc/rc.d/fail2ban start
/etc/rc.conf: No: not found
WARNING 'action' not defined in 'php-url-fopen'. Using default one: ''
WARNING 'action' not defined in 'lighttpd-fastcgi'. Using default one: ''
WARNING 'action' not defined in 'lighttpd-auth'. Using default one: ''
2014-12-12 20:35:34,290 fail2ban.server : INFO Starting Fail2ban v0.8.9
2014-12-12 20:35:34,290 fail2ban.server : INFO Starting in daemon mode
owncloud ~/ root~# /usr/local/etc/rc.d/fail2ban start
/etc/rc.conf: No: not found
ERROR Server already running
owncloud ~/ root~#
oups !
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 12 Dec 2014 20:59
by lulu80
re ,
j'avais la ligne "syslogd_flags="-ss -cc" " arriver complétement en haut du fichier "rc.conf"
maintenant sa me dit sa

"error server already running " en french

"Serveur d'erreur fonctionnant(courant) déjà"

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 12 Dec 2014 21:33
by lulu80
re,re
bon la je suis perdu ...je trouve pas le fichier >> "edit /usr/local/etc/fail2ban/jail.conf" ..
j'ai suivi le chemin /mnt/disque1/finch/urs/jails/owncloud/urs/local/etc/ et aprés /etc/ je ne vois pas /fail2ban/
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 13 Dec 2014 17:01
by laster13
Bonjour,
Le tuto s'appuie sur une jail crée avec TheBrig. Dans le doute et par rapport aux erreurs que tu viens de me signaler j'ai reinstallé finch et crée une nouvelle Jail "owncloud". L'installation de fail2ban dans finch fonctionne parfaitement bien.
As tu pensé à rentrer dans ta jail avec le mode "console"?
Ensuite tu installes fail2ban
Code: Select all
owncloud1 ~/ root~# /usr/local/etc/rc.d/fail2ban status
fail2ban is running as pid 33122.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 13 Dec 2014 17:31
by lulu80
oui j'était bien dans la jail
et la manip ne fonctionne pas
Welcome to your FreeBSD jail.
owncloud ~/ root~# owncloud1 ~/ root~# /usr/local/etc/rc.d/fail2ban status
-bash: owncloud1: command not found
je pense que c'est mort et je suis bon pour retuer la jail

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 17 Dec 2014 10:06
by ZiEg
Bonjour, dans le tuto il est dit d'installer fail2ban dans une Jail. OK mais laquelle ? Celle de Owncloud ou une nouvelle ?
Bon je pense que c'est une nouvelle donc on ne va pas securiser Owncloud mais tout le Nas4Free non ?
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 17 Dec 2014 10:13
by lulu80
bonjour
c'est dans la jail "owncloud " fail2ban doit être installer dans chaque jail ou il ya une application a protéger
a moins d'être en full laster13 te donnera plus d'explication

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 17 Dec 2014 15:28
by laster13
Tout à fait, Fail2ban doit être installer dans la même jail que owncloud. C'est une install qui est hyper light et qui s'effectue en quelques minutes. Il semblerait par ailleurs qu'il soit possible de l'installer sur une version Full de Nas4free... Si quelqu'un veut essayer pour nous le confirmer

Il est enfin également possible d'installer un serveur ssh dans une jail et de le protéger avec fail2ban.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 18:27
by ernie
Bonsoir,
j'ai des soucis sur la modification du fichier database.php.
J'utilise le code suivant (issu du tuto) :
Code: Select all
public function checkPassword( $uid, $password ) {
$query = OC_DB::prepare( 'SELECT `uid`, `password` FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)' );
$result = $query->execute( array( $uid));
$row=$result->fetchRow();
if($row) {
$storedHash=$row['password'];
if ($storedHash[0]=='$') {//the new phpass based hashing
$hasher=$this->getHasher();
if($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''), $storedHash)) {
return $row['uid'];
}else{ $today = new DateTime();
date_timezone_set($today, timezone_open('EUROPE/PARIS'));
$IPClient= $_SERVER['REMOTE_ADDR'];
$logAuth = fopen('/var/log/owncloud/auth.log', 'a+');
fputs($logAuth, date_format($today, 'Y/m/d H:i:s') . " \tWebform Login" . " Username/Password failed for: \t" . $IPClient . "\n");
fclose($logAuth);
return false;
}
}else{//old sha1 based hashing
if(sha1($password)==$storedHash) {
//upgrade to new hashing
$this->setPassword($row['uid'],$password);
return $row['uid'];
}else{ $today = new DateTime();
date_timezone_set($today, timezone_open('EUROPE/PARIS'));
$IPClient= $_SERVER['REMOTE_ADDR'];
$logAuth = fopen('/var/log/owncloud/auth.log', 'a+');
fputs($logAuth, date_format($today, 'Y/m/d H:i:s') . " \tWebform Login" . " Username/Password failed for: \t" . $IPClient . "\n");
fclose($logAuth);
return false;
}
}
}else{
$today = new DateTime();
date_timezone_set($today, timezone_open('EUROPE/PARIS'));
$IPClient= $_SERVER['REMOTE_ADDR'];
$logAuth = fopen('/var/log/owncloud/auth.log', 'a+');
fputs($logAuth, date_format($today, 'Y/m/d H:i:s') . " \tWebform Login" . " Username/Password failed for: \t" . $IPClient . "\n");
fclose($logAuth);
return false;
}
}
à la place du suivant (de publi function checkpassword jusque return false inclus) :
Code: Select all
public function checkPassword($uid, $password) {
$query = OC_DB::prepare('SELECT `uid`, `password` FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)');
$result = $query->execute(array($uid));
$row = $result->fetchRow();
if ($row) {
$storedHash = $row['password'];
if ($storedHash[0] === '$') { //the new phpass based hashing
$hasher = $this->getHasher();
if ($hasher->CheckPassword($password . OC_Config::getValue('passwordsalt', ''), $storedHash)) {
return $row['uid'];
}
//old sha1 based hashing
} elseif (sha1($password) === $storedHash) {
//upgrade to new hashing
$this->setPassword($row['uid'], $password);
return $row['uid'];
}
}
return false;
Et en me connectant à owncloud j'ai :
Parse error: syntax error, unexpected 'private' (T_PRIVATE) in /usr/local/www/owncloud/lib/private/user/database.php on line 229
la ligne 229 correspond à
private function loadUser($uid) {
qui n'a rien à voir avec les modifications. SI je remets le database.php initial owncloud se lance bien.
Où ai je faux ?
Dans le nouveau code, il y a 2 accolades après return false, sont elles à prendre ?
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 18:54
by laster13
Bonsoir,
Oui surtout bien respecter les accolades avant et après. Ne boire l'apéro qu'après avoir fait cette manip

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 19:37
by ernie
Bon bah cela marche pas.
J ai installer owncloud 7.04 selon le tuto et la cette étape du database.php ne va pas.
Quelque un a t il pu l installer fail2ban sur owncloud 7.4 ?
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 20:47
by ernie
Bon j'ai été sur le tuto anglais et j'ai pris le fichier database.php proposé dans le tuto.
Je dois mal faire le copier coller.
Comment voit on le bannissement ?
J'ai saisi 3 logins et un 4eme mais rien ne sait afficher.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 21:24
by laster13
Lorsque tu es banni, ton navigateur n affiche plus rien, il n arrive plus a pointer sur owncloud.. Page blanche
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 24 Jan 2015 21:31
by ernie
La page blanche apparaît furtivement et ensuite la page owncloud apparaît de nouveau.
J ai teste plusieurs fois et même avec le bon id mais des mots de passe erronés.
Par contre j ai dû être banni car l id correct et le bon mot de passe ne marche plus.
Je vais attendre que les 10 minutes passent.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 25 Jan 2015 09:45
by laster13
Bonjour,
Je viens de refaire le tuto avec owncloud 7.04 pour être sur qu'il fonctionne et c'est le cas. Le fichier database.php doit être insérer avec les 2 accolades à la fin.
Lorsque tu ouvres ton fichier "/var/log/fail2ban.log" tu vois ces deux lignes qui te confirment que ton ip a été bannie et qu'au bout de 10 mn elle a été débannie
2015-01-25 08:29:37,435 fail2ban.actions: WARNING [owncloud] Ban 192.168.0.11
2015-01-25 08:39:38,063 fail2ban.actions: WARNING [owncloud] Unban 192.168.0.11
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 25 Jan 2015 11:06
by ernie
Merci
J ai eu un plantage fatal : thebrig me montrait 2 jails identiques (les 2 intitulées plex) alors que l une d entre elles est owncloud. Un reboot n a rien changé, et impossible de démarrer les jails.
Je suis entrain de refaire les 2 jails.
Je ne sais ce qui c est passe, mais c est soit une mauvais manip avec l installation de fail2banner soit celle de bit sync
Ouf ce sont des jails
Je regarderai un peu plus tard.
Hier j ai comparé le data base du site uk et le mien modifié. Ils sont proches, proches car il y avait plus de tabulations au début des lignes pour le mien.
Je me demande si le terminal de fedora n amene pas des caractères additionnels, car ce n est pas le même type de protocole de script que nas4free ( j ai eu ce soucis avec la commande date en ligne de commande pour un script ). Je ferai plus tard ce point
Encore merci.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 14 Feb 2015 14:06
by ernie
Fail2banner installé et cela fonctionne : j'ai erronné volontairement le mot de passe et après avec le bon cela ne marche pas. Je vais attendre.
Par contre je ne vois pas le bannissement dans le fichier fail2ban.log. Il n'y a que:
Code: Select all
2015-02-14 13:33:34,489 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.11
2015-02-14 13:59:00,095 fail2ban.server : INFO Stopping all jails
2015-02-14 13:59:00,097 fail2ban.server : INFO Exiting Fail2ban
2015-02-14 13:59:00,969 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.11
2015-02-14 13:59:00,969 fail2ban.jail : INFO Creating new jail 'owncloud'
2015-02-14 13:59:00,970 fail2ban.jail : INFO Jail 'owncloud' uses poller
2015-02-14 13:59:01,002 fail2ban.jail : INFO Initiated 'polling' backend
2015-02-14 13:59:01,003 fail2ban.filter : INFO Added logfile = /var/log/owncloud/auth.log
2015-02-14 13:59:01,003 fail2ban.filter : INFO Set maxRetry = 3
2015-02-14 13:59:01,003 fail2ban.filter : INFO Set findtime = 600
2015-02-14 13:59:01,003 fail2ban.actions: INFO Set banTime = 600
2015-02-14 13:59:01,006 fail2ban.jail : INFO Jail 'owncloud' started
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 15 Feb 2015 11:48
by ernie
Bon mon profil est toujours banni.
Le fichier Var/log/fail2ban.log ne dit rien et le fichier Var/log/owncloud/auth.log est vide.
Y a t il un moyen pour annuler le bannissement ?
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 15 Feb 2015 11:58
by laster13
Bonjour,
Le plus simple est d'enlever les scripts de comandes provisoirement dans "Système|Avancé|Scripts de commande" et de relancer Nas4free. Je pense que tu as du oublié une étape dans le tuto

. Je te conseille de recommencer l'installation jusqu'à obtenir ces messages dans le log
2015-01-25 08:29:37,435 fail2ban.actions: WARNING [owncloud] Ban 192.168.0.11
2015-01-25 08:39:38,063 fail2ban.actions: WARNING [owncloud] Unban 192.168.0.11
Si tu n'y arrives pas, je recommencerais également une install

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 15 Feb 2015 12:05
by ernie
Ok, j y retourne
On est bien d accord que toutes les actions sont dans la jail , donc les répertoires usr, etc and co dans la jail owncloud . Mercure de confirmer
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 15 Feb 2015 12:17
by laster13
Il n'y a que la création du dossier "app" avec les scripts "fail2banner" et "f2banner" qui sont à l’extérieur de la jail. Tout le reste se configure dans la jail, la même que celle où est installé owncloud.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 19 Apr 2015 23:13
by therevenger30
Bonsoir,
Cela fonctionne tellement bien que j'ai une page blanche en local en pointant vers la page d'owncloud et mon client desktop et lui aussi bloqué, code 500 internal serveur error.
Sauf que...c'est pas cela que je veux n'est ce pas
Là je ne vois pas ou cela merdois ...
merci par avance
EDIT : ha si, une parenthèse de trop laissée en plus dans le dernier script.

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 09:34
by therevenger30
Re moi, en fait cela ne fonctionne pas.
Je n'ai plus une page blanche, j'arrive bien sur la page d'accueil de login d'owncloud.
Mais impossible de me logger avec un quelconque login sur owncloud.
Que ce sois en local ou depuis le net.
En local on pourrait dire que c'est le ban qui n'est pas purgé, mais depuis internet je fait avec le téléphone qui n'a pas servi hier pour les 1er essais.
Donc couic !
Je vais désactiver les scripts depuis la gui et rebooter , puis les remettre, on verra.
Sinon :
Dans le tuto il faudrait indiquer qu'on peut mettre une ou plusieurs adresses hors filtrage de fail2ban dans le fichier de configuration.
Dans /usr/local/etc/fail2ban/jail.conf
on peut en effet s'éviter d'être banni en local de cette manière :
En début de fichier à la directive DEFAULT
Code: Select all
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1/8 192.168.1.0/24
A ignoreip = on peut ajouter soit une seule adresse (ou nom DNS) que fail2ban ne scannera pas, soit un réseau comme je l'ai fait là, à adapter selon son propre réseau.
*.*.*.*/24 = masque de sous réseau 255.255.255.0
Chaque entrée sur cette ligne est séparée par un espace. On laisse 127.0.0.1/8 en premier sinon couic.
Cdlt.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 10:13
by therevenger30
Je détecte une erreur dans le tuto, une différence entre la version US et la FR :
A l'étape de création des fichiers f2banner et fail2banner dans /mnt/ XXX/app
dans le second fichier f2banner il est indiqué
Code: Select all
Rien à modifier dans celui ci, vous le placez également dans le dossier "app"
alors que que la version US précise ceci :
Code: Select all
Attension Need replace path into string command="/mnt/disk/app/$name" for your nas
Ceci étant cela ne change rien à mon soucis, ni surtout à la qualité du tuto en général.
Vu comme c'est compliqué d'installer fail2ban sous free BSD en jail par rapport à Linux, sans laster13, c'est impossible.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 11:34
by laster13
Bonjour,
therevenger30 wrote:Attension Need replace path into string command="/mnt/disk/app/$name" for your nas
Autant pour moi, effectivement il faut adapter le chemin (/mnt/disk/app/) et ne pas toucher à la variable par contre. Pour exemple, pour moi cela donne "/mnt/pool1/app/$name" . Je modifie le tuto
Tu peux provoquer 3 erreurs de log et me joindre ton fichier "fail2ban.log" stp?
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 12:24
by therevenger30
je suis dessus, j'arrive
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 12:38
by therevenger30
donc le log fail2ban.log
Code: Select all
.filter : INFO Set findtime = 600
2015-04-20 11:36:04,035 fail2ban.actions: INFO Set banTime = 600
2015-04-20 11:36:04,040 fail2ban.jail : INFO Jail 'owncloud' started
2015-04-20 11:51:09,258 fail2ban.server : INFO Stopping all jails
2015-04-20 11:51:09,955 fail2ban.jail : INFO Jail 'owncloud' stopped
2015-04-20 11:51:09,956 fail2ban.server : INFO Exiting Fail2ban
2015-04-20 12:03:01,187 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for
2015-04-20 12:03:01,188 fail2ban.jail : INFO Creating new jail 'owncloud'
2015-04-20 12:03:01,189 fail2ban.jail : INFO Jail 'owncloud' uses poller
2015-04-20 12:03:01,207 fail2ban.jail : INFO Initiated 'polling' backend
2015-04-20 12:03:01,209 fail2ban.filter : INFO Added logfile = /var/log/owncloud/auth.log
2015-04-20 12:03:01,209 fail2ban.filter : INFO Set maxRetry = 3
2015-04-20 12:03:01,210 fail2ban.filter : INFO Set findtime = 600
2015-04-20 12:03:01,211 fail2ban.actions: INFO Set banTime = 600
2015-04-20 12:03:01,216 fail2ban.jail : INFO Jail 'owncloud' started
2015-04-20 12:10:37,211 fail2ban.server : INFO Stopping all jails
2015-04-20 12:10:37,672 fail2ban.jail : INFO Jail 'owncloud' stopped
2015-04-20 12:10:37,673 fail2ban.server : INFO Exiting Fail2ban
2015-04-20 12:13:57,154 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for
2015-04-20 12:13:57,156 fail2ban.jail : INFO Creating new jail 'owncloud'
2015-04-20 12:13:57,157 fail2ban.jail : INFO Jail 'owncloud' uses poller
2015-04-20 12:13:57,180 fail2ban.jail : INFO Initiated 'polling' backend
2015-04-20 12:13:57,186 fail2ban.filter : INFO Added logfile = /var/log/owncloud/auth.log
2015-04-20 12:13:57,187 fail2ban.filter : INFO Set maxRetry = 3
2015-04-20 12:13:57,188 fail2ban.filter : INFO Set findtime = 600
2015-04-20 12:13:57,188 fail2ban.actions: INFO Set banTime = 600
2015-04-20 12:13:57,193 fail2ban.jail : INFO Jail 'owncloud' started
2015-04-20 13:57:27,771 fail2ban.server : INFO Stopping all jails
2015-04-20 13:57:28,418 fail2ban.jail : INFO Jail 'owncloud' stopped
2015-04-20 13:57:28,418 fail2ban.server : INFO Exiting Fail2ban
2015-04-20 14:24:07,687 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for
2015-04-20 14:24:07,691 fail2ban.jail : INFO Creating new jail 'owncloud'
2015-04-20 14:24:07,692 fail2ban.jail : INFO Jail 'owncloud' uses poller
2015-04-20 14:24:07,716 fail2ban.jail : INFO Initiated 'polling' backend
2015-04-20 14:24:07,740 fail2ban.filter : INFO Added logfile = /var/log/owncloud/auth.log
2015-04-20 14:24:07,741 fail2ban.filter : INFO Set maxRetry = 3
2015-04-20 14:24:07,742 fail2ban.filter : INFO Set findtime = 600
2015-04-20 14:24:07,743 fail2ban.actions: INFO Set banTime = 600
2015-04-20 14:24:07,748 fail2ban.jail : INFO Jail 'owncloud' started
donc rien !
et dans /var/log/owncloud/auth.log, c'est vide .
Ce qui est pénible c'est qu'avec la commande ipfw list on a une erreur et rien n'est renvoyé.
Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 13:13
by laster13
Effectivement il ne se passe rien, normalement tu devrais avoir ca:
2015-01-25 08:29:37,435 fail2ban.actions: WARNING [owncloud] Ban 192.168.0.11
2015-01-25 08:39:38,063 fail2ban.actions: WARNING [owncloud] Unban 192.168.0.11
Le "ban" et 10 mn après le "unban"
Je suis au boulot, je le réinstalle ce soir et te tiens au courant

Re: [Topic unique] Sécuriser Owncloud avec Fail2ban
Posted: 20 Apr 2015 13:26
by therevenger30
OK, merci d'avance, j'ai revérifié 3 fois toutes les étapes d'install, c'est pourtant bon.
