# [fail2ban] Beug, fonctionne pas ?

## thibotus01

Bonjour,

Voilà j'ai voulu installé Fail2ban en faisant comme ca :

```
# echo "net-analyzer/fail2ban ~x86" >> /etc/portage/package.keywords

# emerge -av net-analyzer/fail2ban
```

il m'installe la version 0.7.6, et dans /etc/fail2ban/fail2ban.conf il y a fichier de config. (ce n'est pas /etc/fail2ban.conf normalement ?),

Et ce fichier conf, ne contient que trois paramètres contrairement à beaucoup plus normalement :

```
#          1 = ERROR

#          2 = WARN

#          3 = INFO

#          4 = DEBUG

# Values:  NUM  Default:  3

#

loglevel = 3

# Option:  logtarget

# Notes.:  Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.

#          Only one log target can be specified.

# Values:  STDOUT STDERR SYSLOG file  Default:  /var/log/fail2ban.log

#

logtarget = /var/log/fail2ban.log

# Option: socket

# Notes.: Set the socket file. This is used to communicate with the daemon. Do

#         not remove this file when Fail2ban runs. It will not be possible to

#         communicate with the server afterwards.

# Values: FILE  Default:  /tmp/fail2ban.sock

#

socket = /tmp/fail2ban.sock
```

Ce qui fait que rien ne fonctionne ^^

J'ai voulu suivre ceci : http://www.gentoofr.org/article34.html

Mais les rules proposés pour itables merde completement, enfin bon meme si je met pas ces rules, et uniquement pour fail2ban ca devrait marcher, mais déjà le fichier fail2ban.conf est vide presque donc je ne vois pas quoi faire :s

----------

## geekounet

Fail2ban se config dans /etc/fail2ban/jail.conf  :Wink: 

----------

## thibotus01

Bien pourquoi sur le site il dise /etc/fail2ban.conf ?

Et il sert a quoi alors /etc/fail2ban/fail2ban.conf que j'ai ?! lol...

T'es sur de ca ? En prenant a partir de la : emerge -av net-analyzer/fail2ban

----------

## geekounet

 *thibotus01 wrote:*   

> Bien pourquoi sur le site il dise /etc/fail2ban.conf ?

 

Parce que le site est pas à jour  :Rolling Eyes: 

 *thibotus01 wrote:*   

> Et il sert a quoi alors /etc/fail2ban/fail2ban.conf que j'ai ?! lol...

 

Pour la config de base : fichier de log, etc.

 *Quote:*   

> T'es sur de ca ? En prenant a partir de la : emerge -av net-analyzer/fail2ban

 

Oui j'en suis sur, j'en ai configuré un ya 2 semaines (même si ça a un peu foiré, mais c'est parce que fail2ban a pas l'air encore près pour freebsd ...)

La config de fail2ban se passe dans plusieurs fichiers dans /etc/fail2ban/ en fait :

- fail2ban.conf pour la config vraiment de base

- jail.conf pour configurer le comportement, ce qu'il doit surveiller et faire, etc.

- filter.d/ qui contient les filtres avec leurs regexps etc. pour surveiller les logs (et que t'active dans le jail.conf)

- action.d/ qui contient les fichiers indiquant les actions à faire lors d'une attaque détectée (ban, mail, whois, etc.)

Voilà  :Smile: 

----------

## thibotus01

Alors j'ai configuré, mais il démarre pas... ou plus... :

/etc/init.d/fail2ban start

 * Caching service dependencies ...                                           [ ok ]

 * Starting fail2ban ...

 * Failed to start fail2ban     

 :Question:   :Rolling Eyes: 

----------

## thibotus01

J'ai fais unmerge, et je re emerge, pour le re installer. Je l'ai lancé comme ca, et meme probleme il démarre pas, par default :s

Help :s où je peux voir que ca coince ?   :Rolling Eyes: 

----------

## _Seth_

est ce que tu peux préciser ? Il ne démarre pas comme tu l'expliquais

```
/etc/init.d/fail2ban start

* Caching service dependencies ... [ ok ]

* Starting fail2ban ...

* Failed to start fail2ban
```

ou il n'est pas ajouté dans ton rc et ne se lance pas au démarrage de ta bécane ?

----------

## thibotus01

En tapant : /etc/init.d/fail2ban start  il ne démarre pas.

C'est en tapant la commande pour le lancer.

----------

## geekounet

Faudrait déjà qu'on sache ce que tu as modifié pour qu'on puisse t'aider  :Rolling Eyes: 

----------

## thibotus01

 *thibotus01 wrote:*   

> J'ai fais unmerge, et je re emerge, pour le re installer. Je l'ai lancé comme ca, et meme probleme il démarre pas, par default :s
> 
> Help :s où je peux voir que ca coince ?  

 

Même en ne modifiant rien... Avec l'install de base, le fait de le "start" devrait fonctionner non ?

----------

## geekounet

Ré-emerger une même version ça ne remet pas les fichiers de config de départ (surtout si tu fais pas de etc-update). Supprime /etc/fail2ban/ et ré-emerge le pour remettre la conf de base.

----------

## thibotus01

Idem ne démarre pas... Pour infos sur etc-update, j'ai pas mal de fichier :

```
 1) /etc/bash/bashrc (1)

 2) /etc/skel/.bashrc (1)

 3) /etc/ssl/misc/CA.pl (1)

 4) /etc/ssl/misc/CA.sh (1)

 5) /etc/webmin/apache/config (1)

 6) /etc/webmin/config (1)

 7) /etc/webmin/quota/config (1)

 8) /etc/webmin/sendmail/config (1)

 9) /etc/webmin/virtual-server/config (1)

10) /etc/webmin/webalizer/config (1)

11) /etc/DIR_COLORS (1)

12) /etc/make.conf.example (1)

13) /etc/webmin/miniserv.conf (1)

14) /etc/webmin/miniserv.pem (1)

15) /etc/ssl/openssl.cnf (1)

16) /etc/webmin/version (1)

17) /etc/pam.d/webmin (1)

18) /etc/webmin/webmin.acl (1)
```

Mais ne m'y conaissant pas assez, je prefère pas toucher... Je pense pas que ca afflue le fonctionnement de fail2ban

----------

## _Seth_

Aie aie aie ! C'est très important de faire un etc-update après chaque emerge, sinon dans certains cas tes fichiers de configuration peuvent faire planter les programmes mis à jour.

Je te conseille vivement de lire ce topic et d'utiliser dispatch-conf au lieu de etc-update. Si tu veux savoir pourquoi, tu peux lire (toujours dans le même topic) le post de TGL.

----------

## thibotus01

Je vais voir ca... Et sinon pour fail2ban cela peut jouer à son fonctionnement ?... J'aimerais comprendre pourquoi il démarre pas :/

----------

## geekounet

 *thibotus01 wrote:*   

> Idem ne démarre pas... Pour infos sur etc-update, j'ai pas mal de fichier :
> 
> ```
>  1) /etc/bash/bashrc (1)
> 
> ...

 

Tu met à jour directement les fichiers que tu n'as pas touché, et pour ceux que tu as modifié, tu regarde les différences et tu rajoute les nouveautés si nécessaire.

----------

## thibotus01

J'en ai modifié aucun manuellement, j'ai juste mis à jour webmin 1.29 -> 1.30 et les modules en suivant.

----------

## thibotus01

personne ne peut m'aider ?   :Embarassed: 

----------

## _Seth_

Nous sommes sur un forum communautaire, les gens qui viennent ici donnent de leur temps de façon désintéressée et amicale. Cependant,  il y a quelques règles à respecter quand on pose des questions et il faut bien garder à l'esprit que les personnes qui te répondront attendent en contre-partie un minimum d'égard.

Poser une question comme celle là :

 *Quote:*   

> personne ne peut m'aider ? 

 

n'apporte pas grand chose et laisse penser 2 choses :

1) que tu es pressé d'avoir une réponse toute faite (au lieu de chercher sur internet d'autres tuoriels et de lire les manuels)

2) que tu dénigres les réponses de ceux qui t'ont aidé (en l'occurence plutôt geekounet   :Very Happy:  )

C'est mon interprétation et si je peux te donner un conseil, c'est bien d'éviter de dire des choses comme celle là si tu souhaites avoir des retours et que d'autres t'aident à progresser dans la résolution de ton problème.

Mes 2 cents.

----------

## thibotus01

Mon problème venait au fonctionnement de fail2ban, si je ne sais pas sur quoi chercher... je ne vais pas chercher des tutoriaux / man. dans le vide. Je sais juste qu'il ne se lance pas, et à partir de là c'est difficile.

Je voyais que vous répondaient plus, donc qui pour ma part, je pense vous ne savaient plus. Et je demandais donc à d'autres personnes, peut etre ils avaient eu le meme cas... Où auraient une piste je ne sais pas.

La question ne se pose plus, je suis entrain re-install Gentoo., on verra plus tard...

----------

## l_arbalette

dommage que j'ai vu ce thread un peu tard : je t'aurais sans doute évité de ré-installer Gentoo pour ça !   :Laughing: 

J'ai eu le même problème que toi pour le démarrage de fail2ban.

Je ne sais pas pourquoi, mais en forçant le démarrage du serveur en lançant la commande :

```
fail2ban-client -x start

```

ça n'a plus jamais posé de problème au démarrage....

----------

## thibotus01

J'ai réussi à le faire démarrer, je lui est dit de look dans /home/log/auth.log et dans fail2ban.log je trouve :

```
= 

2007-02-16 22:51:54,154 fail2ban.jail   : INFO   Using poller

2007-02-16 22:51:54,154 fail2ban.filter : INFO   Created Filter

2007-02-16 22:51:54,155 fail2ban.filter : INFO   Created FilterPoll

2007-02-16 22:51:54,156 fail2ban.filter : INFO   Added logfile = /var/log/auth.log

2007-02-16 22:51:54,157 fail2ban.filter : INFO   Set maxRetry = 5

2007-02-16 22:51:54,159 fail2ban.filter : INFO   Set findtime = 600

2007-02-16 22:51:54,160 fail2ban.actions: INFO   Set banTime = 600

2007-02-16 22:51:54,165 fail2ban.actions.action: INFO   Set actionBan = iptables -I fail2ban-<name> 1 -s <ip> -j DROP

2007-02-16 22:51:54,167 fail2ban.actions.action: INFO   Set actionStop = iptables -D INPUT -p <protocol> --dport <port> -j fail2ban-<name>

iptables -F fail2ban-<name>

iptables -X fail2ban-<name>

2007-02-16 22:51:54,168 fail2ban.actions.action: INFO   Set actionStart = iptables -N fail2ban-<name>

iptables -A fail2ban-<name> -j RETURN

iptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>

2007-02-16 22:51:54,170 fail2ban.actions.action: INFO   Set actionUnban = iptables -D fail2ban-<name> -s <ip> -j DROP

2007-02-16 22:51:54,171 fail2ban.actions.action: INFO   Set actionCheck = iptables -n -L INPUT | grep -q fail2ban-<name>

2007-02-16 22:51:54,176 fail2ban.actions.action: INFO   Set actionBan = echo -en "Hi,\n

The IP <ip> has just been banned by Fail2Ban after

<failures> attempts against <name>.\n\n

Here are more information about <ip>:\n

`whois <ip>`\n

Regards,\n

Fail2Ban"|mail -s "[Fail2Ban] <name>: banned <ip>" <dest>

2007-02-16 22:51:54,177 fail2ban.actions.action: INFO   Set actionStop = echo -en "Hi,\n

The jail <name> has been stopped.\n

Regards,\n

Fail2Ban"|mail -s "[Fail2Ban] <name>: stopped" <dest>

2007-02-16 22:51:54,179 fail2ban.actions.action: INFO   Set actionStart = echo -en "Hi,\n

The jail <name> has been started successfuly.\n

Regards,\n

Fail2Ban"|mail -s "[Fail2Ban] <name>: started" <dest>

2007-02-16 22:51:54,180 fail2ban.actions.action: INFO   Set actionUnban = 

2007-02-16 22:51:54,181 fail2ban.actions.action: INFO   Set actionCheck = 

2007-02-16 22:51:54,255 fail2ban.actions.action: ERROR  iptables -N fail2ban-ProFTPD

iptables -A fail2ban-ProFTPD -j RETURN

iptables -I INPUT -p tcp --dport ftp -j fail2ban-ProFTPD returned 200
```

Je suis pas sur que ca fonctionne, d'autant que jai essayé, il ne ma pas banni...

----------

## thibotus01

```
[ssh-iptables]

enabled  = true

filter   = sshd

action   = iptables[name=SSH, port=ssh, protocol=tcp]

           mail-whois[name=SSH, dest=contact@mail.fr]

logpath  = /var/log/auth.log

maxretry = 4

[proftpd-iptables]

enabled  = true

filter   = proftpd

action   = iptables[name=ProFTPD, port=ftp, protocol=tcp]

           mail-whois[name=ProFTPD, dest=contact@mail.fr]

logpath  = /var/log/auth.log

maxretry = 5
```

Javais mis ca a TRUE, j'ai recu un mail quand ssh et proftpd  démarrait... ou se stoppait.... mais cest tout, cest la seule regle en route lol.

Jai du mal à configurer, dans le fichier jail.conf je vois pas autre chose :s

----------

## l_arbalette

peux-tu envoyer le résultat de 

```
cat /etc/syslog-ng/syslog-ng.conf   
```

----------

## thibotus01

```
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.conf.gentoo,v 1.5 2005/05/12 05:46:10 mr_bones_ Exp $

#

# Syslog-ng default configuration file for Gentoo Linux

# contributed by Michael Sterrett

options {

        chain_hostnames(off);

        sync(0);

        # The default action of syslog-ng 1.6.0 is to log a STATS line

        # to the file every 10 minutes.  That's pretty ugly after a while.

        # Change it to every 12 hours so you get a nice daily update of

        # how many messages syslog-ng missed (0).

        stats(43200);

};

source src { unix-stream("/dev/log"); internal(); };

source kernsrc { file("/proc/kmsg"); };

destination messages { file("/var/log/messages"); };

destination authlog { file("/var/log/auth.log"); };

destination syslog { file("/var/log/syslog"); };

destination cron { file("/var/log/cron.log"); };

destination daemon { file("/var/log/daemon.log"); };

destination kern { file("/var/log/kern.log"); };

destination user { file("/var/log/user.log"); };

destination mail { file("/var/log/mail.log"); };

destination mailinfo { file("/var/log/mail.info"); };

destination mailwarn { file("/var/log/mail.warn"); };

destination mailerr { file("/var/log/mail.err"); };

destination debug { file("/var/log/debug"); };

# By default messages are logged to tty12...

destination console_all { file("/dev/tty12"); };

destination console { usertty("root"); };

# ...if you intend to use /dev/console for programs like xconsole

# you can comment out the destination line above that references /dev/tty12

# and uncomment the line below.

#destination console_all { file("/dev/console"); };

#create filters

filter f_auth { facility(auth); };

filter f_authpriv { facility(auth, authpriv); };

filter f_syslog { not facility(authpriv, mail); };

filter f_cron { facility(cron); };

filter f_daemon { facility(daemon); };

filter f_kern { facility(kern); };

filter f_mail { facility(mail); };

filter f_user { facility(user); };

filter f_debug { not facility(auth, authpriv, mail); };

filter f_messages { level(info..warn) and not facility(auth, authpriv, mail); };

filter f_emergency { level(emerg); };

filter f_info { level(info); };

filter f_notice { level(notice); };

filter f_warn { level(warn); };

filter f_crit { level(crit); };

filter f_err { level(err); };

filter f_failed { match("failed"); };

filter f_denied { match("denied"); };

#connect filter and destination

log { source(src); filter(f_authpriv); destination(authlog); };

log { source(src); filter(f_syslog); destination(syslog); };

log { source(src); filter(f_cron); destination(cron); };

log { source(src); filter(f_daemon); destination(daemon); };

log { source(kernsrc); filter(f_kern); destination(kern); };

log { source(src); filter(f_mail); destination(mail); };

log { source(src); filter(f_user); destination(user); };

log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };

log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };

log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };

log { source(src); filter(f_debug); destination(debug); };

log { source(src); filter(f_messages); destination(messages); };

log { source(src); filter(f_emergency); destination(console); };

#log { source(src); destination(messages); };

log { source(src); destination(console_all); };
```

----------

## thibotus01

Personne ?   :Shocked:   :Rolling Eyes:   :Confused: 

----------

## l_arbalette

je ne m'attendais pas à un truc aussi compliqué...bref...

peux-tu envoyer un 

```
tail -c 100000 /var/log/auth.log | grep sshd
```

?

----------

## thibotus01

Bon, apparement ca fonctionne maintenant... Après Unmerge, supprimer.... J'ai pas trop compris pourquoi, mais c'est bon ^^  :Smile: 

----------

