fail2ban läuft nicht richtig

tobiasl

New Member
Hallo, ich hoffe ich bin hier richtig und ihr könnt mir helfen.

Folgendes Problem:
Ich habe "versucht" einen neuen Filter zu erstellen, dieser greift aber nicht. Im fail2ban.log steht das die Regel gestartet wurde, es gibt keine Fehlermeldung. Das zu durchsuchende Logfile ist auch korrekt.

Den Filter habe ich mit fail2ban-regex getestet und dort ist scheinbar alles ok.

Weiß wirklich nicht warum es nicht geht. :-/

Ich hoffe Ihr könnt mir Helfen. Vielen Dank im Voraus!

Hier die von mir verwendete Regel:
Code:
[Definition]

# Option:  failregex
# Notes.:  Regexp to catch Apache dictionary attacks on Wordpress wp-login
# Values:  TEXT
#
failregex = <HOST>.*] \"POST http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}/wp-login.php
Und hier der Eintrag aus dem Log zur Regel:
Code:
62.109.29.114 - - [03/Jul/2014:18:42:02 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 200 4269 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
62.109.29.114 - - [03/Jul/2014:18:42:02 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 200 4269 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
62.109.29.114 - - [03/Jul/2014:18:42:03 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 403 2001 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
62.109.29.114 - - [03/Jul/2014:18:42:04 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 403 1898 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
62.109.29.114 - - [03/Jul/2014:18:42:04 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 403 1898 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
62.109.29.114 - - [03/Jul/2014:18:42:05 +0200] "POST http://domain.tld/wp-login.php/ HTTP/1.1" 403 1898 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.2) Gecko/2008091620 Firefox/3.0.2"
Und zum Schluss noch der Eintrag aus der jail.local:
Code:
#WP-Login
[apache-wp-login2]
enabled = true
action  = iptables[name=wplogin, port=http, protocol=tcp]
           sendmail-whois[name=wplogin, dest=root, sender=fail2ban@domain.tld]
filter = apache-wp-login2
logpath = /var/www/vhosts/*/logs/access_log
maxretry = 3
findtime = 900
bantime = 86400
 

GwenDragon

Registered User
dest und sender muss eine Mail mit kompletter FQDN sein.
Im Jail:
Statt
Code:
sendmail-whois[name=wplogin, dest=root, sender=fail2ban@domain.tld]
muss es
Code:
sendmail-whois[name=wplogin, dest=root@deinedomain.tld, sender=fail2ban@deinedomain.tld]
sein.

Ich bin sicher, deine Domain haben separate Logdateien und diese hat kein http://..... im URI drin!

Im Filter statt
Code:
failregex = <HOST>.*] \"POST http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}/wp-login.php
robuster
Code:
failregex = <HOST>.*] \"POST (http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3})?/wp-login.php
Bei mir geht das.
 

tobiasl

New Member
Ok, habe mich wohl zu früh gefreut.

Der Filter funktioniert super. Ich glaube fail2ban überwacht meine Logfiles nicht richtig. Wenn ich fail2ban neu starte, durchsucht er einmal die Logs und findet auch direkt etwas, sperrt die IP und verschickt ne Mail.

Alles was später passiert scheint nicht zu interessieren. Klingt für mich ein bisschen so als ob fail2ban nach dem Start wieder beendet wird oder so. Der Prozess "fail2ban-server" läuft aber...
 

GwenDragon

Registered User
Um zu überprüfen, ob alles korrekt läuft musst du mal in der SSH-Shell mit
tail -f /var/log/fail2ban.log
ansehen.
Dann mal ein paar "böse" Aktionen laufen lassen.
Dann siehst du doch ob was gesperrt wird.

oder du grepst mal:
zgrep " Ban " /var/log/fail2ban.log*
dann siehst du was so passiert.
 

tobiasl

New Member
Habe ich gemacht, es passiert leider nichts. Wenn ich nach den "bösen" Aktionen fail2ban neu starte, sperrt er die IPs und sende ne Mail. Aber ohne Neustart passiert gar nichts.
 

GwenDragon

Registered User
Welche Version von fail2ban auf welchem System verwendest du und was ist als backend (pyinotify, gamin, ???) in der fail2ban.conf eingestellt?
 

GwenDragon

Registered User
habe mich bei der Hitze vertan.
Muss natürlich in jail.conf und/oder jail.local sein.

Ist gamin oder pyinotify installiert?
 

GwenDragon

Registered User
Ich habe pyinotify und da klappt es auf Debian 7.5.

Brauchst du gamin noch woanders für oder magst du es deinstallieren und mal python-pyinotify installieren?
 

tobiasl

New Member
Sehr gut, noch mal Danke!

Du hattest den richtigen Riecher. Ich habe in der jail.local backend auf polling gestellt und damit geht es nun, super :)
 

Top