fail2ban greift irgendwie nicht

netshadow

New Member
Hi Leute, bin ein Neuer hier :D
Als erstes: Super Forum! Ich konnte hier schon einiges lernen und mitnehmen. Ich bin durch diesen genialen Thread auf euer Forum gestoßen :D

So, und nun zum Thema:
Ich habe gestern fail2ban auf meinem Server installiert. Es läuft zwar, aber es passiert einfach nichts (also kein Ban .. einfach nix!). Ich kann mich nach den festgelegten Fehlversuchen trotzdem noch über SSH, sowie FTP anmelden. Ich habe mal 60 Sekunden eingestellt um es zu testen. In der log von fail2ban steht, dass gebannt wurde (bei beidem):

Code:
2011-12-15 15:26:16,795 fail2ban.actions: WARNING [proftpd] Ban 91.xxx.xx.xxx
2011-12-15 15:27:17,002 fail2ban.actions: WARNING [proftpd] Unban 91.xxx.xx.xxx
2011-12-15 15:29:31,099 fail2ban.actions: WARNING [ssh] Ban 91.xxx.xx.xxx
2011-12-15 15:30:31,306 fail2ban.actions: WARNING [ssh] Unban 91.xxx.xx.xxx
Aber es klappt einfach nicht und ich kann trotzem innerhalb dieser Minute noch verbinden -.-'

iptables -L -n spuckt folgendes aus:

Code:
Chain fail2ban-proftpd (1 references)
target     prot opt source               destination
DROP       all  --  "meine IP"            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0
und
Code:
Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP       all  --  "meine IP"            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0
Das heißt doch eigtl. das es funktioniert, oder lieg ich da falsch? Aber anscheinend funktioniert es NICHT :confused:

In der action.d/iptables.conf steht folgendes:
Code:
actionban = iptables -I fail2ban-<name> 1 -s <ip> -m state --state NEW,ESTABLISHED,RELATED -j DROP

actionunban = iptables -D fail2ban-<name> -s <ip> -m state --state NEW,ESTABLISHED,RELATED -j DROP

Meine shell um IP-Tables zu starten:
Code:
#!/bin/sh
IPTABLES="/sbin/iptables"
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -s "SERVER-IP" -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p icmp -m icmp --icmp-type 5 -j DROP
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport "SSH-PORT" -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport "FTP-PORT":"FTP-PORT" -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL NONE -j DROP
Könnte sich das mal anschauen ob ich irgendwo einen Fehler gemacht habe? Erkenne nämlich gerade keinen. Wenn noch weitere Infos benötigt werden, stell ich sie gern zur Verfügung.
Ich habe auch schon versucht die banaction auf "route" zu stellen, aber dann kackt die Verbindung für eine Minute ab sobald ich fail2ban neu gestartet hab^^

Server OS: Debian 5.0 Lenny

lg,
net
 
Last edited by a moderator:
Keine Ahnung wie fail2ban es macht, aber intuitiv würde ich folgendes zum Testen empfehlen:
am besten nach dieser Zeile
$IPTABLES -P FORWARD DROP
die Ban-Regel einfügen und testen.
Oder noch einfacher als allererste Regel...
Denn bei iptables muss man eine bestimmte Reihenfolge (von oben nach unten) einhalten, d.h. die Ban-Regel muss an der richtigen Stelle eingefügt werden...
 
MOD: Full-Quote entfernt!

Ja Deine Fail2Ban-Ketten sehen eigentlich gut aus, aber die erste Kette die beim Verbindungsaufbau durchlaufen wird ("INPUT") lässt jeglichen SSH und FTP Verbindungen zu ohne zuvor die Fail2Ban-Ketten anzuspringen.
Du solltest Dir genauer die Arbeitsweise von iptables anschauen (finale targets?!), denn Deine INPUT-Regeln wirken dabei irgendwie etwas "gepasted".
 
Last edited by a moderator:
Hallo und willkommen an Board!

iptables -L -n spuckt folgendes aus:
Bitte vollständig. Halbe Sachen bringen nichts.
Denn woher sollen wir anhand dieses Auszuges wissen, ob die fail2ban-Chains über die INPUT-Chain überhaupt angesprungen wird?
Genau, diese Info fehlt in dem Auszug.

Meine shell um IP-Tables zu starten:
Und wie oft wird das gestartet? Denn hier wird die INPUT-Chain gelöscht und damit fail2ban ins Handwerk gepfuscht.

huschi.
 
Back
Top