Da fail2ban nur die Firewall des betroffenen Servers selber pflegt, ich aber die IPs schon auf der ersten Firewall sperren möchte, musste ich mir selber etwas bauen.
Wenn Du Dir mal die Konfigurationsdateien unterhalb von /etc/fail2ban/action.d/ ansiehst findest Du immer folgende Zeilen:
actionstart = <iptables> -N f2b-<name>
actionstop = …
actioncheck = …
actionban = …
actionunban = …
Dahinter stehen Befehle mit Variablen. Da könnte also auch
actionstart = ssh -i /foo/bar/f2b.key f2b@firewall <iptables> -N f2b-<name>
stehen. Du musst da gar nicht so viel selbst bauen:
Rezept:
-
/etc/fail2ban/jail.confnachjail.localkopieren und diese ändern. (Damit ein Update die Änderungen nicht überschreibt.) -
in
/etc/fail2ban/jail.localalle banactions in "banaction_allports" abändern. -
/etc/fail2ban/action.d/iptables-allports.confnachiptables-allports.localkopieren, bei den den o.g. Punkten einen kleinen ssh-Befehl notieren welcher mittels eines geeigneten Benutzers, einer Schlüsseldatei ohne Passwort und einem geeigneten entfernten Benutzer (also einem, der iptables aufrufen und ausführen kann (setfacl, suid-Bit, ...) auf dem Server die Blockierung setzt.
Wenn Du statt iptables eine andere Firewall verwendest wirst Du mit dem gleichen Vorgehen bei ipfw.conf oder firewallcmd-*.conf, ipfilter.conf nfttables-*.conf und so weiter glücklich.
Das Logfile enthält durchschnittlich ca. 1.000.000 Einträge
Wie ich schon schrieb. Logrotate hilft hier gegen
dauert weniger als 1 Sekunde
denn das "weniger als" klingt für mich nach "zu lange".