Zum Inhalt

Fail2ban: Wie Server bruteforce abwehren

Nun, wenn man einen Server aufsetzt und irgendwann bemerkt, dass es viele Bruteforce-Attacken auf seine Mail-/SysCP-Konten und -Passwörter gibt, dann ist es Zeit, das Tool fail2ban einzusetzen.

fail2ban untersucht die Logdateien diverser Dienste: courier, postfix, apache, ssh etc. Entdeckt es dabei viele fehlerhafte Logins einer IP, so wird diese zunächst für 10 Minuten gebannt. Das bringt die meisten Angreifer schon dazu, den Server als uninteressant zu betrachten und spart eine Menge Traffic.

Die Installation ist unter Debian/Ubuntu denkbar einfach:

aptitude install fail2ban

Bevor es losgeht, sollte man aber darauf achten, sich nicht selbst auszusperren. Dazu können statische IPs in die Konfigurationsdatei eingetragen werden. Diese ist zu finden unter /etc/fail2ban/jail.conf.

ignoreip = 127.0.0.1 77.51.18.194 192.168.179.50 10.10.1.15
# etc., mit Leerzeichen IPs trennen.

Ist dieses geschafft, aktiviert man lediglich in selbiger Konfigurationsdatei die zu überwachenden Dienste: Man sucht sich die Bereiche in [eckigen Klammern] heraus und setzt dort den Wert enabled = true.

Zu guter Letzt wird der Dienst just wieder angeschubst:

/etc/init.d/fail2ban restart

Und man kann ihm gemütlich beim Aussortieren zugucken:

# Ausgabe mail.log und fail2ban.log in /var/log
==== mail.log ====
Jul 18 19:24:43 golf764 pop3d: Connection, ip=[::ffff:217.40.225.145]
Jul 18 19:24:43 golf764 pop3d: LOGIN FAILED, user=giovanni, ip=[::ffff:217.40.225.145]
Jul 18 19:24:43 golf764 postfix/smtpd[4614]: connect from unknown[222.133.157.65]
Jul 18 19:24:48 golf764 pop3d: Connection, ip=[::ffff:217.40.225.145]
Jul 18 19:24:48 golf764 pop3d: LOGIN FAILED, user=giovanni, ip=[::ffff:217.40.225.145]
Jul 18 19:24:53 golf764 pop3d: Connection, ip=[::ffff:217.40.225.145]
Jul 18 19:24:53 golf764 pop3d: LOGIN FAILED, user=giovanni, ip=[::ffff:217.40.225.145]
==== fail2ban.log ====
2009-07-18 19:24:55,903 fail2ban.actions: WARNING [courierauth] Ban 217.40.225.145

Jetzt kann man sich zurücklehnen und der Show zugucken…

Published inHow TosSoftware vorgestellt

2 Comments

  1. Ich setze auch schon sehr lange Fail2Ban auf x Servern ein. Ich setze derzeit i.d.R. die trunk Version ein, da ich auf verschiedenen Systemen Probleme mit der CPU Auslastung beim starten hatte. In der trunk ist dieses gefixt.

    Ich habe auch eine Funktion vermisst mit der es Möglich ist manuell IP-Adressen Fail2Ban zu übergeben damit er diese durch iptables bannt. Das ist dafür gut, da so auf die netten Funktionen zurückgegriffen werden kann die Fail2Ban bietet (bantime, notfiy, …) ohne selber Regeln Iptables zu übergeben. Hierfür gibt es jedoch einen Patch und kann dieses dann ganz gut. Vielleicht kommt dieses auch mal per default rein.
    Zudem habe ich meine Mail-Benachrichtigungen mit GeoIP verbunden. So bekomme ich neben der IP-Adresse auch das Herkunftsland der Adresse. Auch wenn diese Adressen nicht immer real sind, ist es sehr interessant.

Schreibe einen Kommentar

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