Über den Author / Internet / Server / Fail2ban Lösung zu „fail2ban.actions.action: ERROR“ im Logfile

Fail2ban Lösung zu „fail2ban.actions.action: ERROR“ im Logfile

~1 Min. Lesezeit

Fail2Ban ist eine gute Möglichkeit einen Server gegen unbefugte Anfragen zu schützen. Leider jedoch versagte der Dienst teilweise seine Funktion auf dem neuen Server, da dieser „zu schnell“ war. Ein kleiner Bugfix half mir das Problem in den Griff zu bekommen.

Ich habe mich gefragt warum Fail2Ban auf meinem Server immer wieder seinen Dienst verweigerte und Filter nicht funktionierten.

Im Logfile sah ich unter den normalen Starteinträgen auch Fehler:

2012-04-16 21:59:41,884 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 200
2012-04-16 21:59:41,886 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh returned 400
2012-04-16 21:59:41,888 fail2ban.actions.action: ERROR  iptables -N fail2ban-proftpd
iptables -A fail2ban-proftpd -j RETURN
iptables -I INPUT -p tcp -m multiport --dports ftp,ftp-data,ftps,ftps-data -j fail2ban-proftpd returned 200
2012-04-16 21:59:41,890 fail2ban.actions.action: ERROR  iptables -N fail2ban-named-refused-tcp
iptables -A fail2ban-named-refused-tcp -j RETURN
iptables -I INPUT -p tcp -m multiport --dports domain,953 -j fail2ban-named-refused-tcp returned 200

Die Befehle welche scheinbar fehlgeschlagen sind, habe ich manuell nach kontrolliert und diese funktionieren problemlos.
Warum also gibt es Fehler und warum starten diese nicht?

Ich bin über den Hinweis gestolpert, dass die Verarbeitungszeit von Fail2Ban zu schnell ist, damit IpTables nicht alle Befehle verarbeiten kann.

Man sollte daher ein kleinen Bugfix in der Datei /usr/bin/fail2ban-client anbringen:

	def __processCmd(self, cmd, showRet = True):
		beautifier = Beautifier()
		for c in cmd:
			time.sleep(0.1)
			beautifier.setInputCmd(c)
			try:

Hat man die Sleep Zeile eingefügt, startet Fail2Ban ohne Fehler.

About Stefan

Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf. Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

Selbstsigniertes Multidomain SSL Zertifikat erstellen | root1024

~0 Min. LesezeitSolch ein Multidomain SSL Zertifkat kann einfach und schnell selbst erstellt werden. Quelle: …

PHP Trojaner suchen und finden

~0 Min. LesezeitPHP Trojaner sind seit längerem sehr beliebt. Mit dem Einsatz von immer mehr …

2 Kommentare

  1. Danke…….

    Genau das hat bei mir auch gefehlt. Eingetragen und nun startet und stoppt fail2ban
    ohne Errors.

    :)

  2. Danke!!
    ich musste den time.sleep(0.5) nehmen, vielleicht ist mein Server nicht ganz so fix ….

    Hat aber funktioniert, jetzt startet fail2ban ohne Fehlermeldung.

  3. super, vielen Dank, das hat mir geholfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.