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.conf
nachjail.local
kopieren und diese ändern. (Damit ein Update die Änderungen nicht überschreibt.) -
in
/etc/fail2ban/jail.local
alle banactions in "banaction_allports" abändern. -
/etc/fail2ban/action.d/iptables-allports.conf
nachiptables-allports.local
kopieren, 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".