Fail2ban multi-jails éviter les erreurs

Salut,
Je tourne et retourne un problème depuis un moment, et je viens de trouver la solution…

fail2ban me retournait d’une façon aléatoire des erreurs de ce type:

2011-08-08 12:22:52,286 fail2ban.actions.action: ERROR  iptables -N fail2ban-pam-generic
iptables -A fail2ban-pam-generic -j RETURN
iptables -I INPUT -p tcp -j fail2ban-pam-generic returned 400
2011-08-08 15:06:04,467 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 10122 -j fail2ban-ssh-ddos
iptables -F fail2ban-ssh-ddos
iptables -X fail2ban-ssh-ddos returned 100
2011-08-08 15:06:10,027 fail2ban.actions.action: ERROR  iptables -N fail2ban-apache-overflows
iptables -A fail2ban-apache-overflows -j RETURN
iptables -I INPUT -p tcp -m multiport --dports http,https -j fail2ban-apache-overflows returned 200
2011-08-08 15:06:10,224 fail2ban.actions.action: ERROR  iptables -N fail2ban-postfix
iptables -A fail2ban-postfix -j RETURN
iptables -I INPUT -p tcp -m multiport --dports smtp,ssmtp -j fail2ban-postfix returned 400
2011-08-08 15:06:10,283 fail2ban.actions.action: ERROR  iptables -N fail2ban-sasl
iptables -A fail2ban-sasl -j RETURN
iptables -I INPUT -p tcp -m multiport --dports smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s -j fail2ban-sasl returned 200
2011-08-08 15:14:26,002 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports http,https -j fail2ban-apache-overflows
iptables -F fail2ban-apache-overflows
iptables -X fail2ban-apache-overflows returned 100
2011-08-08 15:14:28,374 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s -j fail2ban-sasl
iptables -F fail2ban-sasl
iptables -X fail2ban-sasl returned 100
2011-08-08 15:14:45,382 fail2ban.actions.action: ERROR  iptables -N fail2ban-apache-noscript
iptables -A fail2ban-apache-noscript -j RETURN
iptables -I INPUT -p tcp -m multiport --dports http,https -j fail2ban-apache-noscript returned 400

Je suis tombé sur un blog qui donne un “hack” permettant d’éviter ces erreurs. C’est pas très beau comme solution, mais ça fonctionne…

[quote]Edit /usr/bin/fail2ban-client and adding a time.sleep(0.1):

def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
time.sleep(0.1)
beautifier.setInputCmd©[/quote]

La durée de pause était insuffisante chez moi, je suis passé à 0.2, plus d’erreur… :smiley:

2011-08-08 15:15:52,887 fail2ban.jail : INFO Jail 'apache-noscript' started 2011-08-08 15:15:53,133 fail2ban.jail : INFO Jail 'pam-generic' started 2011-08-08 15:15:53,376 fail2ban.jail : INFO Jail 'ssh-ddos' started 2011-08-08 15:15:53,600 fail2ban.jail : INFO Jail 'apache-overflows' started 2011-08-08 15:15:53,852 fail2ban.jail : INFO Jail 'ssh' started 2011-08-08 15:15:54,076 fail2ban.jail : INFO Jail 'postfix' started 2011-08-08 15:15:54,334 fail2ban.jail : INFO Jail 'sasl' started 2011-08-08 15:15:54,556 fail2ban.jail : INFO Jail 'apache' started

Salut lol,

Un bon moment que je la chercher celle là.

Cependant , chez moi aucun temps n’est imparti.

extrait.

[code]def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
beautifier.setInputCmd©
try:
client = CSocket(self.__conf[“socket”])
ret = client.send©
if ret[0] == 0:
logSys.debug("OK : " + ret[1])
if showRet:
print beautifier.beautify(ret[1])
else:
logSys.debug("NOK: " + ret[1].args)
print beautifier.beautifyError(ret[1])
return False
except socket.error:
if showRet:
logSys.error(“Unable to contact server. Is it running?”)
return False
except Exception, e:
if showRet:
logSys.error(e)
return False
return True

    ##

[/code]
Suffirait-il d’ajouter time.sleep(0.2) voir (0.1) à la suite ???

[quote]def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
time.sleep(0.2)
beautifier.setInputCmd©
try:
client = CSocket(self.__conf[“socket”])
ret = client.send©
if ret[0] == 0:
logSys.debug("OK : " + ret[1])
if showRet:
print beautifier.beautify(ret[1])
else:
logSys.debug("NOK: " + ret[1].args)
print beautifier.beautifyError(ret[1])
return False
except socket.error:
if showRet:
logSys.error(“Unable to contact server. Is it running?”)
return False
except Exception, e:
if showRet:
logSys.error(e)
return False
return True

    ##

[/quote]
Quel est ce blog mystérieux … :083

Salut,

askubuntu.com/questions/27601/wh … failing-to

Oui, c’est ce que j’ai fait, et ça fonctionne.

EDIT: Sauvegarde le fichier avant…

Merci pour le partage :023 !

un peu de lecture et application …

-edit-

Vu !

Pas de souci, j’ai fait un bak (comme dab) avant !

Re,
Il y avait un rapport de bug. La solution proposée ne fonctionne pas chez moi…

bugs.debian.org/cgi-bin/bugreport.cgi?bug=554162

:023

met ça au frais

à ne pas perde

met ça au frais
à ne pas perde[/quote]

J’ai mis ça sur le Wiki et j’ai informé le mainteneur. C’est sur la page de rapport de bug maintenant.
Comme il le dit (le mainteneur) ce n’est pas une solution “ultime”…
Il cherche une autre solution, mais apparemment… il ne trouve pas (le rapport est ouvert depuis presque deux ans…)

Salut ! Déterrage de sujet :

Chez moi c’est à la fermeture de fail2ban que je constate ces erreurs :

... 2012-06-14 08:32:01,617 fail2ban.jail : INFO Jail 'couriersmtp' stopped 2012-06-14 08:32:02,460 fail2ban.actions.action: ERROR iptables -D INPUT -p tcp -j fail2ban-ALL iptables -F fail2ban-ALL iptables -X fail2ban-ALL returned 100 2012-06-14 08:32:02,461 fail2ban.jail : INFO Jail 'apache-wootoot' stopped ...

Donc l’ajout de la tempo de 0.2 n’y change rien. (testé et pas approuvé)

Any idea ? Cela dit ça n’a sans doute rien à voir mais on ne sait jamais. De plus avoir des erreurs à la fermeture me gène moins que lorsqu’il démarre (là tout va bien).

Salut,
Effectivement il n’y a pas de raison que la temporisation au lancement des règles arrange l’arrêt de fail2ban…

fail2ban-all correspond à quelle règles dans ta conf ?