Fail2Ban sperrt nicht



Perry

New Member
Moin,

wie der Titel schon sagt geht es um das Tool Fail2ban.

Zuerst ein paar Infos zu meinem System.

Hardware:
Intel Core i5 (4*2,66ghz)
6GB DDR3- Ram

Software:
Debian lenny mit Plesk als Admin Panel auf dem aktuellen apt-get upgrade stand

nachdem ich heute Fail2ban via apt-get install fail2ban installiert habe wollte ich mit der Standard konfiguration die Funktionstüchtigkeit testen.

Also 5mal falsch eingeloggt, gefreut als mir Fail2Ban die korreckte E-Mail mit log auszügen, whois der IP und der IP gesendet hat.

Dann habe ich vergessen meinen Router zu reconecten, konnte mich dann aber erstaunlicherweise immernoch auf meinem Server einloggen.

Die fail2ban.log liefert folgendes zu Tage:
Code:
2010-05-26 15:16:31,436 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.3
2010-05-26 15:16:31,437 fail2ban.jail   : INFO   Creating new jail 'ssh'
2010-05-26 15:16:31,437 fail2ban.jail   : INFO   Jail 'ssh' uses poller
2010-05-26 15:16:31,447 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2010-05-26 15:16:31,447 fail2ban.filter : INFO   Set maxRetry = 3
2010-05-26 15:16:31,448 fail2ban.filter : INFO   Set findtime = 600
2010-05-26 15:16:31,448 fail2ban.actions: INFO   Set banTime = 600
2010-05-26 15:16:31,511 fail2ban.jail   : INFO   Jail 'ssh' started
2010-05-26 15:16:31,534 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 100
Bei einem "Ban" kommt dann noch folgendes hinzu:
Code:
2010-05-26 15:17:23,635 fail2ban.actions: WARNING [ssh] Ban 217.232.47.176
2010-05-26 15:17:23,637 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q fail2ban-ssh returned 100
2010-05-26 15:17:23,638 fail2ban.actions.action: ERROR  Invariant check failed. Trying to restore a sane environment
2010-05-26 15:17:23,670 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 100
2010-05-26 15:17:23,672 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q fail2ban-ssh returned 100
2010-05-26 15:17:23,672 fail2ban.actions.action: CRITICAL Unable to restore environment
Sprich es wird nix gebannt. Ein extra FirewallScript oder ähnliches habe ich nicht am laufen (von der Standard Plesk Firewall abgesehen).

Ich habe meine beiden conf dateien als .txt anhang angehängt, da es ansonsten etwas voll geworden wäre =)

Sollte noch etwas fehlen reiche ich es natürlich nach.

Im vorraus vielen dank für die Hilfe.

MfG

PS: Hier noch die Ausgabe von Iptables -L
Code:
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
REJECT     tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN reject-with tcp-reset
DROP       all  --  anywhere             anywhere            state INVALID
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8443
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8880
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:submission
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssmtp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3s
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap2
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imaps
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:poppassd
ACCEPT     tcp  --  91-143-83-148.blue.kundencontroller.de  anywhere            tcp dpt:mysql
DROP       tcp  --  anywhere             anywhere            tcp dpt:mysql
DROP       tcp  --  anywhere             anywhere            tcp dpt:postgresql
DROP       tcp  --  anywhere             anywhere            tcp dpt:9008
DROP       tcp  --  anywhere             anywhere            tcp dpt:9080
DROP       udp  --  anywhere             anywhere            udp dpt:netbios-ns
DROP       udp  --  anywhere             anywhere            udp dpt:netbios-dgm
DROP       tcp  --  anywhere             anywhere            tcp dpt:netbios-ssn
DROP       tcp  --  anywhere             anywhere            tcp dpt:microsoft-ds
DROP       udp  --  anywhere             anywhere            udp dpt:openvpn
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
DROP       icmp --  anywhere             anywhere            icmp type 8 code 0
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
REJECT     tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN reject-with tcp-reset
DROP       all  --  anywhere             anywhere            state INVALID
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
REJECT     tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN reject-with tcp-reset
DROP       all  --  anywhere             anywhere            state INVALID
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain fail2ban-ssh (0 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
 

Attachments

Last edited by a moderator:
Fehlermeldungen stehen ja im Logfile.
Inklusive vollem iptables-Befehl.
Teste die auf der Console.

Kleiner Verdacht:
iptables liegt nicht im PATH des fail2ban-Environments.

huschi.
 
Die Eingabe der beidern Iptables regeln bringt folgende Ausgabe
Code:
# iptables -A fail2ban-ssh -j RETURN
# iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh returned 100
Bad argument `returned'
Try `iptables -h' or 'iptables --help' for more information.

Leider fange ich grade erst an mich in iptables einzulesen, sodass ich damit jetzt nicht wirklich weiter weis.

Im vorraus danke
&
MfG
 
Nicht nur mit iptables, oder?
Denn "returned 100" gehört zur Fehlermeldung und nicht zur Kommandozeile.

huschi.
 
Nicht nur mit iptables, oder?
jain ^^
Code:
# iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh
iptables: No chain/target/match by that name

Ich habe jetzt mal in der jail.local

banaction von iptables-multiport auf iptables umgestellt.

Nun zeigen die Log Files keine Fehler mehr an, allerdings wird auch nix mehr gebannt.
Code:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
Zeigt allerdings gute 2600 funde an.

MfG
 
iptables: No chain/target/match by that name
Dann schau per "iptables -nL" nach.

banaction von iptables-multiport auf iptables umgestellt.
Auch nun sollte man wieder auf "iptables -nL" schauen.

Zeigt allerdings gute 2600 funde an.
Wieviele liegen davon auch zwischen dem letzten fail2ban-Restart und dem Zeitpunkt wo Du es getestet hast?
Der Großteil liegt jedenfalls in der Vergangenheit.

huschi.
 
Da gibt es doch die Beispielactions. Sieh die mal die iptables.conf an, da ist alles drin was du brauchst und was du auch so angeben musst.
Ich tippe darauf, dass du folgende Zeilen nicht benutzt:

Code:
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>

Wenn du das nicht angibst wird die chain nicht erstellt. Iptables erstellt dann zwar die Regel, die IP-Pakete werden aber über die default chain geroutet daher greift die Regel dann nicht.
 
Danke für eure Hilfe das Problem lag aber an einer anderen Stelle.

Anscheinend hatte die Logrotate im Image meines Hosters ein Hau weg.

Irgendwann wurde einfach nix mehr in die auth.log geschrieben, weswegen Fail2ban dann natürlich auch nix mehr finden konnte -.-

Abhilfe hatt
Code:
apt-get purge syslog-ng
apt-get install syslog-ng

gebracht. Fail2ban läuft jetzt mit banaction = iptables wunderbar und speert auch.

MfG
 
Es sind immer die Anderen schuld.

naja wenn ich nach ner Neuinstallation ohne das ich mich per ssh eingeloggt hätte die Fehlermeldung bekomme, dass die Logrotation vom Cronjob nicht ausgeführt werden kann gehe ich nunmal nicht von einem fehler meinerseits aus :P

Aber ich denke nicht das die Disskusion noch hier in das Thema passt/gehört :P

MfG
 
gehe ich nunmal nicht von einem fehler meinerseits aus :P
Fast alle Anbieter sagen in ihren AGBs, dass für den Server letztendlich nur einer Zuständig ist: der Mieter.
Du hast oben selbst zugegeben, dass es mit Deinen Linux-Kenntnissen nicht zum Besten steht.
Außerdem hast Du den Syslog neu installiert und nicht Logrotate. Das passt nicht zu Deiner angegebenen Fehler-Diagnose.
Evtl. hätte auch ein Syslog-Restart gereicht.

Zusammengefasst: Einfach dem Hoster den Fehler für Deine Unwissenheit in die Schuhe zu schieben kann hier nicht unkommentiert bleiben.

Aber ich denke nicht das die Disskusion noch hier in das Thema passt/gehört :P
Dann fang keine Anti-Propaganda in einem öffentlichen Forum an.
Denn wer haftet denn hier für diese Aussage? Genau: im Zweifelsfall der Foren-Betreiber.

huschi.
 
Das passt nicht zu Deiner angegebenen Fehler-Diagnose.
natürlich hab ich in nem unpassendem Thema keine umfassende fehlerdiagnose abgegeben.

Aber egal. Für mich ist das Thema grade in bezug auf Fail2Ban erledigt und damit kann hier dicht gemacht werden.

Nochmals danke für die Hilfestellungen.

MfG
 
Back
Top