Fail2Ban Richtig versucht, IP zu sperren, aber IP wird nicht gesperrt - iptables-Kette existiert, funktioniert aber nicht

12

Läuft unter Ubuntu 14.04 Server.

Daher habe ich fail2ban richtig konfiguriert, /var/log/auth.logum SSH-Anmeldeversuche zu verarbeiten .

Bei 3 fehlgeschlagenen Versuchen wird dies im fail2ban-Protokoll angezeigt:

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L zeigt diese Kette:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

Von dieser IP aus kann ich mich dennoch ohne Probleme über SSH anmelden.

Die gleiche Geschichte gilt für alle meine fail2ban-Gefängnisse. Apache zum Beispiel kann ich sehen, dass fail2ban das Protokoll korrekt erkennt und behauptet, dass es eine IP verbietet. Die IP endet in einer iptables-Kette, aber die IP wird nicht abgelehnt.

Ich habe das Gefühl, dass sich SSH in diesen Fällen nicht am Standardport befindet. Es befindet sich an einem anderen Port.

Wenn ich also die SSH-Gefängnisregel zwinge, den neuen Port zu verwenden:

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

Dann sehe ich diesen Fehler:

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

Wenn ich es so lasse

 port = ssh

Dann wird es richtig in iptables aufgenommen, aber die Kette funktioniert nicht für den REJECTVerkehr (wie oben erwähnt).

AKTUALISIEREN:

Wenn ich mich ändere:

banaction = iptables-multiport

Zu:

banaction = iptables-allports

Dann scheint es zu funktionieren. Welche Auswirkungen hat diese Änderung?

Es scheint, dass das Verursachen fail2baneiner IP aufgrund von SSH allportsdamit JEDEN Port für diese IP gesperrt hat. Wurde absichtlich gesperrt, weil die wiederholte SSH-Anmeldung fehlschlägt. Wurde auch bei jedem anderen Dienst verboten.

Halsafar
quelle
Ich bin mit fail2ban nie auf dieses Problem gestoßen. Wenn Sie wieder den einzelnen Port blockieren möchten, können Sie diese Lösung ausprobieren: oschgan.com/drupal/index.php?q=node/52 . Alternativ kann fail2ban andere Mechanismen wie hosts.deny oder null Routen verwenden, wenn iptables Kummer verursacht.
Digitaladdictions
/etc/fail2ban/actions.dZum Auschecken gibt es eine Datei, die jeder dieser Verbotsaktionen entspricht. Im Inneren sehen Sie, mit welchen Befehlen fail2ban gesperrt, aufgehoben, gestartet und gestoppt wird. Sie können versuchen, die actionban-Befehle manuell auszuführen und zu sehen, was passiert. I
Michael
1
Was ist noch in Ihren iptables? Bitte geben Sie die vollständige Ausgabe von an iptables -L -n -v(redigieren Sie IP-Adressen, falls erforderlich). Beachten Sie insbesondere die -v, die Byte- und Paketzähler für jede Kette und Regel angibt, um das Debuggen zu vereinfachen.
Jplitza
Ich hatte genau das gleiche Problem. Fail2Ban verbietet IP, ich kann die Adresse in der fail2ban-Kette sehen, ich habe die E-Mail erhalten, die gesperrt ist, aber die IP-Adresse hat immer noch Zugriff. Das Ändern der Banaktion in Allports hat funktioniert, aber keine Ahnung warum!
Ergec

Antworten:

2

Die fail2ban-Ketten sind nicht korrekt mit Ihren INPUT- und OUTPUT-Ketten verknüpft. Bitte bearbeiten Sie Ihre Frage und geben Sie Folgendes aus:

iptables -n -L INPUT
iptables -n -L OUTPUT

und alle fail2ban-Ketten auch, und ich werde in der Lage sein, genauer zu sein.

Marco
quelle
0
INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
Zareh Kasparian
quelle