ubuntuusers.de

ufw und fail2ban mögen sich nicht

Status: Ungelöst | Ubuntu-Version: Ubuntu 21.04 (Hirsute Hippo)
Antworten |

shinji

Anmeldungsdatum:
30. Mai 2007

Beiträge: 226

Hi!

Ich kämpfe gerade ein wenig mit der ufw und fail2ban. Mein Problem ist, dass ich über Postfix seit Wochen hunderte/tausende Anfragen pro Tag aus dem Netzwerk 5.188.206.0/24 an Port 25 bekomme. Diese IP-Adressen werden dann immer zuverlässig von fail2ban für 48h gesperrt. Danach geht es aber wieder los.

Daher habe ich ganz naiv versucht, über die ufw das gesamte 24er Netz zu blocken. In der /etc/ufw/user.rules steht auch drin:

-A ufw-user-input -s 5.188.206.0/24 -j DROP

und "iptables -nvL|grep 5.188" liefert folgende Ausgabe:

    2   120 REJECT     all  --  *      *       5.188.206.163        0.0.0.0/0            reject-with icmp-port-unreachable
   12  1082 REJECT     all  --  *      *       5.188.206.162        0.0.0.0/0            reject-with icmp-port-unreachable
    2   120 REJECT     all  --  *      *       5.188.206.164        0.0.0.0/0            reject-with icmp-port-unreachable
   23  2024 REJECT     all  --  *      *       5.188.206.166        0.0.0.0/0            reject-with icmp-port-unreachable
   23 17166 REJECT     all  --  *      *       5.188.206.170        0.0.0.0/0            reject-with icmp-port-unreachable
   18  1020 REJECT     all  --  *      *       5.188.206.172        0.0.0.0/0            reject-with icmp-port-unreachable
   27  1884 REJECT     all  --  *      *       5.188.206.171        0.0.0.0/0            reject-with icmp-port-unreachable
    3   180 REJECT     all  --  *      *       5.188.206.173        0.0.0.0/0            reject-with icmp-port-unreachable
   55  3516 REJECT     all  --  *      *       5.188.206.165        0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 DROP       all  --  *      *       5.188.206.0/24       0.0.0.0/0

Leider bekomme ich immer noch jeden Tag dutzende Mails von fail2ban, dass wieder einer IP-Adresse aus dem Bereich 5.188.206.0/24 geblockt wurde. Heißt also, die Anfragen gehen trotz iptables immer noch bis zu postfix durch. ☹

May  3 20:06:58 mail postfix/postscreen[36365]: NOQUEUE: reject: RCPT from [5.188.206.246]:28352: 550 5.7.1 Service unavailable; client [5.188.206.246] blocked using bl.mailspike.net; from=<l5u0l68fxxac@mail-32h69.getresponse.com>, to=<mike@k...

Wo liegt mein Denkfehler?

danlinux

Anmeldungsdatum:
28. April 2021

Beiträge: Zähle...

Und wenn du per fail2ban dauerhaft sperrst?

/etc/fail2ban/jail.conf

# "bantime" is the number of seconds that a host is banned. bantime = -1

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

fail2ban wertet ja nur die Logfiles aus, kann also erst hinterher die Regeln anwenden. Wenn du generell blockieren willst, geht das bspw. mit

ip route add blackhole 5.188.206.0/24

fail2ban selbst kann auch auf das Blocken über die route umgestellt werden. Hilft dir vielleicht ein wenig (für mich war das leichter).

shinji

(Themenstarter)

Anmeldungsdatum:
30. Mai 2007

Beiträge: 226

Hi!

Ja, ich weiß. Sorry, der Beitrag ist etwas missverständlich geschrieben. Was ich sagen wollte ist, dass Fail2ban jeden Tag erneut die IP-Adressen blockiert, da meine IPTables Regel nicht funktioniert.

Habe aber herausgefunden, wieso das so ist. 😀 Legt man über die ufw per application Konfiguration diverse Freigaben an, in meinem Fall die Ports für Postfix, werden diese in die Datei /etc/ufw/user.rules eingetragen. Lege ich dann mit ufw eine weitere manuelle Regel an, landet diese auch in der user.rules.

Blöd ist dann nur, dass die über applications angelegten Regeln am Anfang stehen und die manuell hinzugefügten am Ende. Soll heißen, wenn am Anfang steht:

1
2
### tuple ### allow tcp 25 0.0.0.0/0 any 0.0.0.0/0 Postfix - in
-A ufw-user-input -p tcp --dport 25 -j ACCEPT -m comment --comment 'dapp_Postfix'

und am Ende

1
2
#deny any from 5.188.206.0/24
-A ufw-user-input -s 5.188.206.0/24 -j DROP

dann kann das nicht gehen. 😉 😉 Ich habe meine DROP Regel jetzt per Hand in die Datei /etc/ufw/before.rules eingetragen. Jetzt geht es. Statt wie bisher 100 "[Fail2Ban] postfix: banned..." Mails sind es jetzt nur noch maximal eine *freu*

ChickenLipsRfun2eat schrieb:

Hallo!

fail2ban wertet ja nur die Logfiles aus, kann also erst hinterher die Regeln anwenden.

shinji

(Themenstarter)

Anmeldungsdatum:
30. Mai 2007

Beiträge: 226

Das wäre schlecht, da oft auch IP-Adressen von GMX, DHL usw. auf diversen SPamlisten landen. Irgendwann würde ich dann garkeine Mails mehr bekommen 😀

danlinux schrieb:

Und wenn du per fail2ban dauerhaft sperrst?

/etc/fail2ban/jail.conf

# "bantime" is the number of seconds that a host is banned. bantime = -1

shinji

(Themenstarter)

Anmeldungsdatum:
30. Mai 2007

Beiträge: 226

Okay... ich nehme alles zurück und gebe auf.... Die UFW ist echt nicht für den Praxiseinsatz nutzbar... ☹

Meine before.rules:

1
2
3
4
5
6
7
8
9
[...]
# deny any from 5.188.206.0/24
-A ufw-before-input -s 5.188.206.0/24 -j DROP

# deny any from 91.191.209.0/24
-A ufw-before-input -s 91.191.209.0/24 -j DROP

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Ausgabe von "iptables -L |grep 91.191":

1
2
3
4
5
[...]
REJECT     all  --  91.191.209.124       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  91.191.209.123       anywhere             reject-with icmp-port-unreachable
REJECT     all  --  91.191.209.122       anywhere             reject-with icmp-port-unreachable
DROP       all  --  91.191.209.0/24      anywhere

Mails von fail2ban:

1
2
3
4
Hi,

The IP 91.191.209.150 has just been banned by Fail2Ban after
18 attempts against postfix.

Die IPTables Regeln der F2B Applikationen werden leider immer noch vor den "before.rules" ausgeführt. ☹

1
2
3
4
5
6
root@mail /home/user # iptables --list -n
Chain INPUT (policy DROP)
target     prot opt source               destination
f2b-postfix-sasl  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,465,587,143,993,110,995
f2b-postfix-rbl  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,465,587
f2b-postfix  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,465,587

1000 iptables Regeln später...

Chain ufw-before-input (1 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ufw-logging-deny  all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 3
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 11
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 12
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:67 dpt:68
ufw-not-local  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     udp  --  0.0.0.0/0            224.0.0.251          udp dpt:5353
ACCEPT     udp  --  0.0.0.0/0            239.255.255.250      udp dpt:1900
DROP       all  --  5.188.206.0/24       0.0.0.0/0
DROP       all  --  91.191.209.0/24      0.0.0.0/0

... "ufw-not-local"?! Wieso?! ☹ ☹ ☹

Antworten |