![Persistenz der IPtables-Kettennummer – wie kann ich die 1. Regel oben behalten?](https://rvso.com/image/1646009/Persistenz%20der%20IPtables-Kettennummer%20%E2%80%93%20wie%20kann%20ich%20die%201.%20Regel%20oben%20behalten%3F.png)
Zusammenfassung
Ich versuche herauszufinden, wie ich eine Regel über einer Kette in IPtables behalte. Ich möchte meine benutzerdefinierte Kette (als Regel) über der INPUT-Kette behalten, also als erste Regel in der Kette.
Aufstellen
- benutzerdefinierte Kette (die ich über der INPUT-Kette behalten möchte)
- fail2ban, das Ketten basierend auf dem Status von Sperren generiert (ich glaube, erstellt und entfernt)
Aktuelles Verhalten:
Beim Einrichten meiner benutzerdefinierten Kette kann ich sie als Regel Nummer 1 festlegen. Im Laufe der Zeit wird die benutzerdefinierte Kette jedoch durch Änderungen in fail2ban in der INPUT-Kette nach unten verschoben.
Ich danke Ihnen für Ihre Hilfe!Es tut mir leid, wenn dies bereits beantwortet wurde. Ich konnte es in den vorgeschlagenen Fragen leider nicht finden.
Antwort1
Fail2ban wegenDasZeile (zum Beispiel in iptables-multiport
) fügt die Regel an der ersten Stelle der INPUT
Kette hinzu, die normalerweise in diese Zeile interpoliert würde (z. B. einfaches SSHD-Jail, IPv4 usw.):
# <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
Sie haben also zwei Möglichkeiten, dies zu tun:
- entweder erstellen Sie eine weitere Kette (z. B.
F2B
), fügen sie nach Ihrer ersten Kette in INPUT hinzu und geben ihren Namen in der fail2ban-Konfiguration anstelle von INPUT an. Erstellen Sie beispielsweise eine neue/etc/fail2ban/action.d/iptables-common.localund überschreibe eschain
mit deinem eigenen für alle Fail2Ban-Ketten:
[Init]
chain = F2B
oder geben Sie seinen Namen an jail.local
, beispielsweise im Abschnitt „Standard“ oder pro Jail:
[DEFAULT]
banaction = %(known/banaction)s[chain=F2B]
banaction_allports = %(known/banaction_allports)s[chain=F2B]
- Geben Sie in der Kette eine eigene Regelnummer an (1 ist Standard). Anstatt die Kette auf festzulegen
F2B
, verwenden Sie siechain = INPUT 2
in der lokalen gemeinsamen Konfiguration oder wie hier injail.local
:
[DEFAULT]
banaction = %(known/banaction)s[chain="INPUT 2"]
banaction_allports = %(known/banaction_allports)s[chain="INPUT 2"]
In diesem Fall interpoliert fail2ban die oben erwähnte Hinzufügungsregel (für SSHD-Jail) wie folgt:
- iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
+ iptables -I INPUT 2 -p tcp -m multiport --dports ssh -j f2b-sshd
Stellen Sie in beiden Fällen einfach sicher (z. B. durch Verwendung von Dienstabhängigkeiten), dass die Kette F2B
und Ihre eigene Kette bereits zu iptables hinzugefügt wurden (fail2ban wird gestartet, nachdem Ihre Änderung bereits vorgenommen wurde).