Reihenfolge Iptables Regeln mit Fail2Ban

  • Diese Regel soll an 1. Stelle dert INPUT Chain stehen:

    iptables -I INPUT 1 -m set --match-set blacklist src -j DROP

    Wenn ich iptables -L INPUT -v --line-numbers mache, sehe ich, dass sie zwar geladen wird, aber irgendwo an Stelle x, nach div. Fail2Ban Regeln.



    Chain INPUT (policy DROP 0 packets, 0 bytes)

    num pkts bytes target prot opt in out source destination

    1 110 14584 f2b-nginx-nowordpress tcp -- any any anywhere anywhere

    2 46 4623 f2b-roundcube tcp -- any any anywhere anywhere multiport dports http,https

    3 46 4623 f2b-nextcloud tcp -- any any anywhere anywhere multiport dports http,https

    4 110 14584 f2b-portscan-block tcp -- any any anywhere anywhere

    5 46 4623 f2b-nginx-noproxy tcp -- any any anywhere anywhere multiport dports http,https

    6 46 4623 f2b-nginx-badbots tcp -- any any anywhere anywhere multiport dports http,https

    7 46 4623 f2b-webexploits tcp -- any any anywhere anywhere multiport dports http,https

    8 9 364 DROP all -- any any anywhere anywhere match-set blacklist src

    9 38 3056 f2b-sshd tcp -- any any anywhere anywhere multiport dports xy

    10 2985 254K ufw-before-logging-input all -- any any anywhere anywhere

    11 2985 254K ufw-before-input all -- any any anywhere anywhere

    12 4 212 ufw-after-input all -- any any anywhere anywhere

    13 3 160 ufw-after-logging-input all -- any any anywhere anywhere

    14 3 160 ufw-reject-input all -- any any anywhere anywhere

    15 3 160 ufw-track-input all -- any any anywhere anywhere


    Um zu verhindern, dass die F2B Regeln an 1. Stelle stehen, habe ich noch das hier ausgeführt.



    tee << EOF /etc/fail2ban/action.d/iptables-multiport.local

    [Definition]

    actionstart = <iptables> -N f2b-<name>

    <iptables> -A f2b-<name> -j <returntype>

    <iptables> -I <chain> 2 -p <protocol> -m multiport --dports <port> -j f2b-<name>

    EOF


    Leider stehen aber immer noch einige F2B Regeln vor meiner gewünschten Regel.

    Gebe ich

    iptables -I INPUT 1 -m set --match-set blacklist src -j DROP

    losgelöst ein, steht die Regel sofort an 1. Stelle, wird aber natürlich nach einem Reboot wieder verworfen.


    Habt Ihr hier noch einen Tipp?


    Danke

  • bei IPtables gilt grundsätzlich, dass

    -A ... die Regel an die bestehenden anhängt

    -I ... die Regel den bestehenden voranstellt

    und ein -D ... löscht/entfernt eine Regel


    d.h. hast Du mehrere Zeilen mit -I, dann ist die letzte Regel ganz oben;

    und es würde mich wundern, wenn das nicht persistent zum Einrichten ginge;

    wenn nicht schmeiß die Linux Distri über'n Jordan; :D

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

    2 Mal editiert, zuletzt von mainziman ()

  • wie Du IPtables persistent hinbringst, hängt von der verwendeten Distri ab,

    bei meiner verwendeten sind die IPtables bzw. IP6tables automatisch persistent, alles andere wäre ja doch Strange;

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • Ich benutze Ubuntu.


    Irgendwie ignorieren einige aber nicht alle meiner F2B Regeln den Befehl sich nach der von mir benötigten Regel einzusortieren. Wenn man herausfinden würde warum, dann wäre das erledigt. Aber hierzu habe ich bisher nix gefunden.

  • Was bei mir funktioniert (zwar nicht mit ufw aber halt mit eigenen Regeln die vor den f2b-Regeln greifen soll):

    f2b nicht direkt in die INPUT chain eintragen lassen sondern in eine eigene chain (z.B. "myf2b"), und in der INPUT dann an der richtigen Stelle (also am Ende wenn sie nach den anderen Regeln laufen soll) auf die myf2b-Chain verweisen.


    --> in /etc/fail2ban/actions.d eine Datei iptables-common.local anlegen mit zwei Zeilen:

    Code
    [Init]
    chain = myf2b