Persistenz der IPtables-Kettennummer – wie kann ich die 1. Regel oben behalten?

Persistenz der IPtables-Kettennummer – wie kann ich die 1. Regel oben behalten?

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 INPUTKette 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:

  1. 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 es chainmit 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]
  1. Geben Sie in der Kette eine eigene Regelnummer an (1 ist Standard). Anstatt die Kette auf festzulegen F2B, verwenden Sie sie chain = INPUT 2in der lokalen gemeinsamen Konfiguration oder wie hier in jail.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 F2Bund Ihre eigene Kette bereits zu iptables hinzugefügt wurden (fail2ban wird gestartet, nachdem Ihre Änderung bereits vorgenommen wurde).

verwandte Informationen